File: postgresql-libpq.cabal

package info (click to toggle)
haskell-postgresql-libpq 0.10.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 208 kB
  • sloc: haskell: 1,330; ansic: 74; makefile: 2
file content (113 lines) | stat: -rw-r--r-- 3,035 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
cabal-version:      2.4
name:               postgresql-libpq
version:            0.10.0.0
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:            BSD-3-Clause
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/hs-libpq.h
tested-with:
  GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.7 || ==9.4.4 || ==9.6.1

extra-source-files: CHANGELOG.md

custom-setup
  setup-depends:
    , base   >=4.12.0.0 && <5
    , Cabal  >=2.4      && <3.11

-- 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
  ghc-options:        -Wall
  other-extensions:
    BangPatterns
    CApiFFI
    DerivingStrategies
    EmptyDataDecls
    GeneralizedNewtypeDeriving
    OverloadedStrings
    ScopedTypeVariables

  exposed-modules:
    Database.PostgreSQL.LibPQ
    Database.PostgreSQL.LibPQ.Internal

  other-modules:
    Database.PostgreSQL.LibPQ.Compat
    Database.PostgreSQL.LibPQ.Enums
    Database.PostgreSQL.LibPQ.FFI
    Database.PostgreSQL.LibPQ.Marshal
    Database.PostgreSQL.LibPQ.Notify
    Database.PostgreSQL.LibPQ.Oid

  build-depends:
    , base        >=4.12.0.0 && <4.19
    , bytestring  >=0.10.8.2 && <0.12

  if !os(windows)
    build-depends: unix >=2.7.2.2 && <2.9

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

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

  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

  build-tool-depends: hsc2hs:hsc2hs >=0.68.5

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