packages feed

bearlibterminal-0.1.0.1: bearlibterminal.cabal

cabal-version: 3.6
name:          bearlibterminal
version:       0.1.0.1
synopsis:      Low-level Haskell bindings to the BearLibTerminal graphics library.
description:
  A Haskell wrapper for a graphics library for making roguelike-style games, with a terminal-like window facilitating flexible textual output and
  uncomplicated input processing. For more information and a design overview, please see the original documentation here: http://foo.wyrd.name/en:bearlibterminal.

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