packages feed

hpqtypes-1.13.0.1: hpqtypes.cabal

cabal-version:       3.0
build-type:          Simple
name:                hpqtypes
version:             1.13.0.1
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:             BSD-3-Clause
license-file:        LICENSE
author:              Scrive AB
maintainer:          Andrzej Rybczak <andrzej@rybczak.net>
copyright:           Scrive AB
category:            Database
tested-with:         GHC == { 9.2.8, 9.4.8, 9.6.7, 9.8.4, 9.10.3, 9.12.2, 9.14.1 }

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.BackendPid
                     , 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.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.16    && < 5
                     , text              >= 0.11
                     , aeson             >= 1.0
                     , async             >= 2.1.1.1
                     , bytestring        >= 0.9
                     , time              >= 1.4
                     , vector            >= 0.10
                     , transformers-base >= 0.4
                     , monad-control     >= 1.0.3
                     , lifted-base       >= 0.2
                     , resource-pool     >= 0.4
                     , mtl               >= 2.1
                     , transformers      >= 0.2.2
                     , containers        >= 0.5.0.0
                     , exceptions        >= 0.9
                     , stm               >= 2.5.0.0
                     , text-show         >= 2
                     , uuid-types        >= 1.0.3

  pkgconfig-depends: libpq

  hs-source-dirs:    src

  ghc-options:       -Wall -Werror=prepositive-qualified-module

  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
                    , DerivingStrategies
                    , ExistentialQuantification
                    , FlexibleContexts
                    , FlexibleInstances
                    , ForeignFunctionInterface
                    , GADTs
                    , GeneralizedNewtypeDeriving
                    , ImportQualifiedPost
                    , LambdaCase
                    , MultiParamTypeClasses
                    , MultiWayIf
                    , OverloadedStrings
                    , RankNTypes
                    , RecordWildCards
                    , ScopedTypeVariables
                    , StandaloneDeriving
                    , TypeApplications
                    , TupleSections
                    , TypeFamilies
                    , TypeOperators
                    , UndecidableInstances
  other-extensions:   AllowAmbiguousTypes
                    , CPP

test-suite hpqtypes-tests
  type:              exitcode-stdio-1.0
  ghc-options:       -Wall -Werror=prepositive-qualified-module -threaded

  hs-source-dirs:    test
  main-is:           Main.hs
  other-modules:     Prelude.Instances
                     Test.Aeson.Compat
                     Test.QuickCheck.Arbitrary.Instances

  -- make sure examples compile
  hs-source-dirs:    examples
  other-modules:     Catalog
                     OuterJoins

  build-depends:       hpqtypes
                     , base >= 4.14 && < 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
                     , readline >= 1.0.3.0
                     , resource-pool >= 0.4
                     , scientific
                     , test-framework >= 0.8
                     , test-framework-hunit >= 0.3
                     , text >= 0.11
                     , text-show
                     , time >= 1.4
                     , transformers-base >= 0.4
                     , vector
                     , uuid-types

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