on acc-errors help sign in
typeable/aeson/aeson.cabal
255 lines 6.5 kB history raw
1name: aeson
2version: 1.2.3.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 Parsing performance on a late 2013 MacBook Pro (2.6GHz Core i7),
25 running 64-bit GHC 7.10.1, for mostly-English tweets from Twitter's
26 JSON search API:
27 .
28 * 6.4 KB payloads, English: 7570 msg\/sec (47.6 MB\/sec)
29 .
30 * 14.6 KB payloads, Japanese: 3261 msg\/sec (46.6 MB\/sec)
31 .
32 Encoding performance on the same machine and data:
33 .
34 * 6.4 KB payloads, English: 22738 msg\/sec (142.9 MB\/sec)
35 .
36 * 14.6 KB payloads, Japanese: 15911 msg\/sec (227.4 MB\/sec)
37 .
38 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
40extra-source-files:
41 *.yaml
42 README.markdown
43 benchmarks/*.cabal
44 benchmarks/*.hs
45 benchmarks/*.py
46 benchmarks/Compare/*.hs
47 benchmarks/Makefile
48 benchmarks/Typed/*.hs
49 benchmarks/json-data/*.json
50 cbits/*.c
51 changelog.md
52 examples/*.cabal
53 examples/*.hs
54 examples/Twitter/*.hs
55 ffi/Data/Aeson/Parser/*.hs
56 include/*.h
57 tests/JSONTestSuite/test_parsing/*.json
58 tests/JSONTestSuite/test_transform/*.json
59 pure/Data/Aeson/Parser/*.hs
61flag developer
62 description: operate in developer mode
63 default: False
64 manual: True
66flag fast
67 description: compile without optimizations
68 default: False
69 manual: True
71flag bytestring-builder
72 description: Depend on the bytestring-builder package for backwards compatibility.
73 default: False
74 manual: False
76flag cffi
77 description: Controls whether to include c-ffi bits or pure haskell. Default to False for security.
78 default: False
79 manual: True
81library
82 default-language: Haskell2010
83 hs-source-dirs: . attoparsec-iso8601/
85 exposed-modules:
86 Data.Aeson
87 Data.Aeson.Encoding
88 Data.Aeson.Parser
89 Data.Aeson.Text
90 Data.Aeson.Types
91 Data.Aeson.TH
93 Data.Aeson.Encoding.Internal
94 Data.Aeson.Internal
95 Data.Aeson.Internal.Time
96 Data.Aeson.Parser.Internal
98 -- Deprecated modules
99 exposed-modules:
100 Data.Aeson.Encode
102 other-modules:
103 Data.Aeson.Compat
104 Data.Aeson.Encoding.Builder
105 Data.Aeson.Internal.Functions
106 Data.Aeson.Parser.Unescape
107 Data.Aeson.Parser.Time
108 Data.Aeson.Types.FromJSON
109 Data.Aeson.Types.Generic
110 Data.Aeson.Types.ToJSON
111 Data.Aeson.Types.Class
112 Data.Aeson.Types.Internal
113 Data.Attoparsec.Time
114 Data.Attoparsec.Time.Internal
116 build-depends:
117 attoparsec >= 0.13.0.1,
118 base >= 4.5 && < 5,
119 base-compat >= 0.9.1 && < 0.10,
120 containers >= 0.4.2,
121 deepseq >= 1.3 && < 1.5,
122 dlist >= 0.6,
123 ghc-prim >= 0.2,
124 hashable >= 1.1.2.0,
125 scientific >= 0.3.4.7 && < 0.4,
126 tagged >=0.8.3 && <0.9,
127 template-haskell >= 2.7,
128 text >= 1.1.1.0,
129 th-abstraction >= 0.2.2 && < 0.3,
130 time >= 1.1.1.4,
131 time-locale-compat >= 0.1.1 && < 0.2,
132 unordered-containers >= 0.2.5.0 && < 0.3,
133 uuid-types >= 1.0.3 && <1.1,
134 vector >= 0.8
136 if flag(bytestring-builder)
137 build-depends: bytestring >= 0.9.2 && < 0.10.4,
138 bytestring-builder >= 0.10.4 && < 1
139 else
140 build-depends: bytestring >= 0.10.4 && < 0.11
142 if !impl(ghc >= 8.0)
143 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
144 build-depends:
145 semigroups >= 0.18.2 && < 0.19,
146 transformers >= 0.2.2.0,
147 transformers-compat >= 0.3,
148 fail == 4.9.*
150 if !impl(ghc >= 7.10)
151 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
152 build-depends: nats >= 1 && < 1.2
154 ghc-options: -Wall
156 if flag(developer)
157 ghc-options: -Werror
158 ghc-prof-options: -auto-all
160 if flag(fast)
161 ghc-options: -O0
162 else
163 ghc-options: -O2
165 include-dirs: include
166 if impl(ghcjs) || !flag(cffi)
167 hs-source-dirs: pure
168 other-modules: Data.Aeson.Parser.UnescapePure
169 else
170 c-sources: cbits/unescape_string.c
171 cpp-options: -DCFFI
172 hs-source-dirs: ffi
173 other-modules: Data.Aeson.Parser.UnescapeFFI
175test-suite tests
176 default-language: Haskell2010
177 type: exitcode-stdio-1.0
178 hs-source-dirs: tests ffi pure
179 main-is: Tests.hs
180 c-sources: cbits/unescape_string.c
181 ghc-options: -Wall -threaded -rtsopts
183 other-modules:
184 Data.Aeson.Parser.UnescapeFFI
185 Data.Aeson.Parser.UnescapePure
186 DataFamilies.Properties
187 DataFamilies.Instances
188 DataFamilies.Encoders
189 DataFamilies.Types
190 Encoders
191 ErrorMessages
192 Functions
193 Instances
194 Options
195 Properties
196 SerializationFormatSpec
197 Types
198 UnitTests
199 UnitTests.NullaryConstructors
201 build-depends:
202 HUnit,
203 QuickCheck >= 2.10.0.1 && < 2.11,
204 aeson,
205 integer-logarithms >= 1 && <1.1,
206 attoparsec,
207 base,
208 base-compat,
209 base-orphans >= 0.5.3 && <0.7,
210 base16-bytestring,
211 containers,
212 directory,
213 dlist,
214 filepath,
215 generic-deriving >= 1.10 && < 1.13,
216 ghc-prim >= 0.2,
217 hashable >= 1.2.4.0,
218 scientific,
219 tagged,
220 template-haskell,
221 test-framework,
222 test-framework-hunit,
223 test-framework-quickcheck2,
224 text,
225 time,
226 time-locale-compat,
227 unordered-containers,
228 uuid-types,
229 vector,
230 quickcheck-instances >= 0.3.16
232 if flag(bytestring-builder)
233 build-depends: bytestring >= 0.9 && < 0.10.4,
234 bytestring-builder >= 0.10.4 && < 1
235 else
236 build-depends: bytestring >= 0.10.4
238 if !impl(ghc >= 8.0)
239 build-depends:
240 semigroups >= 0.18.2 && < 0.19,
241 transformers >= 0.2.2.0,
242 transformers-compat >= 0.3
244 if !impl(ghc >= 7.10)
245 build-depends: nats >=1 && <1.2
247 if impl(ghc >= 7.8)
248 build-depends: hashable-time >= 0.2 && <0.3
250 if flag(fast)
251 ghc-options: -fno-enable-rewrite-rules
253source-repository head
254 type: git
255 location: git://github.com/bos/aeson.git