hanabi-dealer-0.5.0.0: hanabi-dealer.cabal
-- 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.5.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 <skata@cs.miyazaki-u.ac.jp>
-- 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
library
-- 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(jsaddle) || flag(server)
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"
executable server
main-is: server.hs
other-modules: Game.Hanabi.Backend, Game.Hanabi.Msg, Game.Hanabi.VersionInfo, 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 client
main-is: client.hs
other-modules: Game.Hanabi.Msg, Game.Hanabi.Client, Game.Hanabi.VersionInfo, 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