on 1.1.x help sign in
typeable/aeson/aeson.cabal
251 lines 6.3 kB history raw
1name: aeson
2version: 1.1.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
78 default: True
79 manual: True
81library
82 default-language: Haskell2010
83 hs-source-dirs: .
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
97 -- Deprecated modules
98 exposed-modules:
99 Data.Aeson.Encode
101 other-modules:
102 Data.Aeson.Encoding.Builder
103 Data.Aeson.Internal.Functions
104 Data.Aeson.Parser.Internal
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
113 build-depends:
114 attoparsec >= 0.13.0.1,
115 base >= 4.5 && < 5,
116 base-compat >= 0.9.1 && < 0.10,
117 containers >= 0.2.4.1,
118 deepseq >= 1.3,
119 dlist >= 0.2,
120 ghc-prim >= 0.2,
121 hashable >= 1.1.2.0,
122 scientific >= 0.3.4.7 && < 0.4,
123 tagged >=0.8.3 && <0.9,
124 template-haskell >= 2.7,
125 text >= 1.1.1.0,
126 time >= 1.1.1.4,
127 time-locale-compat >= 0.1.1 && < 0.2,
128 unordered-containers >= 0.2.5.0,
129 uuid-types >= 1.0.3 && <1.1,
130 vector >= 0.8
132 if flag(bytestring-builder)
133 build-depends: bytestring >= 0.9 && < 0.10.4,
134 bytestring-builder >= 0.10.4 && < 1
135 else
136 build-depends: bytestring >= 0.10.4
138 if !impl(ghc >= 8.0)
139 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
140 build-depends:
141 semigroups >= 0.18.2 && < 0.19,
142 transformers >= 0.2.2.0,
143 transformers-compat >= 0.3,
144 fail == 4.9.*
146 if !impl(ghc >= 7.10)
147 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
148 build-depends: nats >= 1 && < 1.2
150 ghc-options: -Wall
152 if flag(developer)
153 ghc-options: -Werror
154 ghc-prof-options: -auto-all
156 if flag(fast)
157 ghc-options: -O0
158 else
159 ghc-options: -O2
161 include-dirs: include
162 if impl(ghcjs) || !flag(cffi)
163 hs-source-dirs: pure
164 other-modules: Data.Aeson.Parser.UnescapePure
165 else
166 c-sources: cbits/unescape_string.c
167 cpp-options: -DCFFI
168 hs-source-dirs: ffi
169 other-modules: Data.Aeson.Parser.UnescapeFFI
171test-suite tests
172 default-language: Haskell2010
173 type: exitcode-stdio-1.0
174 hs-source-dirs: tests ffi pure
175 main-is: Tests.hs
176 c-sources: cbits/unescape_string.c
177 ghc-options: -Wall -threaded -rtsopts
179 other-modules:
180 Data.Aeson.Parser.UnescapeFFI
181 Data.Aeson.Parser.UnescapePure
182 DataFamilies.Properties
183 DataFamilies.Instances
184 DataFamilies.Encoders
185 DataFamilies.Types
186 Encoders
187 ErrorMessages
188 Functions
189 Instances
190 Options
191 Properties
192 SerializationFormatSpec
193 Types
194 UnitTests
195 UnitTests.NullaryConstructors
197 build-depends:
198 HUnit,
199 QuickCheck >= 2.8 && <2.9.3,
200 aeson,
201 integer-logarithms >= 1 && <1.1,
202 attoparsec,
203 base,
204 base-compat,
205 base-orphans >= 0.5.3 && <0.7,
206 base16-bytestring,
207 containers,
208 directory,
209 dlist,
210 filepath,
211 generic-deriving >= 1.10 && < 1.12,
212 ghc-prim >= 0.2,
213 hashable >= 1.2.4.0,
214 scientific,
215 tagged,
216 template-haskell,
217 test-framework,
218 test-framework-hunit,
219 test-framework-quickcheck2,
220 text,
221 time,
222 time-locale-compat,
223 unordered-containers,
224 uuid-types,
225 vector,
226 quickcheck-instances >=0.3.12
228 if flag(bytestring-builder)
229 build-depends: bytestring >= 0.9 && < 0.10.4,
230 bytestring-builder >= 0.10.4 && < 1
231 else
232 build-depends: bytestring >= 0.10.4
234 if !impl(ghc >= 8.0)
235 build-depends:
236 semigroups >= 0.18.2 && < 0.19,
237 transformers >= 0.2.2.0,
238 transformers-compat >= 0.3
240 if !impl(ghc >= 7.10)
241 build-depends: nats >=1 && <1.2
243 if impl(ghc >= 7.8)
244 build-depends: hashable-time >= 0.2 && <0.3
246 if flag(fast)
247 ghc-options: -fno-enable-rewrite-rules
249source-repository head
250 type: git
251 location: git://github.com/bos/aeson.git