on 1.2.2.0 help sign in
typeable/aeson/aeson.cabal
254 lines 6.5 kB history raw
1name: aeson
2version: 1.2.2.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.Encoding.Builder
104 Data.Aeson.Internal.Functions
105 Data.Aeson.Parser.Unescape
106 Data.Aeson.Parser.Time
107 Data.Aeson.Types.FromJSON
108 Data.Aeson.Types.Generic
109 Data.Aeson.Types.ToJSON
110 Data.Aeson.Types.Class
111 Data.Aeson.Types.Internal
112 Data.Attoparsec.Time
113 Data.Attoparsec.Time.Internal
115 build-depends:
116 attoparsec >= 0.13.0.1,
117 base >= 4.5 && < 5,
118 base-compat >= 0.9.1 && < 0.10,
119 containers >= 0.4.2,
120 deepseq >= 1.3 && < 1.5,
121 dlist >= 0.6,
122 ghc-prim >= 0.2,
123 hashable >= 1.1.2.0,
124 scientific >= 0.3.4.7 && < 0.4,
125 tagged >=0.8.3 && <0.9,
126 template-haskell >= 2.7,
127 text >= 1.1.1.0,
128 th-abstraction >= 0.2.2 && < 0.3,
129 time >= 1.1.1.4,
130 time-locale-compat >= 0.1.1 && < 0.2,
131 unordered-containers >= 0.2.5.0 && < 0.3,
132 uuid-types >= 1.0.3 && <1.1,
133 vector >= 0.8
135 if flag(bytestring-builder)
136 build-depends: bytestring >= 0.9.2 && < 0.10.4,
137 bytestring-builder >= 0.10.4 && < 1
138 else
139 build-depends: bytestring >= 0.10.4 && < 0.11
141 if !impl(ghc >= 8.0)
142 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
143 build-depends:
144 semigroups >= 0.18.2 && < 0.19,
145 transformers >= 0.2.2.0,
146 transformers-compat >= 0.3,
147 fail == 4.9.*
149 if !impl(ghc >= 7.10)
150 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
151 build-depends: nats >= 1 && < 1.2
153 ghc-options: -Wall
155 if flag(developer)
156 ghc-options: -Werror
157 ghc-prof-options: -auto-all
159 if flag(fast)
160 ghc-options: -O0
161 else
162 ghc-options: -O2
164 include-dirs: include
165 if impl(ghcjs) || !flag(cffi)
166 hs-source-dirs: pure
167 other-modules: Data.Aeson.Parser.UnescapePure
168 else
169 c-sources: cbits/unescape_string.c
170 cpp-options: -DCFFI
171 hs-source-dirs: ffi
172 other-modules: Data.Aeson.Parser.UnescapeFFI
174test-suite tests
175 default-language: Haskell2010
176 type: exitcode-stdio-1.0
177 hs-source-dirs: tests ffi pure
178 main-is: Tests.hs
179 c-sources: cbits/unescape_string.c
180 ghc-options: -Wall -threaded -rtsopts
182 other-modules:
183 Data.Aeson.Parser.UnescapeFFI
184 Data.Aeson.Parser.UnescapePure
185 DataFamilies.Properties
186 DataFamilies.Instances
187 DataFamilies.Encoders
188 DataFamilies.Types
189 Encoders
190 ErrorMessages
191 Functions
192 Instances
193 Options
194 Properties
195 SerializationFormatSpec
196 Types
197 UnitTests
198 UnitTests.NullaryConstructors
200 build-depends:
201 HUnit,
202 QuickCheck >= 2.8 && <2.11,
203 aeson,
204 integer-logarithms >= 1 && <1.1,
205 attoparsec,
206 base,
207 base-compat,
208 base-orphans >= 0.5.3 && <0.7,
209 base16-bytestring,
210 containers,
211 directory,
212 dlist,
213 filepath,
214 generic-deriving >= 1.10 && < 1.12,
215 ghc-prim >= 0.2,
216 hashable >= 1.2.4.0,
217 scientific,
218 tagged,
219 template-haskell,
220 test-framework,
221 test-framework-hunit,
222 test-framework-quickcheck2,
223 text,
224 time,
225 time-locale-compat,
226 unordered-containers,
227 uuid-types,
228 vector,
229 quickcheck-instances >=0.3.14
231 if flag(bytestring-builder)
232 build-depends: bytestring >= 0.9 && < 0.10.4,
233 bytestring-builder >= 0.10.4 && < 1
234 else
235 build-depends: bytestring >= 0.10.4
237 if !impl(ghc >= 8.0)
238 build-depends:
239 semigroups >= 0.18.2 && < 0.19,
240 transformers >= 0.2.2.0,
241 transformers-compat >= 0.3
243 if !impl(ghc >= 7.10)
244 build-depends: nats >=1 && <1.2
246 if impl(ghc >= 7.8)
247 build-depends: hashable-time >= 0.2 && <0.3
249 if flag(fast)
250 ghc-options: -fno-enable-rewrite-rules
252source-repository head
253 type: git
254 location: git://github.com/bos/aeson.git