bearlibterminal-0.1.0.0: bearlibterminal.cabal
cabal-version: 3.6
name: bearlibterminal
version: 0.1.0.0
synopsis: Low-level Haskell bindings to the BearLibTerminal graphics library.
description:
A Haskell wrapper for a graphics library for making roguelike-style games.
From the [BearLibTerminal documentation](http://foo.wyrd.name/en:bearlibterminal):
BearLibTerminal is a library that creates a terminal-like window facilitating flexible textual output and uncomplicated input processing.
A lot of roguelike games intentionally use aesthetic textual or pseudographic visual style. However, native output via the command line
interface usually has a few annoying shortcomings such as low speed or palette and font restrictions.
Using an extended character set (several languages at once or complicated pseudographics) may also be tricky. BearLibTerminal solves
that by providing its own window with a grid of character cells and simple yet powerful API for configuration and textual output.
homepage: https://github.com/PPKFS/bearlibterminal-hs
bug-reports: https://github.com/PPKFS/bearlibterminal-hs/issues
license: MIT
author: Avery
maintainer: Avery <ppkfs@outlook.com>
copyright: 2024-2025 Avery
category: Game Development
build-type: Simple
tested-with: GHC == 9.8.2
source-repository head
type: git
location: https://github.com/PPKFS/bearlibterminal-hs.git
common common-options
build-depends:
base >= 4.17.2 && < 5
, text >= 2.1.1 && < 3
, bytestring >= 0.12.1 && < 2
, mtl >= 2.3.1 && < 3
ghc-options:
-Wall -Wcompat -Widentities -Wredundant-constraints
-Wno-unused-packages -Wno-deprecations -fhide-source-paths
-Wno-unused-top-binds -Wmissing-deriving-strategies
default-language: GHC2021
default-extensions:
DerivingStrategies
OverloadedStrings
MultiWayIf
BlockArguments
LambdaCase
library
import: common-options
hs-source-dirs: src
exposed-modules:
BearLibTerminal
BearLibTerminal.Raw
BearLibTerminal.Keycodes
BearLibTerminal.Terminal.CString
BearLibTerminal.Terminal.Color
BearLibTerminal.Terminal.Print
BearLibTerminal.Terminal.Set
BearLibTerminal.Terminal.String
extra-libraries: stdc++ BearLibTerminal
include-dirs:
cbits
includes:
cbits/BearLibTerminal.h
cbits/BearLibTerminalExtras.h
install-includes:
cbits/BearLibTerminal.h
cbits/BearLibTerminalExtras.h
executable omni
import: common-options
build-depends:
bearlibterminal >= 0.1.0.0 && <= 0.2.0.0,
containers >= 0.6.8 && < 1,
formatting >= 7.2.0 && < 8,
time >= 1.12.2 && < 2,
random >= 1.3.0 && < 2,
vector >= 0.13.2 && < 1,
word8 >= 0.1.3 && < 1,
hs-source-dirs: omni
main-is: Main.hs
other-modules:
Omni.BasicOutput
Omni.DefaultFont
Omni.Tilesets
Omni.ManualCellsize