ghc-HsYAML/HsYAML.cabal

152 lines
5.3 KiB
Plaintext

cabal-version: 1.14
name: HsYAML
version: 0.2.1.4
x-revision: 1
synopsis: Pure Haskell YAML 1.2 processor
homepage: https://github.com/haskell-hvr/HsYAML
bug-reports: https://github.com/haskell-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: https://github.com/haskell-hvr/HsYAML
copyright: 2015-2018 Herbert Valerio Riedel
, 2007-2008 Oren Ben-Kiki
category: Text
build-type: Simple
tested-with:
GHC == 9.10.1
GHC == 9.8.2
GHC == 9.6.5
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.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/haskell-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
default-extensions: TypeOperators
other-extensions: DeriveGeneric
FlexibleContexts
FlexibleInstances
FunctionalDependencies
MultiParamTypeClasses
OverloadedStrings
PostfixOperators
RecordWildCards
RecursiveDo
Safe
ScopedTypeVariables
Trustworthy
TypeSynonymInstances
build-depends: base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
, containers >= 0.4.2 && < 0.8
, deepseq >= 1.3.0 && < 1.6
, text >= 1.2.3 && < 2.2
, mtl >= 2.2.1 && < 2.4
, parsec >= 3.1.13.0 && < 3.2
, transformers >= 0.4 && < 0.7
ghc-options:
-Wall
-Wcompat
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 && < 1.6
, 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
-- lower bounds chosen from lts-11.22 (GHC 8.2)
, QuickCheck >= 2.10.1 && < 2.16
, tasty >= 1.0.1.1 && < 1.6
, tasty-quickcheck >= 0.9.2 && < 1