-
Notifications
You must be signed in to change notification settings - Fork 85
/
cborg.cabal
171 lines (153 loc) · 5.07 KB
/
cborg.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
name: cborg
version: 0.2.9.0
synopsis: Concise Binary Object Representation (CBOR)
license: BSD3
license-file: LICENSE.txt
author: Duncan Coutts
maintainer: duncan@community.haskell.org, ben@smart-cactus.org
bug-reports: https://github.com/well-typed/cborg/issues
copyright: 2015-2019 Duncan Coutts,
2015-2019 Well-Typed LLP,
2015 IRIS Connect Ltd
category: Codec
build-type: Simple
cabal-version: >= 1.10
tested-with:
GHC == 8.4.4,
GHC == 8.6.5,
GHC == 8.8.3,
GHC == 8.10.7,
GHC == 9.0.1,
GHC == 9.2.2,
GHC == 9.4.2,
GHC == 9.6.1
extra-source-files:
ChangeLog.md
description:
This package provides an efficient implementation of the Concise
Binary Object Representation (CBOR), as specified by
[RFC 7049](https://tools.ietf.org/html/rfc7049).
.
If you are looking for a library for serialisation of Haskell values,
have a look at the [serialise](/package/serialise) package, which is
built upon this library.
.
An implementation of the standard bijection between CBOR and JSON is
provided by the [cborg-json](/package/cborg-json) package. Also see
[cbor-tool](/package/cbor-tool) for a convenient command-line utility
for working with CBOR data.
.
This package was formerly known as @binary-serialise-cbor@.
extra-source-files:
src/cbits/cbor.h
tests/test-vectors/appendix_a.json
tests/test-vectors/README.md
source-repository head
type: git
location: https://github.com/well-typed/cborg.git
--------------------------------------------------------------------------------
-- Flags
flag optimize-gmp
default: True
manual: False
description: Use optimized code paths for integer-gmp
--------------------------------------------------------------------------------
-- Library
library
default-language: Haskell2010
ghc-options: -Wall
include-dirs: src/cbits
hs-source-dirs: src
exposed-modules:
Codec.CBOR
Codec.CBOR.Decoding
Codec.CBOR.Encoding
Codec.CBOR.FlatTerm
Codec.CBOR.Magic
Codec.CBOR.Pretty
Codec.CBOR.Read
Codec.CBOR.Write
Codec.CBOR.Term
Codec.CBOR.ByteArray
Codec.CBOR.ByteArray.Sliced
other-modules:
Codec.CBOR.ByteArray.Internal
other-extensions:
CPP, ForeignFunctionInterface, MagicHash,
UnboxedTuples, BangPatterns, DeriveDataTypeable,
RankNTypes
build-depends:
array >= 0.4 && < 0.6,
base >= 4.11 && < 4.19,
bytestring >= 0.10.4 && < 0.12,
containers >= 0.5 && < 0.7,
deepseq >= 1.0 && < 1.5,
ghc-prim >= 0.3.1.0 && < 0.11,
half >= 0.2.2.3 && < 0.4,
primitive >= 0.5 && < 0.9,
text >= 1.1 && < 1.3 || >= 2.0 && <2.1
if flag(optimize-gmp)
cpp-options: -DOPTIMIZE_GMP
if impl(ghc >= 9.0)
cpp-options: -DHAVE_GHC_BIGNUM
build-depends: ghc-bignum >= 1.0 && < 2.0
else
build-depends: integer-gmp >= 1.0 && < 2.0
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances
else
build-depends:
-- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
fail == 4.9.*,
semigroups >= 0.18 && < 0.21,
-- the `PS` pattern synonym in bytestring 0.11 is unavailable with GHC < 8.0
bytestring < 0.11
test-suite tests
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Main.hs
default-language: Haskell2010
ghc-options:
-Wall -fno-warn-orphans
-threaded -rtsopts "-with-rtsopts=-N2"
other-modules:
Tests.UnitTests
Tests.Properties
Tests.Boundary
Tests.ByteOffset
Tests.Canonical
Tests.PreEncoded
Tests.Regress
Tests.Regress.Issue160
Tests.Regress.Issue162
Tests.Regress.FlatTerm
Tests.Reference
Tests.Reference.Implementation
Tests.Reference.Generators
Tests.Reference.TestVectors
Tests.Term
Tests.UTF8
Tests.Util
build-depends:
array >= 0.4 && < 0.6,
base >= 4.11 && < 4.19,
base-orphans,
bytestring >= 0.10.4 && < 0.12,
text >= 1.1 && < 2.1,
primitive >= 0.5 && < 0.9,
cborg,
aeson >= 0.7 && < 2.2,
base64-bytestring >= 1.0 && < 1.3,
base16-bytestring >= 1.0 && < 1.1,
deepseq >= 1.0 && < 1.5,
half >= 0.2.2.3 && < 0.4,
QuickCheck >= 2.9 && < 2.15,
random,
scientific >= 0.3 && < 0.4,
tasty >= 0.11 && < 1.5,
tasty-hunit >= 0.9 && < 0.11,
tasty-quickcheck >= 0.8 && < 0.11,
vector >= 0.10 && < 0.14
if !impl(ghc >= 8.0)
build-depends:
fail >= 4.9.0.0 && < 4.10