Hello community, here is the log from the commit of package ghc-store-core for openSUSE:Factory checked in at 2018-07-24 17:22:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-store-core (Old) and /work/SRC/openSUSE:Factory/.ghc-store-core.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-store-core" Tue Jul 24 17:22:08 2018 rev:6 rq:623861 version:0.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-store-core/ghc-store-core.changes 2018-05-30 12:27:21.102184099 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-store-core.new/ghc-store-core.changes 2018-07-24 17:22:09.899283052 +0200 @@ -1,0 +2,33 @@ +Wed Jul 18 14:26:42 UTC 2018 - [email protected] + +- Cosmetic: replace tabs with blanks, strip trailing white space, + and update copyright headers with spec-cleaner. + +------------------------------------------------------------------- +Fri Jul 13 14:32:10 UTC 2018 - [email protected] + +- Update store-core to version 0.4.4. + ## 0.4.4 + + * Build fixed with `--flag store-core:force-alignment` / on architectures + like PowerPC. + + ## 0.4.3 + + * Now builds with primitive >= 0.6.4.0 + + ## 0.4.2 + + * Adds `unsafeMakePokeState`, `unsafeMakePeekState`, and + `maybeAlignmentBufferSize`, so that library users can write their own + `encode` / `decode` functions. + See [#126](https://github.com/fpco/store/pull/126) + +------------------------------------------------------------------- +Sun Jun 17 08:44:48 UTC 2018 - [email protected] + +- Add fix-force-aligment.patch +* fixes build on ppc64 +* see upstream issue https://github.com/fpco/store/issues/133 + +------------------------------------------------------------------- @@ -25 +57,0 @@ - Old: ---- store-core-0.4.1.tar.gz New: ---- store-core-0.4.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-store-core.spec ++++++ --- /var/tmp/diff_new_pack.tm6o6M/_old 2018-07-24 17:22:10.919284357 +0200 +++ /var/tmp/diff_new_pack.tm6o6M/_new 2018-07-24 17:22:10.923284363 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-store-core # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 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 @@ -18,7 +18,7 @@ %global pkg_name store-core Name: ghc-%{pkg_name} -Version: 0.4.1 +Version: 0.4.4 Release: 0 Summary: Fast and lightweight binary serialization License: MIT @@ -27,7 +27,6 @@ Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel BuildRequires: ghc-bytestring-devel -BuildRequires: ghc-fail-devel BuildRequires: ghc-primitive-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-text-devel ++++++ store-core-0.4.1.tar.gz -> store-core-0.4.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-core-0.4.1/ChangeLog.md new/store-core-0.4.4/ChangeLog.md --- old/store-core-0.4.1/ChangeLog.md 2017-05-06 04:54:38.000000000 +0200 +++ new/store-core-0.4.4/ChangeLog.md 2018-06-17 10:51:22.000000000 +0200 @@ -1,5 +1,21 @@ # ChangeLog +## 0.4.4 + +* Build fixed with `--flag store-core:force-alignment` / on architectures + like PowerPC. + +## 0.4.3 + +* Now builds with primitive >= 0.6.4.0 + +## 0.4.2 + +* Adds `unsafeMakePokeState`, `unsafeMakePeekState`, and + `maybeAlignmentBufferSize`, so that library users can write their own + `encode` / `decode` functions. + See [#126](https://github.com/fpco/store/pull/126) + ## 0.4.1 * Less aggressive inlining, resulting in faster compilation / simplifier diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-core-0.4.1/src/Data/Store/Core.hs new/store-core-0.4.4/src/Data/Store/Core.hs --- old/store-core-0.4.1/src/Data/Store/Core.hs 2017-05-06 05:07:24.000000000 +0200 +++ new/store-core-0.4.4/src/Data/Store/Core.hs 2018-06-17 10:49:13.000000000 +0200 @@ -30,6 +30,8 @@ , pokeFromForeignPtr, peekToPlainForeignPtr, pokeFromPtr -- * ByteArray , pokeFromByteArray, peekToByteArray + -- * Creation of PokeState / PeekState + , unsafeMakePokeState, unsafeMakePeekState, maybeAlignmentBufferSize ) where import Control.Applicative @@ -40,14 +42,14 @@ import Data.ByteString (ByteString) import qualified Data.ByteString.Internal as BS import Data.Monoid ((<>)) -import Data.Primitive.ByteArray +import Data.Primitive.ByteArray (ByteArray, MutableByteArray(..), newByteArray, unsafeFreezeByteArray) import qualified Data.Text as T import Data.Typeable import Data.Word import Foreign.ForeignPtr (ForeignPtr, withForeignPtr, castForeignPtr) import Foreign.Ptr import Foreign.Storable as Storable -import GHC.Prim (unsafeCoerce#, RealWorld, copyByteArrayToAddr#, copyAddrToByteArray#) +import GHC.Prim (unsafeCoerce#, RealWorld, ByteArray#, copyByteArrayToAddr#, copyAddrToByteArray#) import GHC.Ptr (Ptr(..)) import GHC.Types (IO(..), Int(..)) import Prelude @@ -138,6 +140,23 @@ } #endif +-- | Make a 'PokeState' from a buffer pointer. +-- +-- The first argument is a pointer to the memory to write to. The second +-- argument is an IO action which is invoked if the store-core package +-- was built with the @force-alignment@ flag. The action should yield a +-- pointer to scratch memory as large as 'maybeAlignmentBufferSize'. +-- +-- Since 0.4.2 +unsafeMakePokeState :: Ptr Word8 -- ^ pokeStatePtr + -> IO (Ptr Word8) -- ^ action to produce pokeStateAlignPtr + -> IO PokeState +#if ALIGNED_MEMORY +unsafeMakePokeState ptr f = PokeState ptr <$> f +#else +unsafeMakePokeState ptr _ = return $ PokeState ptr +#endif + -- | Exception thrown while running 'poke'. Note that other types of -- exceptions could also be thrown. Invocations of 'fail' in the 'Poke' -- monad causes this exception to be thrown. @@ -243,6 +262,23 @@ { peekStateEndPtr :: Ptr Word8 } #endif +-- | Make a 'PeekState' from a buffer pointer. +-- +-- The first argument is a pointer to the memory to write to. The second +-- argument is an IO action which is invoked if the store-core package +-- was built with the @force-alignment@ flag. The action should yield a +-- pointer to scratch memory as large as 'maybeAlignmentBufferSize'. +-- +-- Since 0.4.2 +unsafeMakePeekState :: Ptr Word8 -- ^ peekStateEndPtr + -> IO (Ptr Word8) -- ^ action to produce peekStateAlignPtr + -> IO PeekState +#if ALIGNED_MEMORY +unsafeMakePeekState ptr f = PeekState ptr <$> f +#else +unsafeMakePeekState ptr _ = return $ PeekState ptr +#endif + -- | Exception thrown while running 'peek'. Note that other types of -- exceptions can also be thrown. Invocations of 'fail' in the 'Poke' -- monad causes this exception to be thrown. @@ -319,6 +355,18 @@ alignBufferSize = 32 #endif +-- | If store-core is built with the @force-alignment@ flag, then this +-- will be a 'Just' value indicating the amount of memory that is +-- expected in the alignment buffer used by 'PeekState' and 'PokeState'. +-- Currently this will either be @Just 32@ or @Nothing@. +maybeAlignmentBufferSize :: Maybe Int +maybeAlignmentBufferSize = +#if ALIGNED_MEMORY + Just alignBufferSize +#else + Nothing +#endif + -- | Checks if the offset matches the expected length, and throw a -- 'PokeException' otherwise. checkOffset :: Int -> Int -> IO () diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/store-core-0.4.1/store-core.cabal new/store-core-0.4.4/store-core.cabal --- old/store-core-0.4.1/store-core.cabal 2017-05-06 04:57:04.000000000 +0200 +++ new/store-core-0.4.4/store-core.cabal 2018-06-17 10:55:04.000000000 +0200 @@ -1,9 +1,11 @@ --- This file has been generated from package.yaml by hpack version 0.17.0. +-- This file has been generated from package.yaml by hpack version 0.28.2. -- -- see: https://github.com/sol/hpack +-- +-- hash: 680a12cdff5e1d96ebb6aeb5805d096ddf363c01f01f5f6292b7cac10d2b8007 name: store-core -version: 0.4.1 +version: 0.4.4 synopsis: Fast and lightweight binary serialization category: Serialization, Data homepage: https://github.com/fpco/store#readme @@ -14,7 +16,6 @@ license-file: LICENSE build-type: Simple cabal-version: >= 1.10 - extra-source-files: ChangeLog.md @@ -27,19 +28,23 @@ default: False library + exposed-modules: + Data.Store.Core + other-modules: + Paths_store_core hs-source-dirs: src ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns -fwarn-incomplete-record-updates -O2 build-depends: base >=4.7 && <5 - , primitive >=0.6 && < 1.0 - , bytestring >=0.10.4.0 && < 1.0 - , fail - , transformers >=0.3.0.0 && < 1.0 - , ghc-prim >=0.3.1.0 && < 1.0 - , text >=1.2.0.4 && < 2.0 + , bytestring >=0.10.4.0 && <1.0 + , ghc-prim >=0.3.1.0 && <1.0 + , primitive >=0.6 && <1.0 + , text >=1.2.0.4 && <2.0 + , transformers >=0.3.0.0 && <1.0 if flag(force-alignment) || arch(PPC) || arch(PPC64) || arch(Mips) || arch(Sparc) || arch(Arm) cpp-options: -DALIGNED_MEMORY - exposed-modules: - Data.Store.Core + if impl(ghc < 8.0) + build-depends: + fail default-language: Haskell2010
