-- Initial hanabi-dealer.cabal generated by cabal init. For further -- documentation, see http://haskell.org/cabal/users-guide/ -- The name of the package. name: hanabi-dealer -- The package version. See the Haskell package versioning policy (PVP) -- for standards guiding when and how versions should be incremented. -- https://wiki.haskell.org/Package_versioning_policy -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.6.0.0 -- A short (one-line) description of the package. synopsis: Hanabi card game -- A longer description of the package. -- description: -- URL for the project homepage or repository. homepage: http://nautilus.cs.miyazaki-u.ac.jp/~skata/Sontakki/ -- The license under which the package is released. license: BSD3 -- The file containing the license text. license-file: LICENSE -- The package author(s). author: Susumu Katayama -- An email address to which users can send suggestions, bug reports, and -- patches. maintainer: Susumu Katayama -- A copyright notice. -- copyright: category: Game build-type: Simple -- Extra files to be distributed with the package, such as examples or a -- README. extra-source-files: ChangeLog.md -- , examples/SimpleStrategy.hs -- This is moved to Game.Hanabi.Strategies.SimpleStrategy -- Constraint on the version of Cabal needed to build this package. cabal-version: >=1.10 source-repository head type: darcs location: https://hub.darcs.net/susumu/hanabi-dealer Flag server Description: Build the server program and library in addition to the minimal library. Default: False Flag SNAP Description: Use Snap instead of runServer. Default: False Flag WARP Description: Use Warp instead of runServer. Default: True FLAG TFRANDOM Description: Use tf-random instead of random. Default: True FLAG official Description: The client connects to the official server URI instead of localhost. (NB: Currently the official server is behind our firewall and is being tested internally.) Default: False FLAG TH Description: Use template-haskell just for obtaining the compilation time. Default: True Flag jsaddle -- Description: Build the client with JSaddle even when compiling with GHC. -- (Package miso must have been built with --flags="jsaddle".) -- Default: False -- Flag all Description: Quickbuild all-in-one server, using JSaddle. (Package miso must have been built with --flags="jsaddle".) Default: False library if flag(jsaddle) buildable: False else -- Modules exported by the library. exposed-modules: Game.Hanabi -- Other library packages from which modules are imported. build-depends: base >=4.8 && <4.14, containers >=0.5, random >=1.1 -- Modules included in this library but not exported. -- other-modules: -- LANGUAGE extensions used by modules in this package. other-extensions: MultiParamTypeClasses, FlexibleInstances, Safe -- Directories containing source files. -- hs-source-dirs: -- Base language which the package is written in. default-language: Haskell2010 if impl(ghcjs) || flag(server) -- || flag(jsaddle) exposed-modules: Game.Hanabi.VersionInfo other-modules: Game.Hanabi.Msg -- cpp-options: -DCABAL -- -DCABAL is used for detecting the version of hanabi-dealer, which is impossible when building as the library. if flag(TH) build-depends: template-haskell if !impl(ghcjs) && flag(server) ghc-options: -O2 -- Not sure if -O2 is worthy, but this should be OK because the server is not built by default. exposed-modules: Game.Hanabi.Backend build-depends: websockets >=0.12 && <0.13, network >=2.6 && <3.2, hashable >=1.3, time >=1.6 && <1.9, text >=1.2, utf8-string if flag(TFRANDOM) build-depends: tf-random cpp-options: -DTFRANDOM if flag(SNAP) build-depends: unix >=2.7 && <2.8, websockets-snap >=0.10 && <0.11, snap-server >=1.1 && <1.2, abstract-par >=0.3 && <0.4, monad-par >=0.3 && <0.4 cpp-options: -DSNAP else if flag(WARP) build-depends: wai-websockets, warp, wai, http-types cpp-options: -DWARP if impl(ghcjs) -- || flag(jsaddle) exposed-modules: Game.Hanabi.Client ghcjs-options: -dedupe -O build-depends: base >=4.12 && <4.13, jsaddle-warp >=0.9, aeson, miso, time >=1.6 if flag(official) cpp-options: -DURI="ws://133.54.228.39:8720" -- if flag(jsaddle) -- build-depends: warp, wai, websockets executable hanabiq main-is: all.hs other-modules: Game.Hanabi, Game.Hanabi.Msg, Game.Hanabi.Backend, Game.Hanabi.Client, Game.Hanabi.Strategies.SimpleStrategy -- if !flag(all) if !flag(jsaddle) buildable: False else ghc-options: -O0 -rtsopts cpp-options: -DURI="ws://localhost:8080/ws/" -DWARP build-depends: base >=4.12 && <4.13, containers >=0.5, random >=1.1, jsaddle-warp >=0.9, aeson, miso, websockets >=0.12 && <0.13, network >=2.6 && <3.2, hashable >=1.3, time >=1.6 && <1.9, text >=1.2, utf8-string, wai-websockets, warp, wai, http-types if flag(TFRANDOM) build-depends: tf-random cpp-options: -DTFRANDOM default-language: Haskell2010 executable hanabib main-is: server.hs other-modules: Game.Hanabi.Strategies.SimpleStrategy if impl(ghcjs) || !flag(server) buildable: False else ghc-options: -O2 -threaded -Wall -rtsopts -- Not sure if -O2 is worthy, but this should be OK because the server is not built by default. cpp-options: -DCABAL build-depends: base >=4.8 && <4.14, containers >=0.5, random >=1.1, websockets >=0.12 && <0.13, network >=2.6 && <3.2, hashable >=1.3, time >=1.6 && <1.9, text >=1.2, utf8-string, hanabi-dealer default-language: Haskell2010 if flag(TH) build-depends: template-haskell if flag(TFRANDOM) build-depends: tf-random cpp-options: -DTFRANDOM if flag(SNAP) build-depends: unix >=2.7 && <2.8, websockets-snap >=0.10 && <0.11, snap-server >=1.1 && <1.2, abstract-par >=0.3 && <0.4, monad-par >=0.3 && <0.4 cpp-options: -DSNAP else if flag(WARP) build-depends: wai-websockets, warp, wai, http-types cpp-options: -DWARP executable hanabif main-is: client.hs other-modules: Game.Hanabi.Strategies.SimpleStrategy if !impl(ghcjs) -- && !flag(jsaddle) buildable: False else ghcjs-options: -dedupe -O cpp-options: -DCABAL build-depends: base >=4.12 && <4.13, containers >=0.5, random >=1.1, jsaddle-warp >=0.9, aeson, miso, time >=1.6, hanabi-dealer default-language: Haskell2010 if flag(official) cpp-options: -DURI="ws://133.54.228.39:8720" if flag(TH) build-depends: template-haskell -- if flag(jsaddle) -- build-depends: warp, wai, websockets