325 lines
9.8 KiB
Plaintext
325 lines
9.8 KiB
Plaintext
name: snap-core
|
|
version: 1.0.5.0
|
|
x-revision: 3
|
|
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.5,
|
|
GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.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.Internal.Util.FileServe,
|
|
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.FileUploads
|
|
|
|
|
|
build-depends:
|
|
HUnit >= 1.2 && < 2,
|
|
attoparsec >= 0.12 && < 0.15,
|
|
base >= 4 && < 5,
|
|
bytestring >= 0.9 && < 0.12,
|
|
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.5,
|
|
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 && < 2.1,
|
|
time >= 1.0 && < 1.14,
|
|
transformers >= 0.3 && < 0.6,
|
|
transformers-base >= 0.4 && < 0.5,
|
|
unix-compat >= 0.3 && < 0.7,
|
|
-- allow unix-compat-0.6, see https://github.com/snapframework/snap-core/pull/317
|
|
unordered-containers >= 0.1.4.3 && < 0.3,
|
|
vector >= 0.6 && < 0.14
|
|
|
|
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 && < 0.20
|
|
|
|
if flag(network-uri)
|
|
-- Leaving network-uri-2.7.0.0 out for now because it is marked deprecated
|
|
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
|
|
|
|
if impl(ghc >= 7.6)
|
|
build-depends: unix-compat >= 0.3
|
|
else
|
|
build-depends: unix-compat >= 0.3 && < 0.5.3
|
|
|
|
|
|
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 && < 0.20
|
|
|
|
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
|