packages feed

fearOfView-0.2.0.0: fearOfView.cabal

cabal-version:      2.2
name:               fearOfView
version:            0.2.0.0
license:            AGPL-3.0-or-later
license-file:       COPYING
maintainer:         mbays@sdf.org
author:             mbays
homepage:           https://mbays.sdf.org/fov/
synopsis:           A terminal broughlike game about manipulating vision
description:
    A constrained roguelike ("broughlike") game played on a 5x5 grid of cells
    which are regenerated when out of view. Can be compiled for play on a 
    genuine colour terminal using ncurses, or in graphics mode using 
    bearlibterminal.
category:           Game
extra-doc-files: CHANGELOG.md README.md fov-shot.png
data-files: VeraMoBd.ttf

source-repository head
    type: git
    location: https://thegonz.net/~fov/fearOfView.git

flag bear
    description: Build bearlibterminal UI
    -- This library doesn't use pkgconfig, so if the flag defaulted to True,
    -- cabal would try but fail to link on systems without the library.
    default: False

flag curses
    description: Build curses UI

flag debug
    description: Enable debug keys
    default:     False
    manual:      True

executable fearOfView
    main-is:           Main.hs
    other-modules:
        AStar
        Board
        BoardConf
        Command
        CommonUI
        Creature
        CPos
        CStyle
        Equipment
        Exit
        Inventory
        Fov
        Game
        GameName
        Geometry
        Group
        Highscore
        HighscoreV1
        HighscoreFile
        Item
        KeyBindings
        Pos
        Power
        Rand
        RollFrom
        UIMonad
        Serialise
        TermDraw
        TermM
        Tutorial
        Wall
        Window

    default-language:  Haskell2010
    ghc-options:       -Wall
    build-depends:
        base >=4.3 && <5,
        mtl >=2.2 && <2.4,
        safe >=0.3.18 && <0.4,
        containers >=0.4 && <0.9,
        directory >=1.2.3.0 && <1.4,
        filepath >=1.0 && <2.1,
        safe-exceptions >=0.1 && <0.2,
        MonadRandom >=0.6 && <0.7,
        splitmix >=0.1 && <0.2,
        random >=1.3 && <1.4,
        serialise >=0.2 && <0.3,
        bytestring >=0.10 && <0.13,
        hashable >=1.4 && <1.6,
        unordered-containers >=0.2 && <0.3,
        astar >=0.3 && <0.4,
        filelock >=0.1 && <0.2

    if flag(debug)
        cpp-options: -DDEBUG

    if flag(curses)
        cpp-options: -DCURSES
        pkgconfig-depends: ncursesw
        other-modules:
            CursesUI
            CursesUIMInstance
        build-depends:
            hscurses >=1.4 && <1.6,

    if flag(bear)
        cpp-options: -DBEAR
        other-modules:
            BearUI
            BearUIMInstance
        build-depends:
            bearlibterminal >=0.1 && <0.2
        extra-libraries:
            BearLibTerminal

    if (!flag(curses) && !flag(bear))
        -- Require at least one of curses or bear
        buildable:     False
        build-depends: base <0