File: snap-core.cabal

package info (click to toggle)
haskell-snap-core 0.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 576 kB
  • sloc: haskell: 6,767; sh: 55; ansic: 22; makefile: 2
file content (189 lines) | stat: -rw-r--r-- 5,449 bytes parent folder | download
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
name:           snap-core
version:        0.8.1
synopsis:       Snap: A Haskell Web Framework (core interfaces and types)

description:
  Snap is a simple and fast web development framework and server written in
  Haskell. For more information or to download the latest version, you can
  visit the Snap project website at <http://snapframework.com/>.
  .
  This library contains the core definitions and types for the Snap framework,
  including:
  .
    1. Primitive types and functions for HTTP (requests, responses, cookies,
       post/query parameters, etc)
  .
    2. Type aliases and helper functions for Iteratee I/O
  .
    3. A monad for programming web handlers called \"Snap\", which allows:
  .
       * Stateful access to the HTTP request and response objects
  .
       * Monadic failure (i.e. MonadPlus/Alternative instances) for declining
         to handle requests and chaining handlers together
  .
       * Early termination of the computation if you know early what you want
         to return and want to prevent further monadic processing
  .
  /Quick start/: The 'Snap' monad and HTTP definitions are in "Snap.Core",
  some iteratee utilities are in "Snap.Iteratee".

license:        BSD3
license-file:   LICENSE
author:         James Sanders, Shu-yu Guo, Gregory Collins, Doug Beardsley
maintainer:     snap@snapframework.com
build-type:     Simple
cabal-version:  >= 1.6
homepage:       http://snapframework.com/
category:       Web, Snap

extra-source-files:
  test/suite/TestSuite.hs,
  cbits/timefuncs.c,
  CONTRIBUTORS,
  extra/haddock.css,
  extra/hscolour.css,
  extra/logo.gif,
  haddock.sh,
  LICENSE,
  README.md,
  README.SNAP.md,
  Setup.hs,
  test/data/fileServe/foo.bin,
  test/data/fileServe/foo.bin.bin.bin,
  test/data/fileServe/foo.html,
  test/data/fileServe/foo.txt,
  test/data/fileServe/mydir1/index.txt,
  test/data/fileServe/mydir2/foo.txt,
  test/data/fileServe/mydir3/altindex.html,
  test/runTestsAndCoverage.sh,
  test/snap-core-testsuite.cabal,
  test/suite/Snap/Core/Tests.hs,
  test/suite/Snap/Internal/Http/Types/Tests.hs,
  test/suite/Snap/Internal/Parsing/Tests.hs,
  test/suite/Snap/Internal/Routing/Tests.hs,
  test/suite/Snap/Iteratee/Tests.hs,
  test/suite/Snap/Test/Common.hs,
  test/suite/Snap/Util/FileServe/Tests.hs,
  test/suite/Snap/Util/FileUploads/Tests.hs,
  test/suite/Snap/Util/GZip/Tests.hs,
  test/suite/Snap/Util/Proxy/Tests.hs

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


Flag debug
  Description: Enable debug logging code. With this flag, Snap will
               test the DEBUG environment variable to decide whether to do
               logging, and this introduces a tiny amount of overhead
               (a call into a function pointer) because the calls to 'debug'
               cannot be inlined.

  Default: False


Library
  hs-source-dirs: src

  if !flag(debug)
    cpp-options: -DNODEBUG

  if flag(portable) || os(windows)
    cpp-options: -DPORTABLE
  else
    c-sources: cbits/timefuncs.c
    include-dirs: cbits
    build-depends: bytestring-mmap >= 0.2.2 && <0.3,
                   unix >= 2.4 && <3.0
    cpp-options: -DUSE_UNIX

  exposed-modules:
    Snap.Core,
    Snap.Types,
    Snap.Iteratee,
    Snap.Internal.Debug,
    Snap.Internal.Exceptions,
    Snap.Internal.Http.Types,
    Snap.Internal.Iteratee.Debug,
    Snap.Internal.Parsing,
    Snap.Test,
    Snap.Types.Headers,
    Snap.Util.FileServe,
    Snap.Util.FileUploads,
    Snap.Util.GZip,
    Snap.Util.Proxy,
    Snap.Util.Readable

  other-modules:
    Snap.Internal.Instances,
    Snap.Internal.Iteratee.BoyerMooreHorspool,
    Snap.Internal.Parsing.FastSet,
    Snap.Internal.Routing,
    Snap.Internal.Types,
    Snap.Internal.Test.RequestBuilder,
    Snap.Internal.Test.Assertions


  build-depends:
    attoparsec >= 0.10 && < 0.11,
    attoparsec-enumerator >= 0.3 && <0.4,
    base >= 4 && < 5,
    base16-bytestring <= 0.2,
    blaze-builder >= 0.2.1.4 && <0.4,
    blaze-builder-enumerator >= 0.2 && <0.3,
    bytestring,
    bytestring-nums,
    case-insensitive >= 0.3 && < 0.5,
    containers,
    deepseq >= 1.1 && <1.4,
    directory,
    dlist >= 0.5 && < 0.6,
    enumerator >= 0.4.15 && < 0.5,
    filepath,
    HUnit >= 1.2 && < 2,
    MonadCatchIO-transformers >= 0.2.1 && < 0.4,
    mtl >= 2.0 && < 2.2,
    mwc-random >= 0.10 && <0.13,
    old-locale,
    old-time,
    regex-posix <= 0.95.2,
    text >= 0.11 && <0.12,
    time >= 1.0 && < 1.5,
    transformers >= 0.2 && < 0.4,
    unix-compat >= 0.2 && <0.4,
    unordered-containers >= 0.1.4.3 && <0.3,
    vector >= 0.6 && <0.10,
    zlib-enum >= 0.2.1 && <0.3

  extensions:
    BangPatterns,
    CPP,
    DeriveDataTypeable,
    EmptyDataDecls,
    ExistentialQuantification,
    FlexibleContexts,
    FlexibleInstances,
    ForeignFunctionInterface,
    GeneralizedNewtypeDeriving,
    MultiParamTypeClasses,
    OverloadedStrings,
    OverloadedStrings,
    PackageImports,
    Rank2Types,
    ScopedTypeVariables,
    TypeSynonymInstances

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

  if impl(ghc >= 6.12.0)
    ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
                 -fno-warn-unused-do-bind
  else
    ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2

source-repository head
  type:     git
  location: git://github.com/snapframework/snap-core.git