Hello community, here is the log from the commit of package ghc-yaml for openSUSE:Factory checked in at 2016-11-05 21:26:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-yaml (Old) and /work/SRC/openSUSE:Factory/.ghc-yaml.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-yaml" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-yaml/ghc-yaml.changes 2016-10-23 12:51:06.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-yaml.new/ghc-yaml.changes 2016-11-05 21:26:54.000000000 +0100 @@ -1,0 +2,5 @@ +Thu Oct 27 15:55:14 UTC 2016 - psim...@suse.com + +- Update to version 0.8.20 with cabal2obs. + +------------------------------------------------------------------- Old: ---- yaml-0.8.18.7.tar.gz New: ---- yaml-0.8.20.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-yaml.spec ++++++ --- /var/tmp/diff_new_pack.rfhiwM/_old 2016-11-05 21:26:55.000000000 +0100 +++ /var/tmp/diff_new_pack.rfhiwM/_new 2016-11-05 21:26:55.000000000 +0100 @@ -19,7 +19,7 @@ %global pkg_name yaml %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.8.18.7 +Version: 0.8.20 Release: 0 Summary: Support for parsing and rendering YAML documents License: BSD-3-Clause @@ -40,6 +40,7 @@ BuildRequires: ghc-rpm-macros BuildRequires: ghc-scientific-devel BuildRequires: ghc-semigroups-devel +BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-text-devel BuildRequires: ghc-transformers-devel BuildRequires: ghc-unordered-containers-devel ++++++ yaml-0.8.18.7.tar.gz -> yaml-0.8.20.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/ChangeLog.md new/yaml-0.8.20/ChangeLog.md --- old/yaml-0.8.18.7/ChangeLog.md 2016-09-19 06:40:50.000000000 +0200 +++ new/yaml-0.8.20/ChangeLog.md 2016-10-19 18:31:16.000000000 +0200 @@ -1,3 +1,11 @@ +## 0.8.20 + +* Upgrade to libyaml 0.1.7 + +## 0.8.19.0 + +* Add `Data.Yaml.TH` module + ## 0.8.18.7 * Add `O_TRUNC` when opening files diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/Data/Yaml/TH.hs new/yaml-0.8.20/Data/Yaml/TH.hs --- old/yaml-0.8.18.7/Data/Yaml/TH.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/yaml-0.8.20/Data/Yaml/TH.hs 2016-10-19 18:31:16.000000000 +0200 @@ -0,0 +1,44 @@ +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE ScopedTypeVariables #-} +{-# LANGUAGE TemplateHaskell #-} + +module Data.Yaml.TH + ( -- * Decoding + decodeFile + -- * Re-exports from "Data.Yaml" + , Value (..) + , Parser + , Object + , Array + , object + , array + , (.=) + , (.:) + , (.:?) + , (.!=) + , FromJSON (..) + ) where + +import Data.Yaml hiding (decodeFile) +import Language.Haskell.TH +import Language.Haskell.TH.Syntax + +-- | Decode a @yaml@ file at compile time. Only available on GHC version @7.8.1@ +-- or higher. +-- +-- @since 0.8.19.0 +-- +-- ==== __Examples__ +-- +-- @ +-- {-\# LANGUAGE TemplateHaskell \#-} +-- +-- config :: Config +-- config = $$('decodeFile' "config.yaml") +-- @ +decodeFile :: forall a. (Lift a, FromJSON a) => FilePath -> Q (TExp a) +decodeFile path = do + addDependentFile path + runIO (decodeFileEither path) >>= \case + Left err -> fail (prettyPrintParseException err) + Right x -> fmap TExp (lift (x :: a)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/README.md new/yaml-0.8.20/README.md --- old/yaml-0.8.18.7/README.md 2016-09-19 06:40:50.000000000 +0200 +++ new/yaml-0.8.20/README.md 2016-10-19 18:31:16.000000000 +0200 @@ -2,7 +2,7 @@ Provides support for parsing and emitting Yaml documents. -This package includes the [full libyaml C library version 0.1.5 by Kirill Simonov](http://pyyaml.org/wiki/LibYAML) in the package so you don't need to worry about any non-Haskell dependencies. +This package includes the [full libyaml C library version 0.1.7 by Kirill Simonov](http://pyyaml.org/wiki/LibYAML) in the package so you don't need to worry about any non-Haskell dependencies. The package is broken down into two primary modules. `Data.Yaml` provides a high-level interface based around the JSON datatypes provided by the `aeson` package. `Text.Libyaml` provides a lower-level, streaming interface. For most users, `Data.Yaml` is recommended. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/libyaml/api.c new/yaml-0.8.20/libyaml/api.c --- old/yaml-0.8.18.7/libyaml/api.c 2016-09-19 06:40:50.000000000 +0200 +++ new/yaml-0.8.20/libyaml/api.c 2016-10-19 18:31:16.000000000 +0200 @@ -424,7 +424,7 @@ { yaml_emitter_t *emitter = data; - if (emitter->output.string.size + *emitter->output.string.size_written + if (emitter->output.string.size - *emitter->output.string.size_written < size) { memcpy(emitter->output.string.buffer + *emitter->output.string.size_written, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/libyaml/scanner.c new/yaml-0.8.20/libyaml/scanner.c --- old/yaml-0.8.18.7/libyaml/scanner.c 2016-09-19 06:40:50.000000000 +0200 +++ new/yaml-0.8.20/libyaml/scanner.c 2016-10-19 18:31:16.000000000 +0200 @@ -1106,13 +1106,6 @@ && parser->indent == (ptrdiff_t)parser->mark.column); /* - * A simple key is required only when it is the first token in the current - * line. Therefore it is always allowed. But we add a check anyway. - */ - - assert(parser->simple_key_allowed || !required); /* Impossible. */ - - /* * If the current position may start a simple key, save it. */ @@ -2629,6 +2622,9 @@ /* Check if it is a URI-escape sequence. */ if (CHECK(parser->buffer, '%')) { + if (!STRING_EXTEND(parser, string)) + goto error; + if (!yaml_parser_scan_uri_escapes(parser, directive, start_mark, &string)) goto error; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/libyaml/yaml_private.h new/yaml-0.8.20/libyaml/yaml_private.h --- old/yaml-0.8.18.7/libyaml/yaml_private.h 2016-09-19 06:40:50.000000000 +0200 +++ new/yaml-0.8.20/libyaml/yaml_private.h 2016-10-19 18:31:16.000000000 +0200 @@ -143,9 +143,12 @@ (string).start = (string).pointer = (string).end = 0) #define STRING_EXTEND(context,string) \ - (((string).pointer+5 < (string).end) \ + ((((string).pointer+5 < (string).end) \ || yaml_string_extend(&(string).start, \ - &(string).pointer, &(string).end)) + &(string).pointer, &(string).end)) ? \ + 1 : \ + ((context)->error = YAML_MEMORY_ERROR, \ + 0)) #define CLEAR(context,string) \ ((string).pointer = (string).start, \ @@ -655,7 +658,7 @@ (node).data.mapping.pairs.top = (node_pairs_start), \ (node).data.mapping.style = (node_style)) -#define YAML_VERSION_STRING "0.1.5" +#define YAML_VERSION_STRING "0.1.7" #define YAML_VERSION_MAJOR 0 #define YAML_VERSION_MINOR 1 -#define YAML_VERSION_PATCH 5 +#define YAML_VERSION_PATCH 7 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaml-0.8.18.7/yaml.cabal new/yaml-0.8.20/yaml.cabal --- old/yaml-0.8.18.7/yaml.cabal 2016-09-19 06:40:50.000000000 +0200 +++ new/yaml-0.8.20/yaml.cabal 2016-10-19 18:31:16.000000000 +0200 @@ -1,5 +1,5 @@ name: yaml -version: 0.8.18.7 +version: 0.8.20 license: BSD3 license-file: LICENSE author: Michael Snoyman <mich...@snoyman.com>, Anton Ageev <ant...@gmail.com>,Kirill Simonov @@ -64,9 +64,12 @@ Data.Yaml.Aeson Data.Yaml.Builder Data.Yaml.Config - Data.Yaml.Pretty - Data.Yaml.Parser Data.Yaml.Include + Data.Yaml.Parser + Data.Yaml.Pretty + if impl(ghc >= 7.8.1) + build-depends: template-haskell >= 2.8.0.0 + exposed-modules: Data.Yaml.TH other-modules: Data.Yaml.Internal ghc-options: -Wall