on 1.3.1.1 help sign in
typeable/aeson/aeson.cabal
241 lines 6.0 kB history raw
1name: aeson
2version: 1.3.1.1
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
79 Data.Aeson.Encoding.Internal
80 Data.Aeson.Internal
81 Data.Aeson.Internal.Time
82 Data.Aeson.Parser.Internal
84 -- Deprecated modules
85 exposed-modules:
86 Data.Aeson.Encode
88 other-modules:
89 Data.Aeson.Compat
90 Data.Aeson.Encoding.Builder
91 Data.Aeson.Internal.Functions
92 Data.Aeson.Parser.Unescape
93 Data.Aeson.Parser.Time
94 Data.Aeson.Types.FromJSON
95 Data.Aeson.Types.Generic
96 Data.Aeson.Types.ToJSON
97 Data.Aeson.Types.Class
98 Data.Aeson.Types.Internal
99 Data.Attoparsec.Time
100 Data.Attoparsec.Time.Internal
102 build-depends:
103 attoparsec >= 0.13.0.1,
104 base >= 4.5 && < 5,
105 base-compat >= 0.9.1 && < 0.11,
106 containers >= 0.4.2,
107 deepseq >= 1.3 && < 1.5,
108 dlist >= 0.6,
109 ghc-prim >= 0.2,
110 hashable >= 1.1.2.0,
111 scientific >= 0.3.4.7 && < 0.4,
112 tagged >=0.8.3 && <0.9,
113 template-haskell >= 2.7,
114 text >= 1.2.3,
115 th-abstraction >= 0.2.2 && < 0.3,
116 time >= 1.1.1.4,
117 time-locale-compat >= 0.1.1 && < 0.2,
118 unordered-containers >= 0.2.5.0 && < 0.3,
119 uuid-types >= 1.0.3 && <1.1,
120 vector >= 0.8
122 if flag(bytestring-builder)
123 build-depends: bytestring >= 0.9.2 && < 0.10.4,
124 bytestring-builder >= 0.10.4 && < 1
125 else
126 build-depends: bytestring >= 0.10.4 && < 0.11
128 if !impl(ghc >= 8.0)
129 -- `Data.Semigroup` and `Control.Monad.Fail` and `Control.Monad.IO.Class` are available in base only since GHC 8.0 / base 4.9
130 build-depends:
131 semigroups >= 0.18.2 && < 0.19,
132 transformers >= 0.2.2.0,
133 transformers-compat >= 0.3,
134 fail == 4.9.*
136 if !impl(ghc >= 7.10)
137 -- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
138 build-depends: nats >= 1 && < 1.2
140 ghc-options: -Wall
142 if flag(developer)
143 ghc-options: -Werror
144 ghc-prof-options: -auto-all
146 if flag(fast)
147 ghc-options: -O0
148 else
149 ghc-options: -O2
151 include-dirs: include
152 if impl(ghcjs) || !flag(cffi)
153 hs-source-dirs: pure
154 other-modules: Data.Aeson.Parser.UnescapePure
155 else
156 c-sources: cbits/unescape_string.c
157 cpp-options: -DCFFI
158 hs-source-dirs: ffi
159 other-modules: Data.Aeson.Parser.UnescapeFFI
161test-suite tests
162 default-language: Haskell2010
163 type: exitcode-stdio-1.0
164 hs-source-dirs: tests ffi pure
165 main-is: Tests.hs
166 c-sources: cbits/unescape_string.c
167 ghc-options: -Wall -threaded -rtsopts
169 other-modules:
170 Data.Aeson.Parser.UnescapeFFI
171 Data.Aeson.Parser.UnescapePure
172 DataFamilies.Properties
173 DataFamilies.Instances
174 DataFamilies.Encoders
175 DataFamilies.Types
176 Encoders
177 ErrorMessages
178 Functions
179 Instances
180 Options
181 Properties
182 SerializationFormatSpec
183 Types
184 UnitTests
185 UnitTests.NullaryConstructors
187 build-depends:
188 HUnit,
189 QuickCheck >= 2.10.0.1 && < 2.11,
190 aeson,
191 integer-logarithms >= 1 && <1.1,
192 attoparsec,
193 base,
194 base-compat,
195 base-orphans >= 0.5.3 && <0.7,
196 base16-bytestring,
197 containers,
198 directory,
199 dlist,
200 filepath,
201 generic-deriving >= 1.10 && < 1.13,
202 ghc-prim >= 0.2,
203 hashable >= 1.2.4.0,
204 scientific,
205 tagged,
206 template-haskell,
207 tasty,
208 tasty-hunit,
209 tasty-quickcheck,
210 text,
211 time,
212 time-locale-compat,
213 unordered-containers,
214 uuid-types,
215 vector,
216 quickcheck-instances >= 0.3.16
218 if flag(bytestring-builder)
219 build-depends: bytestring >= 0.9 && < 0.10.4,
220 bytestring-builder >= 0.10.4 && < 1
221 else
222 build-depends: bytestring >= 0.10.4
224 if !impl(ghc >= 8.0)
225 build-depends:
226 semigroups >= 0.18.2 && < 0.19,
227 transformers >= 0.2.2.0,
228 transformers-compat >= 0.3
230 if !impl(ghc >= 7.10)
231 build-depends: nats >=1 && <1.2
233 if impl(ghc >= 7.8)
234 build-depends: hashable-time >= 0.2 && <0.3
236 if flag(fast)
237 ghc-options: -fno-enable-rewrite-rules
239source-repository head
240 type: git
241 location: git://github.com/bos/aeson.git