Hello community, here is the log from the commit of package ghc-store for openSUSE:Factory checked in at 2019-04-28 20:13:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-store (Old) and /work/SRC/openSUSE:Factory/.ghc-store.new.5536 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-store" Sun Apr 28 20:13:48 2019 rev:7 rq:698561 version:0.5.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-store/ghc-store.changes 2018-11-09 07:53:01.739806844 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-store.new.5536/ghc-store.changes 2019-04-28 20:13:51.962403093 +0200 @@ -1,0 +2,10 @@ +Thu Apr 25 02:02:26 UTC 2019 - [email protected] + +- Update store to version 0.5.1.0. + ## 0.5.1.0 + + * Update to TH to support sum types with more than 62 constructors. + + * Uses TH to derive Either instance, so that it can sometimes have ConstSize #119. + +------------------------------------------------------------------- Old: ---- store-0.5.0.1.tar.gz New: ---- store-0.5.1.0.tar.gz store.cabal ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-store.spec ++++++ --- /var/tmp/diff_new_pack.aPkMsk/_old 2019-04-28 20:13:52.526402743 +0200 +++ /var/tmp/diff_new_pack.aPkMsk/_new 2019-04-28 20:13:52.526402743 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-store # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,14 @@ %global pkg_name store %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.5.0.1 +Version: 0.5.1.0 Release: 0 Summary: Fast binary serialization License: MIT Group: Development/Libraries/Haskell URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-array-devel BuildRequires: ghc-async-devel @@ -68,12 +69,7 @@ BuildRequires: ghc-vector-devel BuildRequires: ghc-void-devel %if %{with tests} -BuildRequires: ghc-cereal-devel -BuildRequires: ghc-cereal-vector-devel BuildRequires: ghc-clock-devel -BuildRequires: ghc-criterion-devel -BuildRequires: ghc-vector-binary-instances-devel -BuildRequires: ghc-weigh-devel %endif %description @@ -92,6 +88,7 @@ %prep %setup -q -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ store-0.5.0.1.tar.gz -> store-0.5.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-0.5.0.1/ChangeLog.md new/store-0.5.1.0/ChangeLog.md --- old/store-0.5.0.1/ChangeLog.md 2018-10-21 09:35:42.000000000 +0200 +++ new/store-0.5.1.0/ChangeLog.md 2019-04-24 21:03:02.000000000 +0200 @@ -1,5 +1,11 @@ # ChangeLog +## 0.5.1.0 + +* Update to TH to support sum types with more than 62 constructors. + +* Uses TH to derive Either instance, so that it can sometimes have ConstSize #119. + ## 0.5.0.1 * Updates to test-suite enabling `store` to build with newer dependencies. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-0.5.0.1/src/Data/Store/Internal.hs new/store-0.5.1.0/src/Data/Store/Internal.hs --- old/store-0.5.0.1/src/Data/Store/Internal.hs 2018-06-01 23:30:19.000000000 +0200 +++ new/store-0.5.1.0/src/Data/Store/Internal.hs 2019-04-24 21:00:08.000000000 +0200 @@ -688,7 +688,6 @@ instance Store a => Store (First a) instance Store a => Store (Last a) instance Store a => Store (Maybe a) -instance (Store a, Store b) => Store (Either a b) -- FIXME: have TH deriving handle unboxed fields? @@ -702,6 +701,7 @@ instance Deriving (Store Any) instance Deriving (Store Void) instance Deriving (Store Bool) + instance (Store a, Store b) => Deriving (Store (Either a b)) |])) -- TODO: higher arities? Limited now by Generics instances for tuples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-0.5.0.1/src/Data/Store/TH/Internal.hs new/store-0.5.1.0/src/Data/Store/TH/Internal.hs --- old/store-0.5.0.1/src/Data/Store/TH/Internal.hs 2017-11-22 16:23:16.000000000 +0100 +++ new/store-0.5.1.0/src/Data/Store/TH/Internal.hs 2019-04-24 20:58:44.000000000 +0200 @@ -103,9 +103,16 @@ sizeNames = zipWith (\_ -> mkName . ("sz" ++) . show) cons ints tagName = mkName "tag" valName = mkName "val" - sizeExpr = - caseE (tupE (concatMap (map sizeAtType . snd) cons)) - (if null sizeNames then [matchConstSize] else [matchConstSize, matchVarSize]) + sizeExpr + -- Maximum size of GHC tuples + | length cons <= 62 = + caseE (tupE (concatMap (map sizeAtType . snd) cons)) + (case cons of + -- Avoid overlapping matches when the case expression is () + [] -> [matchConstSize] + [c] | null (snd c) -> [matchConstSize] + _ -> [matchConstSize, matchVarSize]) + | otherwise = varSizeExpr where sizeAtType :: (Name, Type) -> ExpQ sizeAtType (_, ty) = [| size :: Size $(return ty) |] @@ -139,9 +146,11 @@ matchVarSize :: MatchQ matchVarSize = do match (tupP (map (\(n, _) -> varP n) (concatMap snd cons))) - (normalB [| VarSize $ \x -> tagSize + - $(caseE [| x |] (map matchVar cons)) |]) + (normalB varSizeExpr) [] + varSizeExpr :: ExpQ + varSizeExpr = + [| VarSize $ \x -> tagSize + $(caseE [| x |] (map matchVar cons)) |] matchVar :: (Name, [(Name, Type)]) -> MatchQ matchVar (cname, []) = match (conP cname []) (normalB [| 0 |]) [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-0.5.0.1/store.cabal new/store-0.5.1.0/store.cabal --- old/store-0.5.0.1/store.cabal 2018-10-21 09:52:04.000000000 +0200 +++ new/store-0.5.1.0/store.cabal 2019-04-24 21:05:35.000000000 +0200 @@ -1,13 +1,13 @@ -cabal-version: >= 1.10 +cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.29.0. +-- This file has been generated from package.yaml by hpack version 0.31.1. -- -- see: https://github.com/sol/hpack -- --- hash: cf65d77ec7461cd466e325a485e2ac48b5cbfcf303c243e11f5b8e9674d9057e +-- hash: 5c038df3338fc7661664ddc082dde9288b48c1153a7680a63b2aed528590535e name: store -version: 0.5.0.1 +version: 0.5.1.0 synopsis: Fast binary serialization category: Serialization, Data homepage: https://github.com/fpco/store#readme @@ -151,12 +151,14 @@ , void >=0.5.11 default-language: Haskell2010 -test-suite store-weigh +benchmark store-bench type: exitcode-stdio-1.0 - main-is: Allocations.hs + main-is: Bench.hs + other-modules: + Paths_store hs-source-dirs: - test - ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N -with-rtsopts=-T -O2 + bench + ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N1 -with-rtsopts=-s -with-rtsopts=-qg build-depends: array >=0.5.0.0 , async >=2.0.2 @@ -165,8 +167,6 @@ , base64-bytestring >=0.1.1 , bifunctors >=4.0 , bytestring >=0.10.4.0 - , cereal - , cereal-vector , containers >=0.5.5.1 , contravariant >=1.3 , criterion @@ -203,19 +203,24 @@ , transformers >=0.3.0.0 , unordered-containers >=0.2.5.1 , vector >=0.10.12.3 - , vector-binary-instances , void >=0.5.11 - , weigh + if flag(comparison-bench) + cpp-options: -DCOMPARISON_BENCH + build-depends: + binary + , cereal + , cereal-vector + , vector-binary-instances + if flag(small-bench) + cpp-options: -DSMALL_BENCH default-language: Haskell2010 -benchmark store-bench +benchmark store-weigh type: exitcode-stdio-1.0 - main-is: Bench.hs - other-modules: - Paths_store + main-is: Allocations.hs hs-source-dirs: - bench - ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N1 -with-rtsopts=-s -with-rtsopts=-qg + test + ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N -with-rtsopts=-T -O2 build-depends: array >=0.5.0.0 , async >=2.0.2 @@ -224,6 +229,8 @@ , base64-bytestring >=0.1.1 , bifunctors >=4.0 , bytestring >=0.10.4.0 + , cereal + , cereal-vector , containers >=0.5.5.1 , contravariant >=1.3 , criterion @@ -260,14 +267,7 @@ , transformers >=0.3.0.0 , unordered-containers >=0.2.5.1 , vector >=0.10.12.3 + , vector-binary-instances , void >=0.5.11 - if flag(comparison-bench) - cpp-options: -DCOMPARISON_BENCH - build-depends: - binary - , cereal - , cereal-vector - , vector-binary-instances - if flag(small-bench) - cpp-options: -DSMALL_BENCH + , weigh default-language: Haskell2010 ++++++ store.cabal ++++++ cabal-version: 1.12 -- This file has been generated from package.yaml by hpack version 0.31.1. -- -- see: https://github.com/sol/hpack -- -- hash: 5c038df3338fc7661664ddc082dde9288b48c1153a7680a63b2aed528590535e name: store version: 0.5.1.0 x-revision: 1 synopsis: Fast binary serialization category: Serialization, Data homepage: https://github.com/fpco/store#readme bug-reports: https://github.com/fpco/store/issues maintainer: Michael Sloan <[email protected]> copyright: 2016 FP Complete license: MIT license-file: LICENSE build-type: Simple extra-source-files: ChangeLog.md README.md source-repository head type: git location: https://github.com/fpco/store flag comparison-bench manual: True default: False flag small-bench manual: True default: False library exposed-modules: Data.Store Data.Store.Internal Data.Store.TH Data.Store.TH.Internal Data.Store.TypeHash Data.Store.TypeHash.Internal Data.Store.Version System.IO.ByteBuffer other-modules: Data.Store.Impl hs-source-dirs: src ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 build-depends: array >=0.5.0.0 , async >=2.0.2 , base >=4.7 && <5 , base-orphans >=0.4.3 , base64-bytestring >=0.1.1 , bifunctors >=4.0 , bytestring >=0.10.4.0 , containers >=0.5.5.1 , contravariant >=1.3 , cryptohash >=0.11.6 , deepseq >=1.3.0.2 , directory >=1.2 , filepath >=1.3 , free >=4.11 , ghc-prim >=0.3.1.0 , hashable >=1.2.3.1 , hspec >=2.1.2 , hspec-smallcheck >=0.3.0 , integer-gmp >=0.5.1.0 , lifted-base >=0.2.3.3 , monad-control >=0.3.3.0 , mono-traversable >=0.7.0 , network >=2.6.0.2 , primitive >=0.6 , resourcet >=1.1.3.3 , safe >=0.3.8 , semigroups >=0.8 , smallcheck >=1.1.1 , store-core >=0.4 && <0.5 , syb >=0.4.4 , template-haskell >=2.11.0.0 && < 2.15 , text >=1.2.0.4 , th-lift >=0.7.1 , th-lift-instances >=0.1.4 , th-orphans >=0.12.2 , th-reify-many >=0.1.6 , th-utilities >=0.2 , time >=1.4.2 , transformers >=0.3.0.0 , unordered-containers >=0.2.5.1 , vector >=0.10.12.3 , void >=0.5.11 default-language: Haskell2010 test-suite store-test type: exitcode-stdio-1.0 main-is: Spec.hs other-modules: Data.Store.UntrustedSpec Data.StoreSpec Data.StoreSpec.TH System.IO.ByteBufferSpec hs-source-dirs: test ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N build-depends: array >=0.5.0.0 , async >=2.0.2 , base >=4.7 && <5 , base-orphans >=0.4.3 , base64-bytestring >=0.1.1 , bifunctors >=4.0 , bytestring >=0.10.4.0 , clock >=0.3 , containers >=0.5.5.1 , contravariant >=1.3 , cryptohash >=0.11.6 , deepseq >=1.3.0.2 , directory >=1.2 , filepath >=1.3 , free >=4.11 , ghc-prim >=0.3.1.0 , hashable >=1.2.3.1 , hspec >=2.1.2 , hspec-smallcheck >=0.3.0 , integer-gmp >=0.5.1.0 , lifted-base >=0.2.3.3 , monad-control >=0.3.3.0 , mono-traversable >=0.7.0 , network >=2.6.0.2 , primitive >=0.6 , resourcet >=1.1.3.3 , safe >=0.3.8 , semigroups >=0.8 , smallcheck >=1.1.1 , store , store-core >=0.4 && <0.5 , syb >=0.4.4 , template-haskell >=2.9.0.0 , text >=1.2.0.4 , th-lift >=0.7.1 , th-lift-instances >=0.1.4 , th-orphans >=0.12.2 , th-reify-many >=0.1.6 , th-utilities >=0.2 , time >=1.4.2 , transformers >=0.3.0.0 , unordered-containers >=0.2.5.1 , vector >=0.10.12.3 , void >=0.5.11 default-language: Haskell2010 benchmark store-bench type: exitcode-stdio-1.0 main-is: Bench.hs other-modules: Paths_store hs-source-dirs: bench ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N1 -with-rtsopts=-s -with-rtsopts=-qg build-depends: array >=0.5.0.0 , async >=2.0.2 , base >=4.7 && <5 , base-orphans >=0.4.3 , base64-bytestring >=0.1.1 , bifunctors >=4.0 , bytestring >=0.10.4.0 , containers >=0.5.5.1 , contravariant >=1.3 , criterion , cryptohash >=0.11.6 , deepseq >=1.3.0.2 , directory >=1.2 , filepath >=1.3 , free >=4.11 , ghc-prim >=0.3.1.0 , hashable >=1.2.3.1 , hspec >=2.1.2 , hspec-smallcheck >=0.3.0 , integer-gmp >=0.5.1.0 , lifted-base >=0.2.3.3 , monad-control >=0.3.3.0 , mono-traversable >=0.7.0 , network >=2.6.0.2 , primitive >=0.6 , resourcet >=1.1.3.3 , safe >=0.3.8 , semigroups >=0.8 , smallcheck >=1.1.1 , store , store-core >=0.4 && <0.5 , syb >=0.4.4 , template-haskell >=2.9.0.0 , text >=1.2.0.4 , th-lift >=0.7.1 , th-lift-instances >=0.1.4 , th-orphans >=0.12.2 , th-reify-many >=0.1.6 , th-utilities >=0.2 , time >=1.4.2 , transformers >=0.3.0.0 , unordered-containers >=0.2.5.1 , vector >=0.10.12.3 , void >=0.5.11 if flag(comparison-bench) cpp-options: -DCOMPARISON_BENCH build-depends: binary , cereal , cereal-vector , vector-binary-instances if flag(small-bench) cpp-options: -DSMALL_BENCH default-language: Haskell2010 benchmark store-weigh type: exitcode-stdio-1.0 main-is: Allocations.hs hs-source-dirs: test ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 -threaded -rtsopts -with-rtsopts=-N -with-rtsopts=-T -O2 build-depends: array >=0.5.0.0 , async >=2.0.2 , base >=4.7 && <5 , base-orphans >=0.4.3 , base64-bytestring >=0.1.1 , bifunctors >=4.0 , bytestring >=0.10.4.0 , cereal , cereal-vector , containers >=0.5.5.1 , contravariant >=1.3 , criterion , cryptohash >=0.11.6 , deepseq >=1.3.0.2 , directory >=1.2 , filepath >=1.3 , free >=4.11 , ghc-prim >=0.3.1.0 , hashable >=1.2.3.1 , hspec >=2.1.2 , hspec-smallcheck >=0.3.0 , integer-gmp >=0.5.1.0 , lifted-base >=0.2.3.3 , monad-control >=0.3.3.0 , mono-traversable >=0.7.0 , network >=2.6.0.2 , primitive >=0.6 , resourcet >=1.1.3.3 , safe >=0.3.8 , semigroups >=0.8 , smallcheck >=1.1.1 , store , store-core >=0.4 && <0.5 , syb >=0.4.4 , template-haskell >=2.9.0.0 , text >=1.2.0.4 , th-lift >=0.7.1 , th-lift-instances >=0.1.4 , th-orphans >=0.12.2 , th-reify-many >=0.1.6 , th-utilities >=0.2 , time >=1.4.2 , transformers >=0.3.0.0 , unordered-containers >=0.2.5.1 , vector >=0.10.12.3 , vector-binary-instances , void >=0.5.11 , weigh default-language: Haskell2010
