on 1.4.5.0 help sign in
typeable/aeson/aeson.cabal
272 lines 7.0 kB history raw
1name: aeson
2version: 1.4.5.0
3license: BSD3
4license-file: LICENSE
5category: Text, Web, JSON
6copyright: (c) 2011-2016 Bryan O'Sullivan
7 (c) 2011 MailRank, Inc.
8author: Bryan O'Sullivan <bos@serpentine.com>
9maintainer: Adam Bergmark <adam@bergmark.nl>
10stability: experimental
11tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1
12synopsis: Fast JSON parsing and encoding
13cabal-version: >= 1.10
14homepage: https://github.com/bos/aeson
15bug-reports: https://github.com/bos/aeson/issues
16build-type: Simple
17description:
18 A JSON parsing and encoding library optimized for ease of use
19 and high performance.
20 .
21 To get started, see the documentation for the @Data.Aeson@ module
22 below.
23 .
24 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
26extra-source-files:
27 *.yaml
28 README.markdown
29 benchmarks/*.cabal
30 benchmarks/*.hs
31 benchmarks/*.py
32 benchmarks/Compare/*.hs
33 benchmarks/Makefile
34 benchmarks/Typed/*.hs
35 benchmarks/json-data/*.json
36 cbits/*.c
37 changelog.md
38 examples/*.cabal
39 examples/*.hs
40 examples/Twitter/*.hs
41 ffi/Data/Aeson/Parser/*.hs
42 include/*.h
43 tests/JSONTestSuite/test_parsing/*.json
44 tests/JSONTestSuite/test_transform/*.json
45 tests/golden/*.expected
46 pure/Data/Aeson/Parser/*.hs
48flag developer
49 description: operate in developer mode
50 default: False
51 manual: True
53flag fast
54 description: compile without optimizations
55 default: False
56 manual: True
58flag bytestring-builder
59 description: Depend on the bytestring-builder package for backwards compatibility.
60 default: False
61 manual: False
63flag cffi
64 description: Controls whether to include c-ffi bits or pure haskell. Default to False for security.
65 default: False
66 manual: True
68library
69 default-language: Haskell2010
70 hs-source-dirs: . attoparsec-iso8601/
72 exposed-modules:
73 Data.Aeson
74 Data.Aeson.Encoding
75 Data.Aeson.Parser
76 Data.Aeson.Text
77 Data.Aeson.Types
78 Data.Aeson.TH
79 Data.Aeson.QQ.Simple
81 Data.Aeson.Encoding.Internal
82 Data.Aeson.Internal
83 Data.Aeson.Internal.Time
84 Data.Aeson.Parser.Internal
86 -- Deprecated modules
87 exposed-modules:
88 Data.Aeson.Encode
90 other-modules:
91 Data.Aeson.Compat
92 Data.Aeson.Encoding.Builder
93 Data.Aeson.Internal.Functions
94 Data.Aeson.Parser.Unescape
95 Data.Aeson.Parser.Time
96 Data.Aeson.Types.FromJSON
97 Data.Aeson.Types.Generic
98 Data.Aeson.Types.ToJSON
99 Data.Aeson.Types.Class
100 Data.Aeson.Types.Internal
101 Data.Attoparsec.Time
102 Data.Attoparsec.Time.Internal
104 -- GHC bundled libs
105 build-depends:
106 base >= 4.5.0.0 && < 5,
107 containers >= 0.4.2.1 && < 0.7,
108 deepseq >= 1.3.0.0 && < 1.5,
109 ghc-prim >= 0.2 && < 0.6,
110 template-haskell >= 2.7.0.0 && < 2.16,
111 text >= 1.2.3.0 && < 1.3,
112 time >= 1.4 && < 1.10
114 if impl(ghc >= 8.0)
115 build-depends: bytestring >= 0.10.8.1
117 -- Compat
118 build-depends:
119 base-compat >= 0.9.1 && < 0.12,
120 time-compat >= 1.9.2.2 && < 1.10
122 if flag(bytestring-builder)
123 build-depends: bytestring >= 0.9.2.1 && < 0.10.4,
124 bytestring-builder >= 0.10.4 && < 1
125 else
126 build-depends: bytestring >= 0.10.4 && < 0.11
128 if !impl(ghc >= 8.6)
129 build-depends:
130 contravariant >=1.4.1 && <1.6
132 if !impl(ghc >= 8.0)
133 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
134 build-depends:
135 semigroups >= 0.18.5 && < 0.20,
136 transformers >= 0.3.0.0 && < 0.6,
137 transformers-compat >= 0.6.2 && < 0.7,
138 fail == 4.9.*
140 if !impl(ghc >= 7.10)
141 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
142 build-depends: nats >= 1.1.1 && < 1.2,
143 void >= 0.7.2 && < 0.8
145 -- cannot use latest version
146 build-depends:
147 unordered-containers >= 0.2.8.0 && < 0.3,
149 -- not in LTS-12.10
150 tagged >= 0.8.5 && < 0.9,
151 primitive >= 0.6.3.0 && < 0.8
153 -- Other dependencies
154 build-depends:
155 attoparsec >= 0.13.2.2 && < 0.14,
156 dlist >= 0.8.0.4 && < 0.9,
157 hashable >= 1.2.7.0 && < 1.4,
158 scientific >= 0.3.6.2 && < 0.4,
159 th-abstraction >= 0.2.8.0 && < 0.4,
160 uuid-types >= 1.0.3 && < 1.1,
161 vector >= 0.12.0.1 && < 0.13
163 ghc-options: -Wall
165 if flag(developer)
166 ghc-options: -Werror
167 ghc-prof-options: -auto-all
169 if flag(fast)
170 ghc-options: -O0
171 else
172 ghc-options: -O2
174 include-dirs: include
175 if impl(ghcjs) || !flag(cffi)
176 hs-source-dirs: pure
177 other-modules: Data.Aeson.Parser.UnescapePure
178 else
179 c-sources: cbits/unescape_string.c
180 cpp-options: -DCFFI
181 hs-source-dirs: ffi
182 other-modules: Data.Aeson.Parser.UnescapeFFI
184test-suite tests
185 default-language: Haskell2010
186 type: exitcode-stdio-1.0
187 hs-source-dirs: tests ffi pure
188 main-is: Tests.hs
189 c-sources: cbits/unescape_string.c
190 ghc-options: -Wall -threaded -rtsopts
192 other-modules:
193 Data.Aeson.Parser.UnescapeFFI
194 Data.Aeson.Parser.UnescapePure
195 DataFamilies.Properties
196 DataFamilies.Instances
197 DataFamilies.Encoders
198 DataFamilies.Types
199 Encoders
200 ErrorMessages
201 Functions
202 Instances
203 Options
204 PropUtils
205 Properties
206 PropertyGeneric
207 PropertyKeys
208 PropertyRoundTrip
209 PropertyRTFunctors
210 PropertyTH
211 SerializationFormatSpec
212 Types
213 UnitTests
214 UnitTests.NullaryConstructors
216 build-depends:
217 QuickCheck >= 2.10.0.1 && < 2.14,
218 aeson,
219 integer-logarithms >= 1 && <1.1,
220 attoparsec,
221 base,
222 base-compat,
223 base-orphans >= 0.5.3 && <0.9,
224 base16-bytestring,
225 containers,
226 directory,
227 dlist,
228 Diff,
229 filepath,
230 generic-deriving >= 1.10 && < 1.13,
231 ghc-prim >= 0.2,
232 hashable >= 1.2.4.0,
233 scientific,
234 tagged,
235 template-haskell,
236 tasty,
237 tasty-golden,
238 tasty-hunit,
239 tasty-quickcheck,
240 text,
241 time,
242 time-compat,
243 unordered-containers,
244 uuid-types,
245 vector,
246 quickcheck-instances >= 0.3.21 && <0.4
248 if flag(bytestring-builder)
249 build-depends: bytestring >= 0.9 && < 0.10.4,
250 bytestring-builder >= 0.10.4 && < 1
251 else
252 build-depends: bytestring >= 0.10.4
254 if !impl(ghc >= 8.0)
255 build-depends:
256 semigroups >= 0.18.2 && < 0.20,
257 transformers >= 0.2.2.0,
258 transformers-compat >= 0.3
260 if !impl(ghc >= 7.10)
261 build-depends: nats >=1 && <1.2,
262 void >=0.7.2 && <0.8
264 if impl(ghc >= 7.8)
265 build-depends: hashable-time >= 0.2 && <0.3
267 if flag(fast)
268 ghc-options: -fno-enable-rewrite-rules
270source-repository head
271 type: git
272 location: git://github.com/bos/aeson.git