packages feed

second-transfer-0.5.3.2: 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.5.3.2

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/Logging.cpphs

Flag debug 
  Description: Enable debug support 
  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:      0.5.3.2

library

  exposed-modules:  SecondTransfer
                  , SecondTransfer.MainLoop
                  , SecondTransfer.Http2
                  , SecondTransfer.Http1
                  , SecondTransfer.Exception
                  , SecondTransfer.Types
                  , SecondTransfer.Utils.HTTPHeaders
                  , SecondTransfer.Utils.DevNull
                  -- 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.Sessions
                  , SecondTransfer.Sessions.Config
                  , SecondTransfer.Http1.Parse

  other-modules:  SecondTransfer.MainLoop.CoherentWorker
                , SecondTransfer.MainLoop.PushPullType
                , SecondTransfer.MainLoop.Tokens
                , SecondTransfer.MainLoop.Framer
                , SecondTransfer.MainLoop.Logging   
                , SecondTransfer.Sessions.Internal             

                , SecondTransfer.MainLoop.OpenSSL_TLS
                , SecondTransfer.Utils

                , SecondTransfer.Http2.Framer
                , SecondTransfer.Http2.MakeAttendant
                , SecondTransfer.Http2.Session

                , SecondTransfer.Http1.Session


  build-tools: cpphs

  default-extensions: CPP

  if flag(debug)
    CPP-Options: -DENABLE_DEBUG
    if !os(windows)
      CC-Options: "-DDEBUG"
    else
      CC-Options: "-DNDEBUG"

  if impl(ghc >= 7.10)
    CPP-Options: -DIMPLICIT_MONOID -DIMPLICIT_APPLICATIVE_FOLDABLE

  -- 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,
                 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 >= 0.7,
                 hslogger >= 1.2.6,
                 hashable >= 1.2,
                 attoparsec >= 0.12,
                 time >= 1.5.0 && < 1.8
  
  -- Directories containing source files.
  hs-source-dirs: hs-src
  
  -- Base language which the package is written in.
  default-language: Haskell2010

  -- Very specific directory with the version of openssl 
  -- that I'm using. As of February 2015-- this one is not 
  -- commonly installed 
  include-dirs: /opt/openssl-1.0.2/include

  c-sources: cbits/tlsinc.c

  -- cc-options: -fPIC -pthread -g -O0
  if flag(debug)
      cc-options: -O0 -g3
      ld-options: -g3

  -- cc-options: -g3 -O0

  -- ghc-options: -O2 -cpp  -pgmPcpphs  -optP--cpp
  ghc-options: -pgmPcpphs  -optP--cpp
 
  extra-libraries: ssl crypto

  -- NOTICE: Please fill-in with an-up-to date library path here
  extra-lib-dirs: /opt/openssl-1.0.2/lib

  include-dirs: macros/



Test-Suite compiling-ok
  type            : exitcode-stdio-1.0
  main-is         : compiling_ok.hs
  hs-source-dirs  : tests/tests-hs-src/
  default-language: Haskell2010
  build-depends   : base >=4.7 && <= 4.9
                    , second-transfer
                    , conduit >= 1.2.4
  ghc-options     : -threaded



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 
                    ,second-transfer
                    ,conduit >= 1.2.4
                    ,lens  >= 4.7
                    ,HUnit >= 1.2 && < 1.5
                    ,bytestring >= 0.10.4.0
                    ,http2 == 0.9.1
  ghc-options     : -threaded
  other-modules   : SecondTransfer.Test.DecoySession