File postgresql-libpq.cabal of Package ghc-postgresql-libpq

name:               postgresql-libpq
version:            0.9.4.3
x-revision:         2
synopsis:           low-level binding to libpq
description:
  This is a binding to libpq: the C application
  programmer's interface to PostgreSQL. libpq is a
  set of library functions that allow client
  programs to pass queries to the PostgreSQL
  backend server and to receive the results of
  these queries.

homepage:           https://github.com/haskellari/postgresql-libpq
bug-reports:        https://github.com/haskellari/postgresql-libpq/issues
license:            BSD3
license-file:       LICENSE
author:             Grant Monroe, Leon P Smith, Joey Adams
maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
copyright:
  (c) 2010 Grant Monroe
  (c) 2011 Leon P Smith

category:           Database
build-type:         Custom
extra-source-files: cbits/noticehandlers.h
cabal-version:      >=1.10
tested-with:
  GHC ==7.0.4
   || ==7.2.2
   || ==7.4.2
   || ==7.6.3
   || ==7.8.4
   || ==7.10.3
   || ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.4
   || ==8.10.7
   || ==9.0.1
   || ==9.2.1

extra-source-files: CHANGELOG.md

custom-setup
  setup-depends:
      base   >=4.3  && <5
    , Cabal  >=1.10 && <3.7

-- If true,  use pkg-config,  otherwise use the pg_config based build
-- configuration
flag use-pkg-config
  default: False
  manual:  True

library
  default-language: Haskell2010
  hs-source-dirs:   src
  c-sources:        cbits/noticehandlers.c
  include-dirs:     cbits
  exposed-modules:
    Database.PostgreSQL.LibPQ
    Database.PostgreSQL.LibPQ.Internal

  other-modules:    Database.PostgreSQL.LibPQ.Compat
  build-depends:
      base        >=4.3     && <4.17
    , bytestring  >=0.9.1.0 && <0.12

  if !os(windows)
    build-depends: unix >=2.4.2.0 && <2.8

  if os(windows)
    build-depends: Win32 >=2.2.0.2 && <2.11

  ghc-options:      -Wall

  if flag(use-pkg-config)
    pkgconfig-depends: libpq ==9.3 || >9.3

  else
    if os(windows)
      -- Due to https://sourceware.org/bugzilla/show_bug.cgi?id=22948,
      -- if we specify pq instead of libpq, then ld might link against
      -- libpq.dll directly, which can lead to segfaults. As a temporary hack,
      -- we force ld to link against the libpq.lib import library directly
      -- by specifying libpq here.
      extra-libraries: libpq

    else
      extra-libraries: pq

      if os(openbsd)
        extra-libraries:
          crypto
          ssl

  -- Other-modules:
  build-tools:      hsc2hs -any

test-suite smoke
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  main-is:          Smoke.hs
  hs-source-dirs:   test
  build-depends:
      base
    , bytestring
    , postgresql-libpq

source-repository head
  type:     git
  location: https://github.com/haskellari/postgresql-libpq
openSUSE Build Service is sponsored by