second-transfer-0.10.0.4: second-transfer.cabal
name : second-transfer
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version : 0.10.0.4
synopsis : Second Transfer HTTP/2 web server
description : Second Transfer HTTP/2 web server
homepage : https://www.httptwo.com/second-transfer/
license : BSD3
license-file: LICENSE
author : Alcides Viamontes Esquivel
maintainer : alcidesv@zunzun.se
copyright : Copyright 2015, Alcides Viamontes Esquivel
category : Network
stability : experimental
bug-reports : https://github.com/alcidesv/second-transfer/issues
build-type : Simple
-- Extra files to be distributed with the package-- such as examples or a
-- README.
extra-source-files: README.md changelog.md
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.10
extra-source-files: macros/instruments.cpphs
Flag debug
Description: Enable debug support
Default: False
Flag enable-botan
Description: Enable Botan (No TLS support without this)
Default: False
Flag misc-executables
Description: Compile helpers for development
Default: False
source-repository head
type: git
location: git@github.com:alcidesv/second-transfer.git
source-repository this
type: git
location: git@github.com:alcidesv/second-transfer.git
tag: v0.10.0.4
library
exposed-modules: SecondTransfer
, SecondTransfer.MainLoop
, SecondTransfer.Http2
, SecondTransfer.Http1
, SecondTransfer.Exception
, SecondTransfer.Types
, SecondTransfer.Utils.HTTPHeaders
, SecondTransfer.Utils.DevNull
, SecondTransfer.TLS.CoreServer
, SecondTransfer.TLS.Types
, SecondTransfer.Socks5.Types
, SecondTransfer.Socks5.Session
, SecondTransfer.Sessions
, SecondTransfer.Sessions.Config
, SecondTransfer.Http1.Parse
, SecondTransfer.Http1.Types
, SecondTransfer.Http1.Proxy
-- These ones should probably go in their own package
, SecondTransfer.IOCallbacks.Types
, SecondTransfer.IOCallbacks.SocketServer
, SecondTransfer.IOCallbacks.WrapSocket
, SecondTransfer.IOCallbacks.Coupling
, SecondTransfer.IOCallbacks.SaveFragment
-- These are really internal modules, but are exposed
-- here for the sake of the test suite. They are hidden
-- from the documentation.
, SecondTransfer.MainLoop.Internal
, SecondTransfer.MainLoop.Disruptible
, SecondTransfer.MainLoop.CoherentWorker
-- These are instrumentation utilities, they are mostly
-- disabled if the flag monitoring is off.
, SecondTransfer.MainLoop.Logging
, SecondTransfer.MainLoop.DebugMonitor
-- TODO: Most of these should be moved back to "other-modules"
, SecondTransfer.Sessions.Internal
, SecondTransfer.Sessions.Tidal
, SecondTransfer.Sessions.HashableSockAddr
, SecondTransfer.Http2.Session
, SecondTransfer.Http2.Framer
, SecondTransfer.MainLoop.ClientPetitioner
other-modules: SecondTransfer.MainLoop.Protocol
, SecondTransfer.MainLoop.Tokens
, SecondTransfer.MainLoop.Framer
, SecondTransfer.Utils
, SecondTransfer.ConstantsAndLimits
, SecondTransfer.Socks5.Serializers
, SecondTransfer.Socks5.Parsers
, SecondTransfer.Http2.MakeAttendant
, SecondTransfer.Http2.SimpleClient
, SecondTransfer.Http2.TransferTypes
, SecondTransfer.Http2.OutputTray
, SecondTransfer.Http2.CalmState
, SecondTransfer.Http1.Session
, SecondTransfer.IOCallbacks.Botcher
if flag(enable-botan)
exposed-modules: SecondTransfer.TLS.Botan
build-tools: cpphs
default-extensions: CPP
if flag(enable-botan)
CPP-Options: -DINCLUDE_BOTAN_H
-- A default directory for botan.... you can have your own
-- through a stack flag.
include-dirs: /usr/local/include/botan-1.11/
else
CPP-Options: -DBOTAN_DISABLED
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends: base >= 4.7 && <= 4.9,
exceptions >= 0.8 && < 0.9,
bytestring >= 0.10.4,
base16-bytestring >= 0.1.1,
network >= 2.6 && < 2.7,
network-uri >= 2.6,
text >= 1.2 && < 1.3,
binary >= 0.7.1.0,
containers >= 0.5.5,
conduit >= 1.2.4 && < 1.3,
transformers >=0.3 && <= 0.5,
network-uri >= 2.6 && < 2.7,
hashtables >= 1.2 && < 1.3,
lens >= 4.7 ,
http2 >= 1.0.2 && < 1.4,
hashable >= 1.2,
attoparsec >= 0.12,
clock >= 0.6,
resourcet >= 1.1,
BoundedChan >= 1.0.3,
pqueue >= 1.3.0,
stm >= 2.3,
deepseq >= 1.4.1,
time >= 1.5.0 && < 1.8,
vector >= 0.10 && < 0.13,
vector-algorithms >= 0.7,
mmorph >= 1.0
-- Directories containing source files.
hs-source-dirs: hs-src
-- Base language which the package is written in.
default-language: Haskell2010
include-dirs: /usr/local/include/botan-1.11
if flag(debug)
cc-options: -O0 -g3 -std=c++11
ld-options: -g3
else
cc-options: -std=c++11 -mavx2 -msse4.1 -msse2 -mpclmul -maes
if os(linux)
ghc-options: -pgmPcpphs "-pgmc g++" -optP--cpp
if os(darwin)
ghc-options: -pgmPcpphs "-pgmc g++-5" "-pgml g++-5" -optP--cpp
-- v------ remove this
if os(linux)
if flag(enable-botan)
c-sources: cbits/enable_tls.cpp
if os(darwin)
if flag(enable-botan)
extra-libraries: second_transfer__enable_tls
extra-lib-dirs: /usr/local/shimmercat-build/
ld-options: -framework Security
if os(linux)
extra-libraries: stdc++
extra-lib-dirs: /usr/local
if flag(enable-botan)
if os(linux)
extra-libraries: botan-1.11
include-dirs: macros/
-- These are just some tests for the engine, there should
-- be more as an independent python test suite, checking
-- more stuff.
Test-Suite hunit-tests
type : exitcode-stdio-1.0
main-is : hunit_tests.hs
hs-source-dirs : tests/tests-hs-src
default-language : Haskell2010
build-depends : base >=4.7 && <= 4.9
,conduit >= 1.2.4
,lens >= 4.7
,HUnit >= 1.2 && < 1.5
,bytestring >= 0.10.4.0
,http2
,network >= 2.6 && < 2.7
,text >= 1.2 && < 1.3
,binary >= 0.7.1.0
,containers >= 0.5.5
,network-uri >= 2.6 && < 2.7
,hashtables >= 1.2 && < 1.3
,unordered-containers
,transformers >=0.3 && <= 0.5
,second-transfer
,stm >= 2.4
build-tools : cpphs
default-extensions : CPP
include-dirs : macros/
ghc-options : -threaded -pgmPcpphs "-pgmc gcc" -optP--cpp
other-modules : SecondTransfer.Test.DecoySession
, Tests.HTTP1Parse
, Tests.HTTP2Session
, Tests.TestIOCalbks
, Tests.Utils