packages feed

vty-crossplatform-0.2.0.0: vty-crossplatform.cabal

cabal-version:      3.0
name:               vty-crossplatform
version:            0.2.0.0
synopsis:           Cross-platform support for Vty
description:        This package provides a generic interface for multiple
                    Vty platforms in one package so you don't have to
                    conditionally depend on them in your cabal file.
license:            BSD-3-Clause
license-file:       LICENSE
author:             Jonathan Daugherty
maintainer:         cygnus@foobox.com
copyright:          (c) 2023 Jonathan Daugherty
category:           Graphics
build-type:         Simple
extra-doc-files:    CHANGELOG.md

common warnings
    ghc-options: -Wall

Flag demos
    Description:     Build demonstration programs
    Default:         False

library
    import:           warnings
    hs-source-dirs:   src
    default-language: Haskell2010
    exposed-modules:  Graphics.Vty.CrossPlatform
                    , Graphics.Vty.CrossPlatform.Testing
    build-depends:    base >= 4.8 && < 5,
                      vty >= 6.0

    if os(darwin)
        build-depends:  vty-unix
    elif os(linux)
        build-depends:  vty-unix
    elif os(freebsd) || os(openbsd) || os(netbsd) || os(dragonfly)
        build-depends:  vty-unix
    elif os(solaris) || os(aix) || os(hpux) || os(irix) || os(hurd)
        build-depends:  vty-unix
    elif os(windows)
        build-depends:  vty-windows
    else
        build-depends:  unknown-vty-build-platform

executable vty-rogue-demo
    if !flag(demos)
        Buildable: False

    hs-source-dirs:      programs
    ghc-options:         -threaded -Wall -Wcompat -O2
    default-language:    Haskell2010
    default-extensions:  CPP
    main-is:             Rogue.hs
    build-depends:       base,
                         vty,
                         vty-crossplatform,
                         random,
                         mtl,
                         array

executable vty-event-echo
    if !flag(demos)
        Buildable: False

    hs-source-dirs:      programs
    ghc-options:         -threaded -Wall -Wcompat -O2
    default-language:    Haskell2010
    default-extensions:  CPP
    main-is:             EventEcho.hs
    build-depends:       base,
                         vty,
                         vty-crossplatform,
                         containers,
                         mtl

executable vty-mode-demo
    if !flag(demos)
        Buildable: False

    hs-source-dirs:      programs
    ghc-options:         -threaded -Wall -Wcompat -O2
    default-language:    Haskell2010
    default-extensions:  CPP
    main-is:             ModeDemo.hs
    build-depends:       base,
                         vty,
                         vty-crossplatform

executable vty-interactive-terminal-test
    if !flag(demos)
        Buildable: False

    hs-source-dirs:      programs
    ghc-options:         -threaded -Wall -Wcompat -O2
    default-language:    Haskell2010
    default-extensions:  CPP
    main-is:             interactive_terminal_test.hs
    build-depends:       base,
                         string-qq,
                         vty,
                         vty-crossplatform