packages feed

hpqtypes-1.10.0.2: hpqtypes.cabal

name:                hpqtypes
version:             1.10.0.2
synopsis:            Haskell bindings to libpqtypes

description:         Efficient and easy-to-use bindings to (slightly modified)
                     @libpqtypes@, a @libpq@ extension that adds support
                     for a binary transport format and composite types.
                     .
                     Source code of libpqtypes is bundled along with the bindings.
                     .
                     Examples can be found in the
                     <https://github.com/scrive/hpqtypes/tree/master/examples examples>
                     directory.

homepage:            https://github.com/scrive/hpqtypes
license:             BSD3
license-file:        LICENSE
author:              Scrive AB
maintainer:          Andrzej Rybczak <andrzej@rybczak.net>
copyright:           Scrive AB
category:            Database
build-type:          Simple
cabal-version:       1.24
tested-with:         GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.2

extra-source-files: README.md
                  , CHANGELOG.md
                  , examples/Catalog.hs
                  , libpqtypes/AUTHORS
                  , libpqtypes/Makefile.in
                  , libpqtypes/config.guess
                  , libpqtypes/groff2html
                  , libpqtypes/win32.mak
                  , libpqtypes/ChangeLog
                  , libpqtypes/Makefile.win32
                  , libpqtypes/config.sub
                  , libpqtypes/install-sh
                  , libpqtypes/INSTALL
                  , libpqtypes/README
                  , libpqtypes/configure
                  , libpqtypes/ltmain.sh
                  , libpqtypes/LICENSE
                  , libpqtypes/acinclude.m4
                  , libpqtypes/configure.ac
                  , libpqtypes/missing
                  , libpqtypes/Makefile.am
                  , libpqtypes/aclocal.m4
                  , libpqtypes/src/pqt_config.h
                  , libpqtypes/src/pqt_config.h.in
                  , libpqtypes/src/libpqtypes-int.h
                  , libpqtypes/src/libpqtypes.h

source-repository head
  type:     git
  location: https://github.com/scrive/hpqtypes.git

library
  exposed-modules:     Data.Monoid.Utils
                     , Database.PostgreSQL.PQTypes
                     , Database.PostgreSQL.PQTypes.Composite
                     , Database.PostgreSQL.PQTypes.ToRow
                     , Database.PostgreSQL.PQTypes.Utils
                     , Database.PostgreSQL.PQTypes.FromSQL
                     , Database.PostgreSQL.PQTypes.Array
                     , Database.PostgreSQL.PQTypes.Fold
                     , Database.PostgreSQL.PQTypes.FromRow
                     , Database.PostgreSQL.PQTypes.JSON
                     , Database.PostgreSQL.PQTypes.ToSQL
                     , Database.PostgreSQL.PQTypes.Transaction
                     , Database.PostgreSQL.PQTypes.Class
                     , Database.PostgreSQL.PQTypes.Cursor
                     , Database.PostgreSQL.PQTypes.Format
                     , Database.PostgreSQL.PQTypes.Interval
                     , Database.PostgreSQL.PQTypes.Notification
                     , Database.PostgreSQL.PQTypes.SQL
                     , Database.PostgreSQL.PQTypes.SQL.Raw
                     , Database.PostgreSQL.PQTypes.SQL.Class
                     , Database.PostgreSQL.PQTypes.Transaction.Settings
                     , Database.PostgreSQL.PQTypes.XML
                     , Database.PostgreSQL.PQTypes.Internal.Error
                     , Database.PostgreSQL.PQTypes.Internal.Error.Code
                     , Database.PostgreSQL.PQTypes.Internal.Composite
                     , Database.PostgreSQL.PQTypes.Internal.Utils
                     , Database.PostgreSQL.PQTypes.Internal.Connection
                     , Database.PostgreSQL.PQTypes.Internal.Exception
                     , Database.PostgreSQL.PQTypes.Internal.Monad
                     , Database.PostgreSQL.PQTypes.Internal.Notification
                     , Database.PostgreSQL.PQTypes.Internal.QueryResult
                     , Database.PostgreSQL.PQTypes.Internal.Query
                     , Database.PostgreSQL.PQTypes.Internal.State
                     , Database.PostgreSQL.PQTypes.Internal.C.Put
                     , Database.PostgreSQL.PQTypes.Internal.C.Types
                     , Database.PostgreSQL.PQTypes.Internal.C.Interface
                     , Database.PostgreSQL.PQTypes.Internal.C.Get

  build-depends:       base              >= 4.13    && < 5
                     , text              >= 0.11
                     , aeson             >= 1.0
                     , async             >= 2.1.1.1
                     , bytestring        >= 0.9
                     , semigroups        >= 0.16
                     , time              >= 1.4
                     , vector            >= 0.10
                     , transformers-base >= 0.4
                     , monad-control     >= 1.0.3
                     , lifted-base       >= 0.2
                     , resource-pool     >= 0.3
                     , mtl               >= 2.1
                     , transformers      >= 0.2.2
                     , containers        >= 0.5.0.0
                     , exceptions        >= 0.9
                     , text-show         >= 2
                     , uuid-types        >= 1.0.3

  pkgconfig-depends: libpq

  hs-source-dirs:    src

  ghc-options:       -Wall

  build-tools:       hsc2hs
  include-dirs:      libpqtypes/src

  cc-options:        -DHAVE_CONFIG_H -D_GNU_SOURCE -D_REENTRANT -std=gnu99 -fsigned-char -fno-strict-aliasing -Wall -Wextra

  c-sources:           libpqtypes/src/array.c
                     , libpqtypes/src/datetime.c
                     , libpqtypes/src/error.c
                     , libpqtypes/src/events.c
                     , libpqtypes/src/exec.c
                     , libpqtypes/src/ffi.c
                     , libpqtypes/src/geo.c
                     , libpqtypes/src/handler.c
                     , libpqtypes/src/misc.c
                     , libpqtypes/src/network.c
                     , libpqtypes/src/numerics.c
                     , libpqtypes/src/param.c
                     , libpqtypes/src/port.c
                     , libpqtypes/src/record.c
                     , libpqtypes/src/spec.c
                     , libpqtypes/src/utils.c
                     , libpqtypes/src/varlena.c

  default-language:  Haskell2010
  default-extensions: BangPatterns
                    , CApiFFI
                    , ConstraintKinds
                    , DataKinds
                    , DeriveFunctor
                    , ExistentialQuantification
                    , FlexibleContexts
                    , FlexibleInstances
                    , ForeignFunctionInterface
                    , GADTs
                    , GeneralizedNewtypeDeriving
                    , LambdaCase
                    , MultiParamTypeClasses
                    , MultiWayIf
                    , OverloadedStrings
                    , RankNTypes
                    , RecordWildCards
                    , ScopedTypeVariables
                    , StandaloneDeriving
                    , TupleSections
                    , TypeFamilies
                    , TypeOperators
                    , UndecidableInstances
  other-extensions:   AllowAmbiguousTypes
                    , CPP
                    , TypeApplications

test-suite hpqtypes-tests
  type:              exitcode-stdio-1.0
  ghc-options:       -Wall -threaded

  hs-source-dirs:    test
  main-is:           Main.hs
  other-modules:     Prelude.Instances
                     Test.Aeson.Compat
                     Test.QuickCheck.Arbitrary.Instances
  build-depends:       hpqtypes
                     , base >= 4.13 && < 5
                     , HUnit >= 1.2
                     , QuickCheck >= 2.7
                     , aeson >= 0.6.2.0
                     , bytestring >= 0.9
                     , exceptions >= 0.6
                     , lifted-base >= 0.2
                     , monad-control >= 1.0.3
                     , mtl >= 2.1
                     , random >= 1.0
                     , scientific
                     , test-framework >= 0.8
                     , test-framework-hunit >= 0.3
                     , text >= 0.11
                     , text-show
                     , time >= 1.4
                     , transformers-base >= 0.4
                     , unordered-containers
                     , vector
                     , uuid-types

  default-language:  Haskell2010
  default-extensions: BangPatterns
                    , ConstraintKinds
                    , DataKinds
                    , DeriveFunctor
                    , ExistentialQuantification
                    , FlexibleContexts
                    , FlexibleInstances
                    , ForeignFunctionInterface
                    , GADTs
                    , GeneralizedNewtypeDeriving
                    , LambdaCase
                    , MultiParamTypeClasses
                    , MultiWayIf
                    , OverloadedStrings
                    , RankNTypes
                    , RecordWildCards
                    , ScopedTypeVariables
                    , StandaloneDeriving
                    , TupleSections
                    , TypeFamilies
                    , TypeOperators
                    , UndecidableInstances