packages feed

snap-server-0.9.0: test/snap-server-testsuite.cabal

name:           snap-server-testsuite
version:        0.1.1
build-type:     Simple
cabal-version:  >= 1.6

Flag portable
  Description: Compile in cross-platform mode. No platform-specific code or
               optimizations such as C routines will be used.
  Default: False

Flag openssl
  Description: Enable https support using the HsOpenSSL library.
  Default: False

Executable testsuite
  hs-source-dirs:  suite common ../src
  main-is:         TestSuite.hs

  build-depends:
    QuickCheck                 >= 2,
    array                      >= 0.3      && <0.5,
    attoparsec                 >= 0.10     && <0.11,
    attoparsec-enumerator      >= 0.3      && <0.4,
    base                       >= 4        && <5,
    base16-bytestring          == 0.1.*,
    binary                     >= 0.5      && <0.6,
    blaze-builder              >= 0.2.1.4  && <0.4,
    blaze-builder-enumerator   >= 0.2.0    && <0.3,
    bytestring,
    bytestring-nums            >= 0.3.1    && <0.4,
    containers,
    directory,
    directory-tree,
    enumerator                 >= 0.4.15   && <0.5,
    filepath,
    http-enumerator            >= 0.7.3    && <0.8,
    HUnit                      >= 1.2      && <2,
    mtl                        >= 2        && <3,
    murmur-hash                >= 0.1      && <0.2,
    network                    == 2.3.*,
    old-locale,
    parallel                   >= 2        && <4,
    process,
    snap-core                  >= 0.9      && <0.10,
    template-haskell,
    test-framework             >= 0.6      && <0.7,
    test-framework-hunit       >= 0.2.7    && <0.3,
    test-framework-quickcheck2 >= 0.2.12.1 && <0.3,
    text                       >= 0.11     && <0.12,
    time,
    tls                        >= 0.8.2    && <0.9.2,
    tls-extra                  >= 0.4      && <0.4.5,
    transformers,
    vector                     >= 0.7      && <0.10,
    vector-algorithms          >= 0.4      && <0.6,
    PSQueue                    >= 1.1      && <1.2

  extensions:
    BangPatterns,
    CPP,
    MagicHash,
    Rank2Types,
    OverloadedStrings,
    ScopedTypeVariables,
    DeriveDataTypeable,
    PackageImports,
    ViewPatterns,
    ForeignFunctionInterface,
    EmptyDataDecls,
    GeneralizedNewtypeDeriving

  if !os(windows)
    build-depends: unix

  if flag(openssl)
    cpp-options: -DOPENSSL
    build-depends: HsOpenSSL >= 0.10 && <0.11

  if flag(portable) || os(windows)
    cpp-options: -DPORTABLE

  ghc-prof-options: -prof -auto-all
  ghc-options: -O2 -Wall -fhpc -fwarn-tabs
               -funbox-strict-fields -threaded
               -fno-warn-unused-do-bind -rtsopts


Executable pongserver
  hs-source-dirs:  pongserver common ../src
  main-is:         Main.hs

  build-depends:
    QuickCheck                >= 2,
    array                     >= 0.3     && <0.5,
    attoparsec                >= 0.10    && <0.11,
    attoparsec-enumerator     >= 0.3     && <0.4,
    base                      >= 4       && <5,
    base16-bytestring         == 0.1.*,
    blaze-builder             >= 0.2.1.4 && <0.4,
    blaze-builder-enumerator  >= 0.2.0   && <0.3,
    bytestring,
    bytestring-nums           >= 0.3.1   && <0.4,
    cereal                    >= 0.3     && <0.4,
    containers,
    directory-tree,
    enumerator                >= 0.4.15  && <0.5,
    filepath,
    HUnit                     >= 1.2     && <2,
    mtl                       >= 2       && <3,
    murmur-hash               >= 0.1     && <0.2,
    old-locale,
    parallel                  >= 3.2     && <4,
    MonadCatchIO-transformers >= 0.2.1   && <0.4,
    network                   == 2.3.*,
    snap-core                 >= 0.9     && <0.10,
    template-haskell,
    time,
    transformers,
    unix-compat               >= 0.2     && <0.4,
    utf8-string               >= 0.3.6   && <0.4,
    vector                    >= 0.7     && <0.10,
    vector-algorithms         >= 0.4     && <0.6,
    PSQueue                   >= 1.1     && <1.2

  if flag(portable) || os(windows)
    cpp-options: -DPORTABLE
  else
    build-depends: unix

  if flag(openssl)
    cpp-options: -DOPENSSL
    build-depends: HsOpenSSL >= 0.10 && <0.11

  if os(linux) && !flag(portable)
    cpp-options: -DLINUX -DHAS_SENDFILE
    other-modules:
      System.SendFile,
      System.SendFile.Linux

  if os(darwin) && !flag(portable)
    cpp-options: -DOSX -DHAS_SENDFILE
    other-modules:
      System.SendFile,
      System.SendFile.Darwin

  if os(freebsd) && !flag(portable)
    cpp-options: -DFREEBSD -DHAS_SENDFILE
    other-modules:
      System.SendFile,
      System.SendFile.FreeBSD

  if flag(portable) || os(windows)
    cpp-options: -DPORTABLE

  ghc-options: -Wall -O2 -fwarn-tabs -funbox-strict-fields -threaded
               -fno-warn-unused-do-bind -rtsopts
  ghc-prof-options: -prof -auto-all


Executable testserver
  hs-source-dirs:  testserver common ../src
  main-is:         Main.hs

  build-depends:
    QuickCheck                 >= 2,
    array                      >= 0.3      && <0.5,
    attoparsec                 >= 0.10     && <0.11,
    attoparsec-enumerator      >= 0.3      && <0.4,
    base                       >= 4        && <5,
    binary                     >= 0.5      && <0.6,
    blaze-builder              >= 0.2.1.4  && <0.4,
    blaze-builder-enumerator   >= 0.2.0    && <0.3,
    bytestring,
    bytestring-nums            >= 0.3.1    && <0.4,
    case-insensitive           >= 0.3      && <0.5,
    containers,
    directory-tree,
    enumerator                 >= 0.4.15   && <0.5,
    filepath,
    HUnit                      >= 1.2      && <2,
    MonadCatchIO-transformers  >= 0.2.1    && <0.4,
    mtl                        >= 2        && <3,
    murmur-hash                >= 0.1      && <0.2,
    network                    == 2.3.*,
    old-locale,
    parallel                   >= 3.2      && <4,
    snap-core                  >= 0.9      && <0.10,
    template-haskell,
    test-framework             >= 0.6      && <0.7,
    test-framework-hunit       >= 0.2.7    && <0.3,
    test-framework-quickcheck2 >= 0.2.12.1 && <0.3,
    text                       >= 0.11     && <0.12,
    time,
    vector                     >= 0.7      && <0.10,
    vector-algorithms          >= 0.4      && <0.6,
    PSQueue                    >= 1.1      && <1.2

  if !os(windows)
    build-depends: unix

  if flag(openssl)
    cpp-options: -DOPENSSL
    build-depends: HsOpenSSL >= 0.10 && <0.11

  if flag(portable) || os(windows)
    cpp-options: -DPORTABLE

  ghc-options: -O2 -Wall -fwarn-tabs
               -funbox-strict-fields -threaded
               -fno-warn-unused-do-bind -rtsopts
  ghc-prof-options: -prof -auto-all


Executable benchmark
  hs-source-dirs:  benchmark common ../src
  main-is:         Benchmark.hs

  ghc-options: -O2 -Wall -fwarn-tabs
               -funbox-strict-fields -threaded
               -fno-warn-unused-do-bind -rtsopts

  ghc-prof-options: -prof -auto-all

  build-depends:
    base >= 4 && < 5,
    network == 2.3.*,
    http-enumerator >= 0.7.1.6 && <0.8,
    tls >= 0.8.2 && <0.9.2,
    criterion >= 0.6 && <0.7