name:           snap-testsuite
version:        0.0.1
build-type:     Simple
cabal-version:  >= 1.8

Flag old-base
  default: False
  manual: False

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

  build-depends:
    Glob                       >= 0.5      && < 0.8,
    HUnit                      >= 1.2      && < 2,
    QuickCheck                 >= 2.3.0.2,
    blaze-builder              >= 0.3      && < 0.5,
    http-streams               >= 0.4.0.1  && < 0.9,
    process                    == 1.*,
    smallcheck                 >= 0.6      && < 1.2,
    test-framework             >= 0.6      && < 0.9,
    test-framework-hunit       >= 0.2.7    && < 0.4,
    test-framework-quickcheck2 >= 0.2.12.1 && < 0.4,
    test-framework-smallcheck  >= 0.1      && < 0.3,
    unix                       >= 2.2.0.0  && < 2.8,

    aeson                      >= 0.6      && < 1.3,
    attoparsec                 >= 0.10     && < 0.14,
    bytestring                 >= 0.9.1    && < 0.11,
    cereal                     >= 0.3      && < 0.5,
    clientsession              >= 0.8      && < 0.10,
    comonad                    >= 1.1      && < 5.1,
    configurator               >= 0.1      && < 0.4,
    containers                 >= 0.3      && < 0.6,
    directory                  >= 1.0      && < 1.4,
    directory-tree             >= 0.10     && < 0.13,
    dlist                      >= 0.5      && < 0.8,
    errors                     >= 1.4      && < 2.3,
    filepath                   >= 1.1      && < 1.5,
    -- Blacklist bad versions of hashable
    hashable                  (>= 1.1 && < 1.2) || (>= 1.2.0.6 && <1.3),
    heist                      >= 1.0      && < 1.1,
    lifted-base                >= 0.1      && < 0.3,
    logict                     >= 0.4.2    && < 0.7,
    map-syntax                 >= 0.1      && < 1.0,
    monad-control              >= 1.0      && < 1.1,
    mtl                        >  2.0      && < 2.3,
    mwc-random                 >= 0.8      && < 0.14,
    pwstore-fast               >= 2.2      && < 2.5,
    regex-posix                >= 0.95     && < 1,
    snap                       >= 1.0      && < 1.1,
    snap-core                  >= 1.0      && < 1.1,
    snap-server                >= 1.0      && < 1.1,
    stm                        >= 2.2      && < 2.5,
    syb                        >= 0.1      && < 0.8,
    text                       >= 0.11     && < 1.3,
    time                       >= 1.1      && < 1.9,
    transformers               >= 0.2      && < 0.6,
    transformers-base          >= 0.4      && < 0.5,
    unordered-containers       >= 0.1.4    && < 0.3,
    vector                     >= 0.7.1    && < 0.13,
    vector-algorithms          >= 0.4      && < 0.8,
    xmlhtml                    >= 0.1      && < 0.3

  if flag(old-base)
    build-depends:
      base                      >= 4        && < 4.4,
      lens                      >= 3.7.6    && < 3.8
  else
    build-depends:
      base                      >= 4.4      && < 5,
      lens                      >= 3.7.6    && < 4.16


  extensions:
    BangPatterns,
    CPP,
    DeriveDataTypeable,
    ExistentialQuantification,
    FlexibleContexts,
    FlexibleInstances,
    GeneralizedNewtypeDeriving,
    MultiParamTypeClasses,
    NoMonomorphismRestriction,
    OverloadedStrings,
    PackageImports,
    Rank2Types,
    ScopedTypeVariables,
    TemplateHaskell,
    TypeFamilies,
    TypeOperators,
    TypeSynonymInstances

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


Executable app
  hs-source-dirs:  ../src suite
  main-is:         AppMain.hs

  build-depends:
    aeson                      >= 0.6      && < 1.3,
    attoparsec                 >= 0.10     && < 0.14,
    bytestring                 >= 0.9.1    && < 0.11,
    cereal                     >= 0.3      && < 0.5,
    clientsession              >= 0.8      && < 0.10,
    comonad                    >= 1.1      && < 5.1,
    configurator               >= 0.1      && < 0.4,
    containers                 >= 0.3      && < 0.6,
    directory                  >= 1.0      && < 1.4,
    directory-tree             >= 0.10     && < 0.13,
    dlist                      >= 0.5      && < 0.8,
    errors                     >= 1.4      && < 2.3,
    filepath                   >= 1.1      && < 1.5,
    -- Blacklist bad versions of hashable
    hashable                  (>= 1.1 && < 1.2) || (>= 1.2.0.6 && <1.3),
    heist                      >= 1.0      && < 1.1,
    lifted-base                >= 0.1      && < 0.3,
    logict                     >= 0.4.2    && < 0.7,
    map-syntax                 >= 0.1      && < 1.0,
    mtl                        >  2.0      && < 2.3,
    monad-control              >= 1.0      && < 1.1,
    mwc-random                 >= 0.8      && < 0.14,
    pwstore-fast               >= 2.2      && < 2.5,
    regex-posix                >= 0.95     && < 1,
    snap                       >= 1.0      && < 1.1,
    snap-core                  >= 1.0      && < 1.1,
    snap-server                >= 1.0      && < 1.1,
    stm                        >= 2.2      && < 2.5,
    syb                        >= 0.1      && < 0.8,
    text                       >= 0.11     && < 1.3,
    time                       >= 1.1      && < 1.9,
    transformers               >= 0.2      && < 0.6,
    transformers-base          >= 0.4      && < 0.5,
    unordered-containers       >= 0.1.4    && < 0.3,
    vector                     >= 0.7.1    && < 0.13,
    vector-algorithms          >= 0.4      && < 0.8,
    xmlhtml                    >= 0.1      && < 0.3

  if flag(old-base)
    build-depends:
      base                      >= 4        && < 4.4,
      lens                      >= 3.7.6    && < 3.8
  else
    build-depends:
      base                      >= 4.4      && < 5,
      lens                      >= 3.7.6    && < 4.16

  extensions:
    BangPatterns,
    CPP,
    DeriveDataTypeable,
    ExistentialQuantification,
    FlexibleContexts,
    FlexibleInstances,
    GeneralizedNewtypeDeriving,
    MultiParamTypeClasses,
    NoMonomorphismRestriction,
    OverloadedStrings,
    PackageImports,
    Rank2Types,
    ScopedTypeVariables,
    TemplateHaskell,
    TypeFamilies,
    TypeOperators,
    TypeSynonymInstances

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

Executable nesttest
  hs-source-dirs:  ../src suite
  main-is:         NestTest.hs

  build-depends:
    Glob                       >= 0.5      && < 0.8,
    HUnit                      >= 1.2      && < 2,
    QuickCheck                 >= 2.3.0.2,
    http-streams               >= 0.4.0.1  && < 0.9,
    process                    == 1.*,
    smallcheck                 >= 0.6      && < 1.2,
    test-framework             >= 0.6      && < 0.9,
    test-framework-hunit       >= 0.2.7    && < 0.4,
    test-framework-quickcheck2 >= 0.2.12.1 && < 0.4,
    test-framework-smallcheck  >= 0.1      && < 0.3,
    unix                       >= 2.2.0.0  && < 2.8,

    aeson                      >= 0.6      && < 1.3,
    attoparsec                 >= 0.10     && < 0.14,
    bytestring                 >= 0.9.1    && < 0.11,
    cereal                     >= 0.3      && < 0.5,
    clientsession              >= 0.8      && < 0.10,
    comonad                    >= 1.1      && < 5.1,
    configurator               >= 0.1      && < 0.4,
    containers                 >= 0.3      && < 0.6,
    directory                  >= 1.0      && < 1.4,
    directory-tree             >= 0.10     && < 0.13,
    dlist                      >= 0.5      && < 0.8,
    errors                     >= 1.4      && < 2.3,
    filepath                   >= 1.1      && < 1.5,
    -- Blacklist bad versions of hashable
    hashable                  (>= 1.1 && < 1.2) || (>= 1.2.0.6 && <1.3),
    heist                      >= 1.0      && < 1.1,
    lifted-base                >= 0.1      && < 0.3,
    logict                     >= 0.4.2    && < 0.7,
    map-syntax                 >= 0.1      && < 1.0,
    monad-control              >= 1.0      && < 1.1,
    mtl                        >  2.0      && < 2.3,
    mwc-random                 >= 0.8      && < 0.14,
    pwstore-fast               >= 2.2      && < 2.5,
    regex-posix                >= 0.95     && < 1,
    snap                       >= 1.0      && < 1.1,
    snap-core                  >= 1.0      && < 1.1,
    snap-server                >= 1.0      && < 1.1,
    stm                        >= 2.2      && < 2.5,
    syb                        >= 0.1      && < 0.8,
    text                       >= 0.11     && < 1.3,
    time                       >= 1.1      && < 1.9,
    transformers               >= 0.2      && < 0.6,
    transformers-base          >= 0.4      && < 0.5,
    unordered-containers       >= 0.1.4    && < 0.3,
    vector                     >= 0.7.1    && < 0.13,
    vector-algorithms          >= 0.4      && < 0.8,
    xmlhtml                    >= 0.1      && < 0.3

  if flag(old-base)
    build-depends:
      base                      >= 4        && < 4.4,
      lens                      >= 3.7.6    && < 3.8
  else
    build-depends:
      base                      >= 4.4      && < 5,
      lens                      >= 3.7.6    && < 4.16


  extensions:
    BangPatterns,
    CPP,
    DeriveDataTypeable,
    ExistentialQuantification,
    FlexibleContexts,
    FlexibleInstances,
    GeneralizedNewtypeDeriving,
    MultiParamTypeClasses,
    NoMonomorphismRestriction,
    OverloadedStrings,
    PackageImports,
    Rank2Types,
    ScopedTypeVariables,
    TemplateHaskell,
    TypeFamilies,
    TypeOperators,
    TypeSynonymInstances

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