on master help sign in
typeable/aeson/aeson.cabal
266 lines 6.8 kB history raw
1name: aeson
2version: 1.4.6.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.Encoding.Builder
92 Data.Aeson.Internal.Functions
93 Data.Aeson.Parser.Unescape
94 Data.Aeson.Parser.Time
95 Data.Aeson.Types.FromJSON
96 Data.Aeson.Types.Generic
97 Data.Aeson.Types.ToJSON
98 Data.Aeson.Types.Class
99 Data.Aeson.Types.Internal
100 Data.Attoparsec.Time
101 Data.Attoparsec.Time.Internal
103 -- GHC bundled libs
104 build-depends:
105 base >= 4.7.0.0 && < 5,
106 bytestring >= 0.10.4.0 && < 0.11,
107 containers >= 0.5.5.1 && < 0.7,
108 deepseq >= 1.3.0.0 && < 1.5,
109 ghc-prim >= 0.2 && < 0.6,
110 template-haskell >= 2.9.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 !impl(ghc >= 8.6)
123 build-depends:
124 contravariant >=1.4.1 && <1.6
126 if !impl(ghc >= 8.0)
127 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
128 build-depends:
129 semigroups >= 0.18.5 && < 0.20,
130 transformers >= 0.3.0.0 && < 0.6,
131 transformers-compat >= 0.6.2 && < 0.7,
132 fail == 4.9.*
134 if !impl(ghc >= 7.10)
135 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
136 build-depends: nats >= 1.1.1 && < 1.2,
137 void >= 0.7.2 && < 0.8
139 -- cannot use latest version
140 build-depends:
141 unordered-containers >= 0.2.8.0 && < 0.3,
143 -- not in LTS-12.10
144 tagged >= 0.8.5 && < 0.9,
145 primitive >= 0.6.3.0 && < 0.8
147 -- Other dependencies
148 build-depends:
149 attoparsec >= 0.13.2.2 && < 0.14,
150 dlist >= 0.8.0.4 && < 0.9,
151 hashable >= 1.2.7.0 && < 1.4,
152 scientific >= 0.3.6.2 && < 0.4,
153 th-abstraction >= 0.2.8.0 && < 0.4,
154 uuid-types >= 1.0.3 && < 1.1,
155 vector >= 0.12.0.1 && < 0.13
157 ghc-options: -Wall
159 if flag(developer)
160 ghc-options: -Werror
161 ghc-prof-options: -auto-all
163 if flag(fast)
164 ghc-options: -O0
165 else
166 ghc-options: -O2
168 include-dirs: include
169 if impl(ghcjs) || !flag(cffi)
170 hs-source-dirs: pure
171 other-modules: Data.Aeson.Parser.UnescapePure
172 else
173 c-sources: cbits/unescape_string.c
174 cpp-options: -DCFFI
175 hs-source-dirs: ffi
176 other-modules: Data.Aeson.Parser.UnescapeFFI
178test-suite tests
179 default-language: Haskell2010
180 type: exitcode-stdio-1.0
181 hs-source-dirs: tests ffi pure
182 main-is: Tests.hs
183 c-sources: cbits/unescape_string.c
184 ghc-options: -Wall -threaded -rtsopts
186 other-modules:
187 Data.Aeson.Parser.UnescapeFFI
188 Data.Aeson.Parser.UnescapePure
189 DataFamilies.Properties
190 DataFamilies.Instances
191 DataFamilies.Encoders
192 DataFamilies.Types
193 Encoders
194 ErrorMessages
195 Functions
196 Instances
197 Options
198 PropUtils
199 Properties
200 PropertyGeneric
201 PropertyKeys
202 PropertyRoundTrip
203 PropertyRTFunctors
204 PropertyTH
205 SerializationFormatSpec
206 Types
207 UnitTests
208 UnitTests.NullaryConstructors
210 build-depends:
211 QuickCheck >= 2.10.0.1 && < 2.14,
212 aeson,
213 integer-logarithms >= 1 && <1.1,
214 attoparsec,
215 base,
216 base-compat,
217 base-orphans >= 0.5.3 && <0.9,
218 base16-bytestring,
219 containers,
220 directory,
221 dlist,
222 Diff >= 0.4 && < 0.5,
223 filepath,
224 generic-deriving >= 1.10 && < 1.14,
225 ghc-prim >= 0.2,
226 hashable >= 1.2.4.0,
227 scientific,
228 tagged,
229 template-haskell,
230 tasty,
231 tasty-golden,
232 tasty-hunit,
233 tasty-quickcheck,
234 text,
235 time,
236 time-compat,
237 unordered-containers,
238 uuid-types,
239 vector,
240 quickcheck-instances >= 0.3.21 && <0.4
242 if flag(bytestring-builder)
243 build-depends: bytestring >= 0.9 && < 0.10.4,
244 bytestring-builder >= 0.10.4 && < 1
245 else
246 build-depends: bytestring >= 0.10.4
248 if !impl(ghc >= 8.0)
249 build-depends:
250 semigroups >= 0.18.2 && < 0.20,
251 transformers >= 0.2.2.0,
252 transformers-compat >= 0.3
254 if !impl(ghc >= 7.10)
255 build-depends: nats >=1 && <1.2,
256 void >=0.7.2 && <0.8
258 if impl(ghc >= 7.8)
259 build-depends: hashable-time >= 0.2 && <0.3
261 if flag(fast)
262 ghc-options: -fno-enable-rewrite-rules
264source-repository head
265 type: git
266 location: git://github.com/bos/aeson.git