-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathhermes-json.cabal
139 lines (133 loc) · 3.68 KB
/
hermes-json.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
cabal-version: 3.0
name: hermes-json
version: 0.6.1.0
category: Text, Web, JSON, FFI
synopsis: Fast JSON decoding via simdjson C++ bindings
description:
A JSON parsing library focused on speed that binds to the simdjson C++ library using
the Haskell FFI. Hermes offers some helpful functions for building fast JSON decoders
for your Haskell types.
homepage: https://github.com/velveteer/hermes
license: MIT
license-file: LICENSE
author: Josh Miller <[email protected]>
maintainer: Josh Miller <[email protected]>
extra-source-files:
simdjson/singleheader/simdjson.h
extra-doc-files:
CHANGELOG.md
, README.md
, simdjson/LICENSE
tested-with:
, GHC == 9.2.8
, GHC == 9.4.6
, GHC == 9.6.2
, GHC == 9.8.2
source-repository head
type: git
location: [email protected]:velveteer/hermes.git
flag strict
description: Enable more GHC warnings plus @-Werror@, which turns warnings into errors.
default: False
manual: True
flag native_comp
description: Target native architecture for C++ compiler
default: False
manual: True
flag debug
description: Enable C++ debug support
default: False
manual: True
library
default-extensions:
OverloadedStrings
exposed-modules:
Data.Hermes
Data.Hermes.Decoder
Data.Hermes.Decoder.Path
Data.Hermes.Decoder.Time
Data.Hermes.Decoder.Value
Data.Hermes.SIMDJSON
Data.Hermes.SIMDJSON.Bindings
Data.Hermes.SIMDJSON.Types
Data.Hermes.SIMDJSON.Wrapper
other-modules:
Data.Hermes.Decoder.Internal
Data.Hermes.Decoder.Internal.Scientific
build-depends:
base >= 4.13 && < 4.20,
bytestring >= 0.10.12 && < 0.13,
containers >= 0.6.5 && < 0.7,
deepseq >= 1.4.4 && < 1.6,
dlist >= 0.8 && < 1.1,
integer-conversion >= 0.1 && < 0.2,
primitive >= 0.7.0 && < 0.10,
scientific >= 0.3.6 && < 0.4,
text >= 2.0 && < 2.2,
text-iso8601 >= 0.1 && < 0.2,
transformers >= 0.5.6 && < 0.7,
time >= 1.9.3 && < 1.13,
time-compat >= 1.9.5 && < 1.10,
vector >= 0.12.3.1 && < 0.14
default-language: Haskell2010
hs-source-dirs: src
cxx-sources:
simdjson/singleheader/simdjson.cpp
cbits/lib.cpp
include-dirs:
simdjson/singleheader
if flag(strict)
ghc-options:
-Wall
-Werror
-Wcompat
-Widentities
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wmissing-export-lists
-Wno-implicit-prelude
-Wno-safe
-Wno-unsafe
-Wnoncanonical-monad-instances
-Wredundant-constraints
-Wpartial-fields
-Wmissed-specialisations
else
ghc-options: -Wall
if flag(native_comp)
if flag (debug)
cxx-options: -std=c++17 -march=native
else
cxx-options: -std=c++17 -DNDEBUG -march=native
else
if flag (debug)
cxx-options: -std=c++17
else
cxx-options: -std=c++17 -DNDEBUG
if impl(ghc >= 9.4)
build-depends: system-cxx-std-lib == 1.0
elif os(darwin) || os(freebsd)
extra-libraries: c++
else
extra-libraries:
stdc++
test-suite hermes-test
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: test.hs
ghc-options: -Wall
build-depends:
aeson >= 2.0.1 && < 2.3,
base,
bytestring,
containers >= 0.6.2 && < 0.7,
hermes-json,
scientific,
text,
hedgehog >= 1.0.5 && < 1.5,
tasty >= 1.4.2 && < 1.6,
tasty-hunit >= 0.10.0 && < 0.12,
tasty-hedgehog >= 1.1.0 && < 1.5,
time,
vector