1cabal-version: 1.14 2name: HsYAML 3version: 0.2.1.0 4x-revision: 2 5 6synopsis: Pure Haskell YAML 1.2 processor 7homepage: https://github.com/hvr/HsYAML 8bug-reports: https://github.com/hvr/HsYAML/issues 9license: GPL-2 10X-SPDX-License-Identifier: GPL-2.0-or-later 11license-files: LICENSE.GPLv2 LICENSE.GPLv3 12author: Herbert Valerio Riedel 13maintainer: hvr@gnu.org 14copyright: 2015-2018 Herbert Valerio Riedel 15 , 2007-2008 Oren Ben-Kiki 16category: Text 17build-type: Simple 18tested-with: GHC==8.6.1, GHC==8.4.3, GHC==8.4.1, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2 19 20description: 21 @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. 22 23 . 24 Features of @HsYAML@ include: 25 . 26 * 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). 27 * Direct decoding to native Haskell types via (@aeson@-inspired) typeclass-based API (see "Data.YAML"). 28 * Allows round-tripping while preserving ordering, anchors, and comments at Event-level. 29 * Support for constructing custom YAML node graph representation (including support for cyclic YAML data structures). 30 * 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"). 31 * Support for emitting YAML using /Failsafe/, (strict) /JSON/, and (flexible) /Core/ \"schemas\" (including support for user-defined custom encoding schemas; see "Data.YAML.Schema"). 32 * Event-based API resembling LibYAML's Event-based API (see "Data.YAML.Event"). 33 * Low-level API access to lexical token-based scanner (see "Data.YAML.Token"). 34 . 35 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. 36 37extra-source-files: 38 ChangeLog.md 39 40source-repository head 41 type: git 42 location: https://github.com/hvr/HsYAML.git 43 44flag exe 45 description: Enable @exe:yaml-test@ component 46 manual: True 47 default: False 48 49library 50 hs-source-dirs: src 51 exposed-modules: Data.YAML 52 , Data.YAML.Schema 53 , Data.YAML.Event 54 , Data.YAML.Token 55 other-modules: Data.YAML.Loader 56 , Data.YAML.Dumper 57 , Data.YAML.Internal 58 , Data.YAML.Event.Internal 59 , Data.YAML.Event.Writer 60 , Data.YAML.Pos 61 , Data.YAML.Schema.Internal 62 , Data.YAML.Token.Encoding 63 , Util 64 , Data.DList 65 66 default-language: Haskell2010 67 other-extensions: DeriveGeneric 68 FlexibleContexts 69 FlexibleInstances 70 FunctionalDependencies 71 MultiParamTypeClasses 72 OverloadedStrings 73 PostfixOperators 74 RecordWildCards 75 RecursiveDo 76 Safe 77 ScopedTypeVariables 78 Trustworthy 79 TypeSynonymInstances 80 81 build-depends: base >=4.5 && <4.16 82 , bytestring >=0.9 && <0.12 83 , containers >=0.4.2 && <0.7 84 , deepseq >=1.3.0 && <1.5 85 , text >=1.2.3 && <1.3 86 , mtl >=2.2.1 && <2.3 87 , parsec >=3.1.13.0 && < 3.2 88 89 -- for GHC.Generics 90 if impl(ghc < 7.6) 91 build-depends: ghc-prim 92 93 if !impl(ghc >= 8.0) 94 build-depends: fail >=4.9.0.0 && <4.10 95 96 if !impl(ghc >= 7.10) 97 build-depends: nats >=1.1.2 && <1.2 98 99 ghc-options: -Wall 100 101executable yaml-test 102 hs-source-dirs: src-test 103 main-is: Main.hs 104 other-modules: TML 105 106 default-language: Haskell2010 107 108 if flag(exe) 109 build-depends: HsYAML 110 -- inherited constraints 111 , bytestring >= 0.10.8.0 112 , base 113 , text 114 , containers 115 , mtl 116 -- non-inherited 117 , megaparsec >= 6.5.0 && < 6.6 118 , microaeson == 0.1.* 119 , filepath == 1.4.* 120 , directory >= 1.2 && < 1.4 121 else 122 buildable: False 123 124 ghc-options: -rtsopts 125 126test-suite tests 127 default-language: Haskell2010 128 type: exitcode-stdio-1.0 129 hs-source-dirs: tests 130 main-is: Tests.hs 131 132 ghc-options: -rtsopts 133 134 build-depends: HsYAML 135 -- inherited constraints 136 , bytestring >= 0.10.8.0 137 , base 138 , text 139 , containers 140 , mtl 141 -- non-inherited 142 , QuickCheck == 2.13.* 143 , tasty == 1.2.* 144 , tasty-quickcheck == 0.10.* 145