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