packages feed

h2048-0.2.0.1: h2048.cabal

-- Initial h2048.cabal generated by cabal init.  For further documentation,
--  see http://haskell.org/cabal/users-guide/

name:                h2048
version:             0.2.0.1
synopsis:            a haskell implementation of Game 2048
description:

  A haskell implementation of Game 2048,
  based on <https://github.com/gabrielecirulli/2048>.

homepage:            https://github.com/Javran/h2048
license:             MIT
license-file:        LICENSE
author:              Javran Cheng
maintainer:          Javran.C@gmail.com
copyright:           Copyright (c) 2014 Javran Cheng
category:            Game
build-type:          Simple
extra-source-files:  README.md, CHANGELOG.md
cabal-version:       >=1.10

flag exe
  description:         build executables
  default:             True

flag vty
  description:         build UI written in vty-ui
  default:             True

library
  hs-source-dirs:      src
  exposed-modules:     Game.H2048.Core,
                       Game.H2048.Utils
  if flag(exe)
    exposed-modules:   Game.H2048.UI.Simple

  if flag(exe) && flag(vty)
    exposed-modules:
                       Game.H2048.UI.Vty

  build-depends:       base >= 4 && < 5,
                       transformers >= 0 && < 1,
                       mtl >= 2 && < 3,
                       MonadRandom >= 0 && < 1,
                       text >= 1 && < 2,
                       vty >= 5 && < 6,
                       vty-ui >= 1.8 && < 2

  ghc-options:         -Wall
  default-language:    Haskell2010

executable h2048-simple
  hs-source-dirs:      src
  main-is:             MainSimple.hs
  ghc-options:         -Wall
  build-depends:       base >= 4 && < 5,
                       transformers >= 0 && < 1,
                       mtl >= 2 && < 3,
                       MonadRandom >= 0 && < 1

  if ! flag(exe)
    buildable:         False

  default-language:    Haskell2010

executable h2048-vty
  hs-source-dirs:      src
  main-is:             MainVty.hs
  ghc-options:         -Wall -threaded
  build-depends:       base >= 4 && < 5,
                       text >= 1 && < 2,
                       vty >= 5 && < 6,
                       vty-ui >= 1.8 && < 2,
                       transformers >= 0 && < 1,
                       mtl >= 2 && < 3,
                       MonadRandom >= 0 && < 1

  if ! flag(exe) || ! flag(vty)
    buildable:         False

  default-language:    Haskell2010

Test-Suite test
  hs-source-dirs:      src
  type:                exitcode-stdio-1.0
  main-is:             Test.hs
  ghc-options:         -Wall
  build-depends:       base >= 4 && < 5,
                       MonadRandom >= 0 && < 1,
                       transformers >= 0 && < 1,
                       mtl >= 2 && < 3,
                       HUnit >= 1 && < 2

  default-language:    Haskell2010