name:                   connection-pool
version:                0.1.2.0
synopsis:
  Connection pool built on top of resource-pool and streaming-commons.
description:
  Connection poll is a family specialised resource pools. Currently package
  provides two variants:
  .
  1. pool for TCP client connections,
  .
  2. and pool for UNIX Sockets client connections.
  .
  This package is built on top of
  <http://hackage.haskell.org/package/resource-pool resource-pool> and
  <http://hackage.haskell.org/package/streaming-commons streaming-commons>.
  The later allows us to use
  <http://hackage.haskell.org/package/conduit-extra conduit-extra> package
  for implementation of TCP or UNIX Sockets clients.
  .
  For examples and other details see documentation in "Data.ConnectionPool"
  module.

homepage:               https://github.com/trskop/connection-pool
bug-reports:            https://github.com/trskop/connection-pool/issues
license:                BSD3
license-file:           LICENSE
author:                 Peter Trško
maintainer:             peter.trsko@gmail.com
copyright:              (c) 2014-2015, Peter Trško
category:               Data, Network
build-type:             Simple
cabal-version:          >=1.10

extra-source-files:
    README.md
  , ChangeLog.md
  , example/*.hs

flag pedantic
  description:
    Pass additional warning flags including -Werror to GHC during compilation.
  default: False
  manual: True

library
  hs-source-dirs:       src
  exposed-modules:
      Data.ConnectionPool
    , Data.ConnectionPool.Internal.ConnectionPool
    , Data.ConnectionPool.Internal.ConnectionPoolFamily
    , Data.ConnectionPool.Internal.ResourcePoolParams
    , Data.ConnectionPool.Internal.Streaming

  default-language:     Haskell2010
  other-extensions:
      CPP
    , DeriveDataTypeable
    , FlexibleContexts
    , NoImplicitPrelude
    , OverloadedStrings
    , RecordWildCards
    , StandaloneDeriving
    , TupleSections
    , TypeFamilies

  build-depends:
    -- {{{ Packages distributed with HaskellPlatform (or GHC itself) ----------
      base >=4.6 && <4.9
    , network >= 2.2.3
      -- Version 2.2.3 introduced module "Network.Socket.ByteString".
    , time >= 1.0
      -- Version 1.0 is the oldest available version of time on Hackage and it
      -- defines NominalDiffTime. Package -- resource-pool doesn't define any
      -- version boundaries on this package.
    -- }}} Packages distributed with HaskellPlatform (or GHC itself) ----------

    -- {{{ Other packages -----------------------------------------------------
    , between >= 0.9.0.0
    , data-default-class == 0.0.*
    , monad-control >= 0.2.0.1
      -- Version boundary same as resource-pool (version 0.2.0.0) has.
    , resource-pool >= 0.2.0.0 && < 1
      -- Version 0.2.0.0 was the first that used monad-control package.
      -- At the time of writing (version 0.2.3.0) used subset of API is stable.
    , streaming-commons >= 0.1.3 && < 0.2
      -- First version that had getSocketFamilyTCP function and also Earlier
      -- versions have different definition of ClientSettings. Those two things
      -- are actually related.
      --
      -- Changes in streaming-commons that broke this package:
      --
      -- * Version 0.1.6 introduced appCloseConnection' field of AppData.
      -- * Version 0.1.12 introduced appRawSocket' field of AppData.
    , transformers-base >= 0.4.2 && < 0.5
      -- Version bounds taken from latest monad-control package (at the moment
      -- 0.3.3.0), which is a dependency of resource-pool package.
    -- }}} Other packages -----------------------------------------------------

  if os(windows)
    cpp-options:        -DWINDOWS

  if impl(ghc >= 7.8.1)
    cpp-options:        -DKIND_POLYMORPHIC_TYPEABLE

  ghc-options:          -Wall
  if impl(ghc >= 6.8)
    ghc-options:        -fwarn-tabs
  if flag(pedantic)
    ghc-options:
      -fwarn-implicit-prelude
      -fwarn-missing-import-lists
      -Werror

source-repository head
  type:                 git
  location:             git://github.com/trskop/connection-pool.git

source-repository this
  type:                 git
  location:             git://github.com/trskop/connection-pool.git
  tag:                  v0.1.2.0