aboutsummaryrefslogtreecommitdiff
path: root/turing-web.cabal
blob: 206892c9b9410af666177dbbd64f1e3e8cf60436 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name:              turing-web
version:           0.0.1
cabal-version:     >= 1.8
build-type:        Simple

Flag dev
    Description:   Turn on development settings, like auto-reload templates.
    Default:       False

Flag library-only
    Description:   Build for use with "yesod devel"
    Default:       False

library
    exposed-modules: Application
                     Foundation
                     Import
                     Settings
                     Settings.StaticFiles
                     Settings.Development
                     Handler.Home
                     Turing.Machine
                     Turing.Examples

    if flag(dev) || flag(library-only)
        cpp-options:   -DDEVELOPMENT
        ghc-options:   -Wall -O0
    else
        ghc-options:   -Wall -O2

    extensions: TemplateHaskell
                QuasiQuotes
                OverloadedStrings
                NoImplicitPrelude
                CPP
                MultiParamTypeClasses
                TypeFamilies
                GADTs
                GeneralizedNewtypeDeriving
                FlexibleContexts
                EmptyDataDecls
                NoMonomorphismRestriction
                DeriveDataTypeable

    build-depends: base                          >= 4          && < 5
                 , yesod                         >= 1.2.5      && < 1.3
                 , yesod-core                    >= 1.2.20     && < 1.3
                 , yesod-auth                    >= 1.3        && < 1.4
                 , yesod-static                  >= 1.2        && < 1.3
                 , yesod-form                    >= 1.3        && < 1.4
                 , bytestring                    >= 0.9        && < 0.11
                 , text                          >= 0.11       && < 2.0
                 , template-haskell
                 , shakespeare                   >= 2.0        && < 2.1
                 , hjsmin                        >= 0.1        && < 0.2
                 , monad-control                 >= 0.3        && < 0.4
                 , wai-extra                     >= 3.0        && < 3.1
                 , yaml                          >= 0.8        && < 0.9
                 , http-conduit                  >= 2.1        && < 2.2
                 , directory                     >= 1.1        && < 1.3
                 , warp                          >= 3.0        && < 3.1
                 , data-default
                 , aeson                         >= 0.6        && < 0.9
                 , conduit                       >= 1.0        && < 2.0
                 , containers
                 , yesod-websockets
                 , monad-logger                  >= 0.3        && < 0.4
                 , fast-logger                   >= 2.2        && < 2.3
                 , wai-logger                    >= 2.2        && < 2.3

    -- see https://github.com/yesodweb/yesod/issues/814
    if !os(windows)
        build-depends: unix

executable         turing-web
    if flag(library-only)
        Buildable: False

    main-is:           main.hs
    hs-source-dirs:    app
    build-depends:     base
                     , turing-web
                     , yesod

    ghc-options:       -threaded -O2 -rtsopts -with-rtsopts=-N

test-suite test
    type:              exitcode-stdio-1.0
    main-is:           main.hs
    hs-source-dirs:    tests
    ghc-options:       -Wall

    build-depends: base
                 , turing-web
                 , yesod-test >= 1.2 && < 1.3
                 , yesod-core
                 , yesod
                 , hspec