-
Notifications
You must be signed in to change notification settings - Fork 5
/
foundationdb-haskell.cabal
277 lines (237 loc) · 10.1 KB
/
foundationdb-haskell.cabal
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
-- Initial foundationdb-haskell.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: foundationdb-haskell
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- https://wiki.haskell.org/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1.0.0
-- A short (one-line) description of the package.
synopsis: FoundationDB C client bindings
-- A longer description of the package.
description:
FoundationDB client bindings to the FoundationDB C API. Strives for feature
parity with the official language bindings, but with an idiomatic Haskell
interface.
.
Full support for the tuple and subspace layers is included. The directory
layer is also supported, with the exception of directory partitions.
.
A few additional facilities are provided in addition to what is provided by
other languages' client libraries, such as optionally reporting which key
ranges were involved in a transaction conflict.
.
See the documentation of the root module, "FoundationDB", to get started.
.
For more info, see the README on Github: <https://github.com/crclark/foundationdb-haskell/blob/master/README.md>
-- The license under which the package is released.
license: BSD3
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Connor Clark
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: [email protected]
-- A copyright notice.
copyright: Copyright (c) Connor Clark 2018-2022
category: Database
build-type: Simple
-- Extra files to be distributed with the package, such as examples or a
-- README.
extra-source-files: ChangeLog.md
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.10
homepage: https://github.com/crclark/foundationdb-haskell
bug-reports: https://github.com/crclark/foundationdb-haskell/issues
source-repository head
type: git
location: https://github.com/crclark/foundationdb-haskell
flag with-generate-options
description: Also build generate-options executable.
Manual: True
Default: False
flag fdb-version-520
description: Indicates that we are building against version 5.2.x of fdb_c.h
Only one of these flags may be specified. If none are specified,
7.1.x is assumed.
Manual: True
Default: False
flag fdb-version-600
description: Indicates that we are building against version 6.0.x of fdb_c.h
Only one of these flags may be specified. If none are specified,
7.1.x is assumed.
Manual: True
Default: False
flag fdb-version-610
description: Indicates that we are building against version 6.1.x of fdb_c.h
Only one of these flags may be specified. If none are specified,
7.1.x is assumed.
Manual: True
Default: False
flag fdb-version-620
description: Indicates that we are building against version 6.2.x of fdb_c.h
Only one of these flags may be specified. If none are specified,
7.1.x is assumed.
Manual: True
Default: False
flag fdb-version-630
description: Indicates that we are building against version 6.3.x of fdb_c.h
Only one of these flags may be specified. If none are specified,
7.1.x is assumed.
Manual: True
Default: False
flag fdb-version-700
description: Indicates that we are building against version 6.3.x of fdb_c.h
Only one of these flags may be specified. If none are specified,
7.1.x is assumed.
Manual: True
Default: False
library
-- Modules exported by the library.
exposed-modules: FoundationDB
, FoundationDB.Error
, FoundationDB.Error.Internal
, FoundationDB.Internal.Bindings
, FoundationDB.Internal.Database
, FoundationDB.Layer.Directory
, FoundationDB.Layer.Directory.Internal
, FoundationDB.Layer.Directory.Internal.Error
, FoundationDB.Layer.Directory.Internal.HCA
, FoundationDB.Layer.Directory.Internal.Node
, FoundationDB.Layer.Subspace
, FoundationDB.Layer.Tuple
, FoundationDB.Layer.Tuple.Internal
, FoundationDB.Options.DatabaseOption
, FoundationDB.Options.MutationType
, FoundationDB.Options.NetworkOption
, FoundationDB.Options.TransactionOption
, FoundationDB.Transaction
, FoundationDB.Versionstamp
, FoundationDB.Versionstamp.Internal
-- Modules included in this library but not exported.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- external library dependencies
extra-libraries: fdb_c
-- Other library packages from which modules are imported.
build-depends: base >=4.11 && <5
, array >= 0.5.0.0 && < 0.6
, bytestring >= 0.10.8.2 && <0.12
, cereal >= 0.5.0.0 && < 0.6
, containers >= 0.5.8.0 && < 0.7
, exceptions >=0.9.0 && < 0.11
, integer-gmp >= 0.5.1.0 && < 1.2
, mtl >= 2.2.0 && < 2.3
, random >= 1.1 && < 1.3
, text >= 1.2.3.0 && < 1.3
, deepseq >= 1.4.0.0 && < 1.5
, monad-control >= 1.0.0.0 && < 1.1
, transformers-base >= 0.4.0 && < 0.5
build-tools: c2hs >= 0.28.5 && < 0.29
-- Directories containing source files.
hs-source-dirs: src
-- Base language which the package is written in.
default-language: Haskell2010
default-extensions: CPP, CApiFFI
include-dirs: include
c-sources: cbits/fdbc_wrapper.c
ghc-options: -O2
-Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Widentities
-fobject-code
CC-Options: -std=c99 -DFDB_API_VERSION=710
CPP-Options: -DFDB_API_VERSION=710
if flag(fdb-version-520)
CC-Options: -std=c99 -DFDB_API_VERSION=520
CPP-Options: -DFDB_API_VERSION=520
if flag(fdb-version-600)
CC-Options: -std=c99 -DFDB_API_VERSION=600
CPP-Options: -DFDB_API_VERSION=600
if flag(fdb-version-610)
CC-Options: -std=c99 -DFDB_API_VERSION=610
CPP-Options: -DFDB_API_VERSION=610
if flag(fdb-version-620)
CC-Options: -std=c99 -DFDB_API_VERSION=620
CPP-Options: -DFDB_API_VERSION=620
if flag(fdb-version-630)
CC-Options: -std=c99 -DFDB_API_VERSION=630
CPP-Options: -DFDB_API_VERSION=630
if flag(fdb-version-700)
CC-Options: -std=c99 -DFDB_API_VERSION=700
CPP-Options: -DFDB_API_VERSION=700
executable generate-options
if flag(with-generate-options)
build-depends: base >=4.10 && <5
, xml >=1.3
, haskell-src-exts >=1.20
, optparse-generic >=1.2
, errors >=2.2
else
buildable: False
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: generate-options
main-is: Main.hs
other-modules: Generate, Parse
test-suite tests
build-depends: base >=4.10 && <5
, foundationdb-haskell
, async >= 2.2.3 && < 2.3
, hspec >= 2.7.8 && < 2.8
, bytestring >= 0.10.8.2 && <0.12
, QuickCheck >= 2.14.2 && < 2.15
, text >= 1.2.3.0 && < 1.3
, mtl >= 2.2.0 && < 2.3
, deepseq >= 1.4.0.0 && < 1.5
, containers >= 0.5.8.0 && < 0.7
default-language: Haskell2010
ghc-options: -Wall -threaded
hs-source-dirs: tests
main-is: Properties.hs
type: exitcode-stdio-1.0
default-extensions: CPP
extra-libraries: fdb_c
other-modules: Properties.FoundationDB.Layer.Tuple,
Properties.FoundationDB.Layer.Directory,
Properties.FoundationDB.Layer.Subspace,
Properties.FoundationDB.Transaction,
Properties.FoundationDB.Versionstamp.Internal
CC-Options: -std=c99 -DFDB_API_VERSION=710
CPP-Options: -DFDB_API_VERSION=710
if flag(fdb-version-520)
CC-Options: -std=c99 -DFDB_API_VERSION=520
CPP-Options: -DFDB_API_VERSION=520
if flag(fdb-version-600)
CC-Options: -std=c99 -DFDB_API_VERSION=600
CPP-Options: -DFDB_API_VERSION=600
if flag(fdb-version-610)
CC-Options: -std=c99 -DFDB_API_VERSION=610
CPP-Options: -DFDB_API_VERSION=610
if flag(fdb-version-620)
CC-Options: -std=c99 -DFDB_API_VERSION=620
CPP-Options: -DFDB_API_VERSION=620
if flag(fdb-version-630)
CC-Options: -std=c99 -DFDB_API_VERSION=630
CPP-Options: -DFDB_API_VERSION=630
if flag(fdb-version-700)
CC-Options: -std=c99 -DFDB_API_VERSION=700
CPP-Options: -DFDB_API_VERSION=700
benchmark tuple-bench
type: exitcode-stdio-1.0
hs-source-dirs: bench/tuple/
main-is: Main.hs
build-depends: base >=4.10 && <5
, foundationdb-haskell
, gauge >= 0.2.5 && < 0.3
, bytestring >= 0.10.8.2 && <0.12
, text >= 1.2.3.0 && < 1.3
default-language: Haskell2010