diff --git a/.gitignore b/.gitignore index dc5fca1..03ae60f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /HsYAML-0.1.2.0.tar.gz +/HsYAML-0.2.1.0.tar.gz diff --git a/HsYAML-0.1.2.0.cabal b/HsYAML-0.2.1.0.cabal similarity index 66% rename from HsYAML-0.1.2.0.cabal rename to HsYAML-0.2.1.0.cabal index 2324423..9ea5c1b 100644 --- a/HsYAML-0.1.2.0.cabal +++ b/HsYAML-0.2.1.0.cabal @@ -1,10 +1,9 @@ cabal-version: 1.14 -build-type: Simple name: HsYAML -version: 0.1.2.0 +version: 0.2.1.0 x-revision: 1 -synopsis: Pure Haskell YAML 1.2 parser +synopsis: Pure Haskell YAML 1.2 processor homepage: https://github.com/hvr/HsYAML bug-reports: https://github.com/hvr/HsYAML/issues license: GPL-2 @@ -15,20 +14,25 @@ maintainer: hvr@gnu.org copyright: 2015-2018 Herbert Valerio Riedel , 2007-2008 Oren Ben-Kiki category: Text -tested-with: GHC==8.6.5, GHC==8.4.4, 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 +build-type: Simple +tested-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 description: - @HsYAML@ is a [YAML 1.2](http://yaml.org/spec/1.2/spec.html) parser implementation for Haskell. + @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). + * 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 package which allows to decode and encode YAML by leveraging @aeson@'s 'FromJSON' and 'ToJSON' instances. extra-source-files: ChangeLog.md @@ -45,16 +49,23 @@ flag exe 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.Schema + , 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: FlexibleContexts + other-extensions: DeriveGeneric + FlexibleContexts FlexibleInstances FunctionalDependencies MultiParamTypeClasses @@ -67,13 +78,18 @@ library Trustworthy TypeSynonymInstances - build-depends: base >=4.5 && <4.14 + build-depends: base >=4.5 && <4.15 , bytestring >=0.9 && <0.11 , 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 @@ -106,3 +122,23 @@ executable yaml-test 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.13.* + , tasty == 1.2.* + , tasty-quickcheck == 0.10.* diff --git a/ghc-HsYAML.spec b/ghc-HsYAML.spec index 84452eb..0579486 100644 --- a/ghc-HsYAML.spec +++ b/ghc-HsYAML.spec @@ -4,10 +4,12 @@ %global pkg_name HsYAML %global pkgver %{pkg_name}-%{version} +%bcond_without tests + Name: ghc-%{pkg_name} -Version: 0.1.2.0 +Version: 0.2.1.0 Release: 1%{?dist} -Summary: Pure Haskell YAML 1.2 parser +Summary: Pure Haskell YAML 1.2 processor License: GPLv2+ Url: https://hackage.haskell.org/package/%{pkg_name} @@ -22,25 +24,36 @@ BuildRequires: ghc-rpm-macros BuildRequires: ghc-base-prof BuildRequires: ghc-bytestring-prof BuildRequires: ghc-containers-prof +BuildRequires: ghc-deepseq-prof BuildRequires: ghc-mtl-prof BuildRequires: ghc-parsec-prof BuildRequires: ghc-text-prof +%if %{with tests} +BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-tasty-devel +BuildRequires: ghc-tasty-quickcheck-devel +%endif # End cabal-rpm deps %description -'HsYAML' is a YAML 1.2 parser implementation for Haskell. +'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 http://yaml.org/spec/1.2/spec.html). +strict compliance with the . * 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). +* Support for emitting YAML using /Failsafe/, (strict) /JSON/, and (flexible) +/Core/ "schemas" (including support for user-defined custom encoding schemas * 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"). @@ -82,6 +95,7 @@ This package provides the Haskell %{pkg_name} profiling library. # Begin cabal-rpm setup: %setup -q -n %{pkgver} cp -bp %{SOURCE1} %{pkg_name}.cabal +chmod a-x ChangeLog.md # End cabal-rpm setup @@ -97,6 +111,10 @@ cp -bp %{SOURCE1} %{pkg_name}.cabal # End cabal-rpm install +%check +%cabal_test + + %files -f %{name}.files # Begin cabal-rpm files: %license LICENSE.GPLv2 @@ -121,5 +139,8 @@ cp -bp %{SOURCE1} %{pkg_name}.cabal %changelog +* Thu Jul 16 2020 Jens Petersen - 0.2.1.0-1 +- update to 0.2.1.0 + * Thu Mar 5 2020 Fedora Haskell SIG - 0.1.2.0-1 - spec file generated by cabal-rpm-2.0.4 diff --git a/sources b/sources index fc9858f..af07ce1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (HsYAML-0.1.2.0.tar.gz) = 540123f547e4f76241a1282f87f45b0af282076a6edcd73c52a5362b5f5bcc50b92fef0c6a611ebdca25f8b5e9a9825911d42d2b9be75e9bbea214a3718dd9c3 +SHA512 (HsYAML-0.2.1.0.tar.gz) = f8ad41a99e48183835093ad8bf6a3fbdf4b9ad9df3bea46b12efd55a9555c22bd2595c72b1ac2e73379ab47e21f6cbf9022412db8971e1c7c02a32e824f53304