on weeder-instances help sign in
typeable/aeson/aeson.cabal
253 lines 6.5 kB history raw
1name: aeson
2version: 1.2.0.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
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
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 time >= 1.1.1.4,
129 time-locale-compat >= 0.1.1 && < 0.2,
130 unordered-containers >= 0.2.5.0 && < 0.3,
131 uuid-types >= 1.0.3 && <1.1,
132 vector >= 0.8
134 if flag(bytestring-builder)
135 build-depends: bytestring >= 0.9.2 && < 0.10.4,
136 bytestring-builder >= 0.10.4 && < 1
137 else
138 build-depends: bytestring >= 0.10.4 && < 0.11
140 if !impl(ghc >= 8.0)
141 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
142 build-depends:
143 semigroups >= 0.18.2 && < 0.19,
144 transformers >= 0.2.2.0,
145 transformers-compat >= 0.3,
146 fail == 4.9.*
148 if !impl(ghc >= 7.10)
149 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
150 build-depends: nats >= 1 && < 1.2
152 ghc-options: -Wall
154 if flag(developer)
155 ghc-options: -Werror
156 ghc-prof-options: -auto-all
158 if flag(fast)
159 ghc-options: -O0
160 else
161 ghc-options: -O2
163 include-dirs: include
164 if impl(ghcjs) || !flag(cffi)
165 hs-source-dirs: pure
166 other-modules: Data.Aeson.Parser.UnescapePure
167 else
168 c-sources: cbits/unescape_string.c
169 cpp-options: -DCFFI
170 hs-source-dirs: ffi
171 other-modules: Data.Aeson.Parser.UnescapeFFI
173test-suite tests
174 default-language: Haskell2010
175 type: exitcode-stdio-1.0
176 hs-source-dirs: tests ffi pure
177 main-is: Tests.hs
178 c-sources: cbits/unescape_string.c
179 ghc-options: -Wall -threaded -rtsopts
181 other-modules:
182 Data.Aeson.Parser.UnescapeFFI
183 Data.Aeson.Parser.UnescapePure
184 DataFamilies.Properties
185 DataFamilies.Instances
186 DataFamilies.Encoders
187 DataFamilies.Types
188 Encoders
189 ErrorMessages
190 Functions
191 Instances
192 Options
193 Properties
194 SerializationFormatSpec
195 Types
196 UnitTests
197 UnitTests.NullaryConstructors
199 build-depends:
200 HUnit,
201 QuickCheck >= 2.8 && <2.9.3,
202 aeson,
203 integer-logarithms >= 1 && <1.1,
204 attoparsec,
205 base,
206 base-compat,
207 base-orphans >= 0.5.3 && <0.7,
208 base16-bytestring,
209 containers,
210 directory,
211 dlist,
212 filepath,
213 generic-deriving >= 1.10 && < 1.12,
214 ghc-prim >= 0.2,
215 hashable >= 1.2.4.0,
216 scientific,
217 tagged,
218 template-haskell,
219 test-framework,
220 test-framework-hunit,
221 test-framework-quickcheck2,
222 text,
223 time,
224 time-locale-compat,
225 unordered-containers,
226 uuid-types,
227 vector,
228 quickcheck-instances >=0.3.12
230 if flag(bytestring-builder)
231 build-depends: bytestring >= 0.9 && < 0.10.4,
232 bytestring-builder >= 0.10.4 && < 1
233 else
234 build-depends: bytestring >= 0.10.4
236 if !impl(ghc >= 8.0)
237 build-depends:
238 semigroups >= 0.18.2 && < 0.19,
239 transformers >= 0.2.2.0,
240 transformers-compat >= 0.3
242 if !impl(ghc >= 7.10)
243 build-depends: nats >=1 && <1.2
245 if impl(ghc >= 7.8)
246 build-depends: hashable-time >= 0.2 && <0.3
248 if flag(fast)
249 ghc-options: -fno-enable-rewrite-rules
251source-repository head
252 type: git
253 location: git://github.com/bos/aeson.git