on 1.4.2.0 help sign in
typeable/aeson/aeson.cabal
260 lines 6.7 kB history raw
1name: aeson
2version: 1.4.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 (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 pure/Data/Aeson/Parser/*.hs
47flag developer
48 description: operate in developer mode
49 default: False
50 manual: True
52flag fast
53 description: compile without optimizations
54 default: False
55 manual: True
57flag bytestring-builder
58 description: Depend on the bytestring-builder package for backwards compatibility.
59 default: False
60 manual: False
62flag cffi
63 description: Controls whether to include c-ffi bits or pure haskell. Default to False for security.
64 default: False
65 manual: True
67library
68 default-language: Haskell2010
69 hs-source-dirs: . attoparsec-iso8601/
71 exposed-modules:
72 Data.Aeson
73 Data.Aeson.Encoding
74 Data.Aeson.Parser
75 Data.Aeson.Text
76 Data.Aeson.Types
77 Data.Aeson.TH
78 Data.Aeson.QQ.Simple
80 Data.Aeson.Encoding.Internal
81 Data.Aeson.Internal
82 Data.Aeson.Internal.Time
83 Data.Aeson.Parser.Internal
85 -- Deprecated modules
86 exposed-modules:
87 Data.Aeson.Encode
89 other-modules:
90 Data.Aeson.Compat
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.5.0.0 && < 5,
106 containers >= 0.4.2.1 && < 0.7,
107 deepseq >= 1.3.0.0 && < 1.5,
108 ghc-prim >= 0.2 && < 0.6,
109 template-haskell >= 2.7.0.0 && < 2.15,
110 text >= 1.2.3.0 && < 1.3,
111 time >= 1.4 && < 1.9
113 -- Compat
114 build-depends:
115 base-compat >= 0.9.1 && < 0.11
117 if flag(bytestring-builder)
118 build-depends: bytestring >= 0.9.2 && < 0.10.4,
119 bytestring-builder >= 0.10.4 && < 1
120 else
121 build-depends: bytestring >= 0.10.4 && < 0.11
123 if !impl(ghc >= 8.6)
124 build-depends:
125 contravariant >=1.4.1 && <1.6
127 if !impl(ghc >= 8.0)
128 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
129 build-depends:
130 semigroups >= 0.18.5 && < 0.19,
131 transformers >= 0.3.0.0 && < 0.6,
132 transformers-compat >= 0.6.2 && < 0.7,
133 fail == 4.9.*
135 if !impl(ghc >= 7.10)
136 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
137 build-depends: nats >= 1.1.1 && < 1.2,
138 void >= 0.7.2 && < 0.8
140 -- cannot use latest version
141 build-depends:
142 unordered-containers >= 0.2.8.0 && < 0.3,
144 -- not in LTS-12.10
145 tagged >= 0.8.5 && < 0.9,
146 primitive >= 0.6.3.0 && < 0.7
148 -- Other dependencies
149 build-depends:
150 attoparsec >= 0.13.2.2 && < 0.14,
151 dlist >= 0.8.0.4 && < 0.9,
152 hashable >= 1.2.7.0 && < 1.3,
153 scientific >= 0.3.6.2 && < 0.4,
154 th-abstraction >= 0.2.8.0 && < 0.3,
155 time-locale-compat >= 0.1.1.5 && < 0.2,
156 uuid-types >= 1.0.3 && < 1.1,
157 vector >= 0.12.0.1 && < 0.13
159 ghc-options: -Wall
161 if flag(developer)
162 ghc-options: -Werror
163 ghc-prof-options: -auto-all
165 if flag(fast)
166 ghc-options: -O0
167 else
168 ghc-options: -O2
170 include-dirs: include
171 if impl(ghcjs) || !flag(cffi)
172 hs-source-dirs: pure
173 other-modules: Data.Aeson.Parser.UnescapePure
174 else
175 c-sources: cbits/unescape_string.c
176 cpp-options: -DCFFI
177 hs-source-dirs: ffi
178 other-modules: Data.Aeson.Parser.UnescapeFFI
180test-suite tests
181 default-language: Haskell2010
182 type: exitcode-stdio-1.0
183 hs-source-dirs: tests ffi pure
184 main-is: Tests.hs
185 c-sources: cbits/unescape_string.c
186 ghc-options: -Wall -threaded -rtsopts
188 other-modules:
189 Data.Aeson.Parser.UnescapeFFI
190 Data.Aeson.Parser.UnescapePure
191 DataFamilies.Properties
192 DataFamilies.Instances
193 DataFamilies.Encoders
194 DataFamilies.Types
195 Encoders
196 ErrorMessages
197 Functions
198 Instances
199 Options
200 Properties
201 SerializationFormatSpec
202 Types
203 UnitTests
204 UnitTests.NullaryConstructors
206 build-depends:
207 QuickCheck >= 2.10.0.1 && < 2.12,
208 aeson,
209 integer-logarithms >= 1 && <1.1,
210 attoparsec,
211 base,
212 base-compat,
213 base-orphans >= 0.5.3 && <0.8,
214 base16-bytestring,
215 containers,
216 directory,
217 dlist,
218 filepath,
219 generic-deriving >= 1.10 && < 1.13,
220 ghc-prim >= 0.2,
221 hashable >= 1.2.4.0,
222 scientific,
223 tagged,
224 template-haskell,
225 tasty,
226 tasty-hunit,
227 tasty-quickcheck,
228 text,
229 time,
230 time-locale-compat,
231 unordered-containers,
232 uuid-types,
233 vector,
234 quickcheck-instances >= 0.3.16
236 if flag(bytestring-builder)
237 build-depends: bytestring >= 0.9 && < 0.10.4,
238 bytestring-builder >= 0.10.4 && < 1
239 else
240 build-depends: bytestring >= 0.10.4
242 if !impl(ghc >= 8.0)
243 build-depends:
244 semigroups >= 0.18.2 && < 0.19,
245 transformers >= 0.2.2.0,
246 transformers-compat >= 0.3
248 if !impl(ghc >= 7.10)
249 build-depends: nats >=1 && <1.2,
250 void >=0.7.2 && <0.8
252 if impl(ghc >= 7.8)
253 build-depends: hashable-time >= 0.2 && <0.3
255 if flag(fast)
256 ghc-options: -fno-enable-rewrite-rules
258source-repository head
259 type: git
260 location: git://github.com/bos/aeson.git