forked from haskell-hvr/HsYAML
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HsYAML.cabal
155 lines (135 loc) · 5.25 KB
/
HsYAML.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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
cabal-version: 1.14
name: HsYAML
version: 0.2.1.0
synopsis: Pure Haskell YAML 1.2 processor
homepage: https://github.com/hvr/HsYAML
bug-reports: https://github.com/hvr/HsYAML/issues
license: GPL-2
X-SPDX-License-Identifier: GPL-2.0-or-later
license-files: LICENSE.GPLv2 LICENSE.GPLv3
author: Herbert Valerio Riedel
maintainer: [email protected]
copyright: 2015-2018 Herbert Valerio Riedel
, 2007-2008 Oren Ben-Kiki
category: Text
build-type: Simple
tested-with:
GHC == 9.2.1
GHC == 9.0.1
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
GHC == 7.10.3
GHC == 7.8.4
GHC == 7.6.3
GHC == 7.4.2
description:
@HsYAML@ is a [YAML 1.2](http://yaml.org/spec/1.2/spec.html) processor, i.e. a library for parsing and serializing YAML documents.
.
Features of @HsYAML@ include:
.
* Pure Haskell implementation with small dependency footprint and emphasis on strict compliance with the [YAML 1.2 specification](http://yaml.org/spec/1.2/spec.html).
* Direct decoding to native Haskell types via (@aeson@-inspired) typeclass-based API (see "Data.YAML").
* Allows round-tripping while preserving ordering, anchors, and comments at Event-level.
* Support for constructing custom YAML node graph representation (including support for cyclic YAML data structures).
* Support for the standard (untyped) /Failsafe/, (strict) /JSON/, and (flexible) /Core/ \"schemas\" providing implicit typing rules as defined in the YAML 1.2 specification (including support for user-defined custom schemas; see "Data.YAML.Schema").
* Support for emitting YAML using /Failsafe/, (strict) /JSON/, and (flexible) /Core/ \"schemas\" (including support for user-defined custom encoding schemas; see "Data.YAML.Schema").
* Event-based API resembling LibYAML's Event-based API (see "Data.YAML.Event").
* Low-level API access to lexical token-based scanner (see "Data.YAML.Token").
.
See also the <//hackage.haskell.org/package/HsYAML-aeson HsYAML-aeson> package which allows to decode and encode YAML by leveraging @aeson@'s 'FromJSON' and 'ToJSON' instances.
extra-source-files:
ChangeLog.md
source-repository head
type: git
location: https://github.com/hvr/HsYAML.git
flag exe
description: Enable @exe:yaml-test@ component
manual: True
default: False
library
hs-source-dirs: src
exposed-modules: Data.YAML
, Data.YAML.Schema
, Data.YAML.Event
, Data.YAML.Token
other-modules: Data.YAML.Loader
, Data.YAML.Dumper
, Data.YAML.Internal
, Data.YAML.Event.Internal
, Data.YAML.Event.Writer
, Data.YAML.Pos
, Data.YAML.Schema.Internal
, Data.YAML.Token.Encoding
, Util
, Data.DList
default-language: Haskell2010
other-extensions: DeriveGeneric
FlexibleContexts
FlexibleInstances
FunctionalDependencies
MultiParamTypeClasses
OverloadedStrings
PostfixOperators
RecordWildCards
RecursiveDo
Safe
ScopedTypeVariables
Trustworthy
TypeSynonymInstances
build-depends: base >=4.5 && <4.17
, bytestring >=0.9 && <0.12
, containers >=0.4.2 && <0.7
, deepseq >=1.3.0 && <1.5
, text >=1.2.3 && <1.3
, mtl >=2.2.1 && <2.3
, parsec >=3.1.13.0 && < 3.2
-- for GHC.Generics
if impl(ghc < 7.6)
build-depends: ghc-prim
if !impl(ghc >= 8.0)
build-depends: fail >=4.9.0.0 && <4.10
if !impl(ghc >= 7.10)
build-depends: nats >=1.1.2 && <1.2
ghc-options: -Wall
executable yaml-test
hs-source-dirs: src-test
main-is: Main.hs
other-modules: TML
default-language: Haskell2010
if flag(exe)
build-depends: HsYAML
-- inherited constraints
, bytestring >= 0.10.8.0
, base
, text
, containers
, mtl
-- non-inherited
, megaparsec >= 7.0 && < 10
, microaeson == 0.1.*
, filepath == 1.4.*
, directory >= 1.2 && < 1.4
else
buildable: False
ghc-options: -rtsopts
test-suite tests
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Tests.hs
ghc-options: -rtsopts
build-depends: HsYAML
-- inherited constraints
, bytestring >= 0.10.8.0
, base
, text
, containers
, mtl
-- non-inherited
, QuickCheck == 2.14.*
, tasty == 1.4.*
, tasty-quickcheck == 0.10.*