Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-memory for openSUSE:Factory 
checked in at 2021-05-11 23:04:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-memory (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-memory.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-memory"

Tue May 11 23:04:09 2021 rev:21 rq:892188 version:0.16.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-memory/ghc-memory.changes    2021-05-05 
20:40:19.046834706 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-memory.new.2988/ghc-memory.changes  
2021-05-11 23:04:15.156932439 +0200
@@ -1,0 +2,7 @@
+Sat May  8 17:15:25 UTC 2021 - [email protected]
+
+- Update memory to version 0.16.0.
+  Upstream has not updated the file "CHANGELOG.md" since the last
+  release.
+
+-------------------------------------------------------------------

Old:
----
  memory-0.15.0.tar.gz
  memory.cabal

New:
----
  memory-0.16.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-memory.spec ++++++
--- /var/tmp/diff_new_pack.xesscm/_old  2021-05-11 23:04:15.716929885 +0200
+++ /var/tmp/diff_new_pack.xesscm/_new  2021-05-11 23:04:15.720929866 +0200
@@ -19,13 +19,12 @@
 %global pkg_name memory
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.15.0
+Version:        0.16.0
 Release:        0
 Summary:        Memory and related abstraction stuff
 License:        BSD-3-Clause
 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/2.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-basement-devel
 BuildRequires:  ghc-bytestring-devel
@@ -64,7 +63,6 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build

++++++ memory-0.15.0.tar.gz -> memory-0.16.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/ByteArray/Bytes.hs 
new/memory-0.16.0/Data/ByteArray/Bytes.hs
--- old/memory-0.15.0/Data/ByteArray/Bytes.hs   2019-09-02 04:59:04.000000000 
+0200
+++ new/memory-0.16.0/Data/ByteArray/Bytes.hs   2021-05-08 16:12:11.000000000 
+0200
@@ -16,6 +16,9 @@
     ( Bytes
     ) where
 
+#if MIN_VERSION_base(4,15,0)
+import           GHC.Exts (unsafeCoerce#)
+#endif
 import           GHC.Types
 import           GHC.Prim
 import           GHC.Ptr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/ByteArray/Encoding.hs 
new/memory-0.16.0/Data/ByteArray/Encoding.hs
--- old/memory-0.15.0/Data/ByteArray/Encoding.hs        2019-09-02 
04:59:04.000000000 +0200
+++ new/memory-0.16.0/Data/ByteArray/Encoding.hs        2020-01-07 
09:21:18.000000000 +0100
@@ -33,6 +33,13 @@
 -- encoding is often used in other specifications without
 -- <http://tools.ietf.org/html/rfc4648#section-3.2 padding> characters.
 --
+-- <https://www.ietf.org/rfc/rfc2045.txt RFC 2045>
+-- defines a separate Base64 encoding, which is not supported. This format
+-- requires a newline at least every 76 encoded characters, which works around
+-- limitations of older email programs that could not handle long lines.
+-- Be aware that other languages, such as Ruby, encode the RFC 2045 version
+-- by default. To decode their ouput, remove all newlines before decoding.
+--
 -- ==== Examples
 --
 -- A quick example to show the differences:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/ByteArray/ScrubbedBytes.hs 
new/memory-0.16.0/Data/ByteArray/ScrubbedBytes.hs
--- old/memory-0.15.0/Data/ByteArray/ScrubbedBytes.hs   2019-09-02 
04:59:04.000000000 +0200
+++ new/memory-0.16.0/Data/ByteArray/ScrubbedBytes.hs   2021-05-08 
16:12:11.000000000 +0200
@@ -17,6 +17,9 @@
 import           GHC.Types
 import           GHC.Prim
 import           GHC.Ptr
+#if MIN_VERSION_base(4,15,0)
+import           GHC.Exts (unsafeCoerce#)
+#endif
 #if MIN_VERSION_base(4,9,0)
 import           Data.Semigroup
 import           Data.Foldable (toList)
@@ -25,11 +28,10 @@
 #endif
 import           Data.String (IsString(..))
 import           Data.Typeable
-import           Data.Memory.PtrMethods          (memCopy, memConstEqual)
+import           Data.Memory.PtrMethods
 import           Data.Memory.Internal.CompatPrim
 import           Data.Memory.Internal.Compat     (unsafeDoIO)
 import           Data.Memory.Internal.Imports
-import           Data.Memory.Internal.Scrubber   (getScrubber)
 import           Data.ByteArray.Types
 import           Foreign.Storable
 #ifdef MIN_VERSION_basement
@@ -90,11 +92,17 @@
     | otherwise               = IO $ \s ->
         case newAlignedPinnedByteArray# sz 8# s of
             (# s1, mbarr #) ->
-                let !scrubber = (getScrubber sz) (byteArrayContents# 
(unsafeCoerce# mbarr))
+                let !scrubber = getScrubber (byteArrayContents# (unsafeCoerce# 
mbarr))
                     !mba      = ScrubbedBytes mbarr
                  in case mkWeak# mbarr () (finalize scrubber mba) s1 of
                     (# s2, _ #) -> (# s2, mba #)
   where
+    getScrubber :: Addr# -> State# RealWorld -> State# RealWorld
+    getScrubber addr s =
+        let IO scrubBytes = memSet (Ptr addr) 0 (I# sz)
+         in case scrubBytes s of
+                (# s', _ #) -> s'
+
 #if __GLASGOW_HASKELL__ >= 800
     finalize :: (State# RealWorld -> State# RealWorld) -> ScrubbedBytes -> 
State# RealWorld -> (# State# RealWorld, () #)
     finalize scrubber mba@(ScrubbedBytes _) = \s1 ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/ByteArray/Sized.hs 
new/memory-0.16.0/Data/ByteArray/Sized.hs
--- old/memory-0.15.0/Data/ByteArray/Sized.hs   2019-09-02 04:59:04.000000000 
+0200
+++ new/memory-0.16.0/Data/ByteArray/Sized.hs   2020-01-07 09:21:37.000000000 
+0100
@@ -99,7 +99,7 @@
 -- | Wrapper around any collection type with the size as type parameter
 --
 newtype SizedByteArray (n :: Nat) ba = SizedByteArray { unSizedByteArray :: ba 
}
-  deriving (Eq, Show, Typeable, Ord, NormalForm, Semigroup, Monoid)
+  deriving (Eq, Show, Typeable, Ord, NormalForm)
 
 -- | create a 'SizedByteArray' from the given 'ByteArrayAccess' if the
 -- size is the same as the target size.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/Memory/Encoding/Base64.hs 
new/memory-0.16.0/Data/Memory/Encoding/Base64.hs
--- old/memory-0.15.0/Data/Memory/Encoding/Base64.hs    2019-09-02 
04:59:04.000000000 +0200
+++ new/memory-0.16.0/Data/Memory/Encoding/Base64.hs    2020-01-07 
09:21:18.000000000 +0100
@@ -26,7 +26,6 @@
     , fromBase64OpenBSD
     ) where
 
-import           Control.Monad
 import           Data.Memory.Internal.Compat
 import           Data.Memory.Internal.CompatPrim
 import           Data.Memory.Internal.Imports
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/Memory/Internal/CompatPrim.hs 
new/memory-0.16.0/Data/Memory/Internal/CompatPrim.hs
--- old/memory-0.15.0/Data/Memory/Internal/CompatPrim.hs        2019-09-02 
04:59:04.000000000 +0200
+++ new/memory-0.16.0/Data/Memory/Internal/CompatPrim.hs        2020-01-07 
09:21:18.000000000 +0100
@@ -14,13 +14,11 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE BangPatterns #-}
 {-# LANGUAGE MagicHash #-}
-{-# LANGUAGE UnboxedTuples #-}
 module Data.Memory.Internal.CompatPrim
     ( be32Prim
     , le32Prim
     , byteswap32Prim
     , booleanPrim
-    , eitherDivideBy8#
     ) where
 
 import GHC.Prim
@@ -70,21 +68,3 @@
 booleanPrim b = b
 #endif
 {-# INLINE booleanPrim #-}
-
--- | Apply or or another function if 8 divides the number of bytes
-eitherDivideBy8# :: Int#        -- ^ number of bytes
-                 -> (Int# -> a) -- ^ if it divided by 8, the argument is the 
number of 8 bytes words
-                 -> (Int# -> a) -- ^ if it doesn't, just the number of bytes
-                 -> a
-#if __GLASGOW_HASKELL__ > 704
-eitherDivideBy8# v f8 f1 =
-    let !(# q, r #) = quotRemInt# v 8#
-     in if booleanPrim (r ==# 0#)
-            then f8 q
-            else f1 v
-#else
-eitherDivideBy8# v f8 f1 =
-    if booleanPrim ((remInt# v 8#) ==# 0#)
-        then f8 (quotInt# v 8#)
-        else f1 v
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/Memory/Internal/Imports.hs 
new/memory-0.16.0/Data/Memory/Internal/Imports.hs
--- old/memory-0.15.0/Data/Memory/Internal/Imports.hs   2019-09-02 
04:59:04.000000000 +0200
+++ new/memory-0.16.0/Data/Memory/Internal/Imports.hs   2020-01-07 
09:21:18.000000000 +0100
@@ -12,6 +12,6 @@
 
 import Data.Word                    as X
 import Control.Applicative          as X
-import Control.Monad                as X (forM, forM_, void)
+import Control.Monad                as X (forM, forM_, void, when)
 import Control.Arrow                as X (first, second)
 import Data.Memory.Internal.DeepSeq as X
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/Memory/Internal/Scrubber.hs 
new/memory-0.16.0/Data/Memory/Internal/Scrubber.hs
--- old/memory-0.15.0/Data/Memory/Internal/Scrubber.hs  2019-09-02 
04:59:04.000000000 +0200
+++ new/memory-0.16.0/Data/Memory/Internal/Scrubber.hs  1970-01-01 
01:00:00.000000000 +0100
@@ -1,80 +0,0 @@
--- |
--- Module      : Data.Memory.Internal.Scrubber
--- License     : BSD-style
--- Maintainer  : Vincent Hanquez <[email protected]>
--- Stability   : stable
--- Portability : Compat
---
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE BangPatterns #-}
-{-# LANGUAGE MagicHash #-}
-{-# LANGUAGE UnboxedTuples #-}
-#include "MachDeps.h"
-module Data.Memory.Internal.Scrubber
-    ( getScrubber
-    ) where
-
-import GHC.Prim
-import Data.Memory.Internal.CompatPrim (booleanPrim)
-
-getScrubber :: Int# -> (Addr# -> State# RealWorld -> State# RealWorld)
-getScrubber sz 
-    | booleanPrim (sz ==# 4#)  = scrub4
-    | booleanPrim (sz ==# 8#)  = scrub8
-    | booleanPrim (sz ==# 16#) = scrub16
-    | booleanPrim (sz ==# 32#) = scrub32
-    | otherwise                = scrubBytes sz
-  where
-        scrub4 a = \s -> writeWord32OffAddr# a 0# 0## s
-        {-# INLINE scrub4 #-}
-#if WORD_SIZE_IN_BITS == 64
-        scrub8 a = \s -> writeWord64OffAddr# a 0# 0## s
-        {-# INLINE scrub8 #-}
-        scrub16 a = \s1 ->
-            let !s2 = writeWord64OffAddr# a 0# 0## s1
-                !s3 = writeWord64OffAddr# a 1# 0## s2
-             in s3
-        {-# INLINE scrub16 #-}
-        scrub32 a = \s1 ->
-            let !s2 = writeWord64OffAddr# a 0# 0## s1
-                !s3 = writeWord64OffAddr# a 1# 0## s2
-                !s4 = writeWord64OffAddr# a 2# 0## s3
-                !s5 = writeWord64OffAddr# a 3# 0## s4
-             in s5
-        {-# INLINE scrub32 #-}
-#else
-        scrub8 a = \s1 ->
-            let !s2 = writeWord32OffAddr# a 0# 0## s1
-                !s3 = writeWord32OffAddr# a 1# 0## s2
-             in s3
-        {-# INLINE scrub8 #-}
-        scrub16 a = \s1 ->
-            let !s2 = writeWord32OffAddr# a 0# 0## s1
-                !s3 = writeWord32OffAddr# a 1# 0## s2
-                !s4 = writeWord32OffAddr# a 2# 0## s3
-                !s5 = writeWord32OffAddr# a 3# 0## s4
-             in s5
-        {-# INLINE scrub16 #-}
-        scrub32 a = \s1 ->
-            let !s2 = writeWord32OffAddr# a 0# 0## s1
-                !s3 = writeWord32OffAddr# a 1# 0## s2
-                !s4 = writeWord32OffAddr# a 2# 0## s3
-                !s5 = writeWord32OffAddr# a 3# 0## s4
-                !s6 = writeWord32OffAddr# a 4# 0## s5
-                !s7 = writeWord32OffAddr# a 5# 0## s6
-                !s8 = writeWord32OffAddr# a 6# 0## s7
-                !s9 = writeWord32OffAddr# a 7# 0## s8
-             in s9
-        {-# INLINE scrub32 #-}
-#endif
-
-scrubBytes :: Int# -> Addr# -> State# RealWorld -> State# RealWorld
-scrubBytes sz8 addr = \s -> loop sz8 addr s
-  where loop :: Int# -> Addr# -> State# RealWorld -> State# RealWorld
-        loop n a s
-            | booleanPrim (n ==# 0#) = s
-            | otherwise              =
-                case writeWord8OffAddr# a 0# 0## s of
-                    s' -> loop (n -# 1#) (plusAddr# a 1#) s'
-        {-# INLINE loop #-}
-{-# INLINE scrubBytes #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/Data/Memory/PtrMethods.hs 
new/memory-0.16.0/Data/Memory/PtrMethods.hs
--- old/memory-0.15.0/Data/Memory/PtrMethods.hs 2019-09-02 04:59:04.000000000 
+0200
+++ new/memory-0.16.0/Data/Memory/PtrMethods.hs 2020-01-07 09:21:18.000000000 
+0100
@@ -53,13 +53,11 @@
     | destination == source = loopInplace source bytes
     | otherwise             = loop destination source bytes
   where
-    loop _   _  0 = return ()
-    loop !d !s !n = do
+    loop !d !s n = when (n > 0) $ do
         peek s >>= poke d . xor v
         loop (d `plusPtr` 1) (s `plusPtr` 1) (n-1)
 
-    loopInplace _   0 = return ()
-    loopInplace !s !n = do
+    loopInplace !s n = when (n > 0) $ do
         peek s >>= poke s . xor v
         loopInplace (s `plusPtr` 1) (n-1)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/memory-0.15.0/memory.cabal 
new/memory-0.16.0/memory.cabal
--- old/memory-0.15.0/memory.cabal      2019-09-05 06:24:06.000000000 +0200
+++ new/memory-0.16.0/memory.cabal      2021-05-08 16:15:05.000000000 +0200
@@ -1,5 +1,5 @@
 Name:                memory
-version:             0.15.0
+version:             0.16.0
 Synopsis:            memory and related abstraction stuff
 Description:
     Chunk of memory, polymorphic byte array management and manipulation
@@ -70,7 +70,6 @@
                      Data.Memory.Internal.CompatPrim64
                      Data.Memory.Internal.DeepSeq
                      Data.Memory.Internal.Imports
-                     Data.Memory.Internal.Scrubber
                      Data.Memory.Hash.SipHash
                      Data.Memory.Hash.FNV
                      Data.ByteArray.Pack.Internal

Reply via email to