ghc-snap-core/snap-core-1.0.4.1.cabal
2020-07-17 16:38:02 +08:00

318 lines
9.1 KiB
Plaintext

name: snap-core
version: 1.0.4.1
x-revision: 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. 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".
license: BSD3
license-file: LICENSE
author: Snap Framework Authors (see CONTRIBUTORS)
maintainer: snap@snapframework.com
build-type: Simple
cabal-version: >= 1.10
homepage: http://snapframework.com/
bug-reports: https://github.com/snapframework/snap-core/issues
category: Web, Snap, IO-Streams
Tested-With: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3,
GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.3,
GHC == 8.8.1
extra-source-files:
test/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,
runTestsAndCoverage.sh,
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/dir/foo.txt,
test/data/fileServe/mydir2/foo.txt,
test/data/fileServe/mydir3/altindex.html,
test/Snap/Core/Tests.hs,
test/Snap/Internal/Http/Types/Tests.hs,
test/Snap/Internal/Parsing/Tests.hs,
test/Snap/Internal/Routing/Tests.hs,
test/Snap/Test/Common.hs,
test/Snap/Types/Headers/Tests.hs,
test/Snap/Util/FileServe/Tests.hs,
test/Snap/Util/FileUploads/Tests.hs,
test/Snap/Util/GZip/Tests.hs,
test/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
Flag network-uri
Description: Get Network.URI from the network-uri package
Default: True
Library
Default-language: Haskell2010
hs-source-dirs: src
if !flag(debug)
cpp-options: -DNODEBUG
if flag(portable) || os(windows)
cpp-options: -DPORTABLE
build-depends: time-locale-compat == 0.1.*
else
c-sources: cbits/timefuncs.c
include-dirs: cbits
build-depends: old-locale >= 1 && <2
exposed-modules:
Snap.Core,
Snap.Internal.Core,
Snap.Internal.Debug,
Snap.Internal.Http.Types,
Snap.Internal.Parsing,
Snap.Test,
Snap.Types.Headers,
Snap.Util.CORS,
Snap.Util.FileServe,
Snap.Util.FileUploads,
Snap.Util.GZip,
Snap.Util.Proxy
other-modules:
Snap.Internal.Instances,
Snap.Internal.Routing,
Snap.Internal.Test.RequestBuilder,
Snap.Internal.Test.Assertions,
Snap.Internal.Util.FileServe,
Snap.Internal.Util.FileUploads
build-depends:
HUnit >= 1.2 && < 2,
attoparsec >= 0.12 && < 0.14,
base >= 4 && < 5,
bytestring >= 0.9 && < 0.11,
bytestring-builder >= 0.10.4 && < 0.11,
case-insensitive >= 1.1 && < 1.3,
containers >= 0.3 && < 1.0,
directory >= 1 && < 2,
filepath >= 1.1 && < 2.0,
lifted-base >= 0.1 && < 0.3,
io-streams >= 1.3 && < 1.6,
hashable >= 1.2.0.6 && < 1.4,
monad-control >= 1.0 && < 1.1,
mtl >= 2.0 && < 2.3,
random >= 1 && < 2,
readable >= 0.1 && < 0.4,
regex-posix >= 0.95 && < 1,
text >= 0.11 && < 1.3,
time >= 1.0 && < 1.11,
transformers >= 0.3 && < 0.6,
transformers-base >= 0.4 && < 0.5,
unix-compat >= 0.3 && < 0.6,
unordered-containers >= 0.1.4.3 && < 0.3,
vector >= 0.6 && < 0.13
other-extensions:
BangPatterns,
CPP,
DeriveDataTypeable,
EmptyDataDecls,
ExistentialQuantification,
FlexibleContexts,
FlexibleInstances,
ForeignFunctionInterface,
GeneralizedNewtypeDeriving,
MultiParamTypeClasses,
OverloadedStrings,
OverloadedStrings,
PackageImports,
Rank2Types,
ScopedTypeVariables,
TypeSynonymInstances
if impl(ghc >= 6.12.0)
ghc-options: -Wall -fwarn-tabs -fno-warn-unused-do-bind
else
ghc-options: -Wall -fwarn-tabs
-- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0
if impl(ghc < 8.8)
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
else
build-depends: fail == 4.9.*, semigroups == 0.18.*
if flag(network-uri)
build-depends: network-uri >= 2.6 && < 2.7,
network >= 2.6 && < 3.2
else
build-depends: network-uri >= 2.5 && < 2.6,
network >= 2.3 && < 2.6
Test-suite testsuite
hs-source-dirs: src test
Type: exitcode-stdio-1.0
Main-is: TestSuite.hs
Default-language: Haskell2010
if flag(portable) || os(windows)
cpp-options: -DPORTABLE
build-depends: time-locale-compat == 0.1.*
else
c-sources: cbits/timefuncs.c
include-dirs: cbits
build-depends: old-locale >= 1 && <2
other-modules:
Snap.Core,
Snap.Internal.Debug,
Snap.Internal.Http.Types,
Snap.Internal.Parsing,
Snap.Test,
Snap.Types.Headers,
Snap.Util.CORS,
Snap.Util.FileServe,
Snap.Util.FileUploads,
Snap.Util.GZip,
Snap.Util.Proxy,
Snap.Internal.Core,
Snap.Internal.Instances,
Snap.Internal.Routing,
Snap.Internal.Test.RequestBuilder,
Snap.Internal.Test.Assertions,
Snap.Internal.Util.FileServe,
Snap.Internal.Util.FileUploads,
--------------------------------------------------------------------------
Snap.Core.Tests,
Snap.Internal.Http.Types.Tests,
Snap.Internal.Parsing.Tests,
Snap.Internal.Routing.Tests,
Snap.Test.Common,
Snap.Test.Tests,
Snap.Types.Headers.Tests,
Snap.Util.CORS.Tests,
Snap.Util.FileServe.Tests,
Snap.Util.FileUploads.Tests,
Snap.Util.GZip.Tests,
Snap.Util.Proxy.Tests
build-depends:
HUnit,
attoparsec,
base,
bytestring,
bytestring-builder,
case-insensitive,
containers,
directory,
filepath,
hashable,
lifted-base,
io-streams,
monad-control,
mtl,
random,
readable,
regex-posix,
text,
time,
transformers,
transformers-base,
unix-compat,
unordered-containers,
vector,
--------------------------------------------------------------------------
QuickCheck >= 2.3.0.2 && <3,
deepseq >= 1.1 && < 1.5,
parallel >= 3 && <4,
test-framework >= 0.8.0.3 && <0.9,
test-framework-hunit >= 0.2.7 && <0.4,
test-framework-quickcheck2 >= 0.2.12.1 && <0.4,
zlib >= 0.5 && <0.7
if flag(network-uri)
build-depends: network-uri,
network
else
build-depends: network-uri,
network
ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -threaded
-fno-warn-unused-do-bind
-- See https://ghc.haskell.org/trac/ghc/wiki/Migration/8.0#base-4.9.0.0
if impl(ghc < 8.8)
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
else
build-depends: fail == 4.9.*, semigroups == 0.18.*
other-extensions:
BangPatterns,
CPP,
DeriveDataTypeable,
EmptyDataDecls,
ExistentialQuantification,
FlexibleContexts,
FlexibleInstances,
ForeignFunctionInterface,
GeneralizedNewtypeDeriving,
MagicHash,
MultiParamTypeClasses,
OverloadedStrings,
Rank2Types,
ScopedTypeVariables,
StandaloneDeriving,
TypeFamilies,
TypeSynonymInstances
source-repository head
type: git
location: git://github.com/snapframework/snap-core.git