Hello community,

here is the log from the commit of package ghc-vector-algorithms for 
openSUSE:Factory checked in at 2019-12-27 13:59:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-vector-algorithms (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-vector-algorithms.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-vector-algorithms"

Fri Dec 27 13:59:00 2019 rev:11 rq:759556 version:0.8.0.3

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/ghc-vector-algorithms/ghc-vector-algorithms.changes  
    2019-06-19 21:13:15.086792275 +0200
+++ 
/work/SRC/openSUSE:Factory/.ghc-vector-algorithms.new.6675/ghc-vector-algorithms.changes
    2019-12-27 13:59:02.052822564 +0100
@@ -1,0 +2,13 @@
+Tue Dec  3 09:19:16 UTC 2019 - psim...@suse.com
+
+- Update vector-algorithms to version 0.8.0.3.
+  Upstream added a new change log file in this release. With no
+  previous version to compare against, the automatic updater cannot
+  reliable determine the relevante entries for this release.
+
+-------------------------------------------------------------------
+Fri Nov  8 16:15:10 UTC 2019 - Peter Simons <psim...@suse.com>
+
+- Drop obsolete group attributes.
+
+-------------------------------------------------------------------

Old:
----
  vector-algorithms-0.8.0.1.tar.gz
  vector-algorithms.cabal

New:
----
  vector-algorithms-0.8.0.3.tar.gz

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

Other differences:
------------------
++++++ ghc-vector-algorithms.spec ++++++
--- /var/tmp/diff_new_pack.HYIXPj/_old  2019-12-27 13:59:04.992823984 +0100
+++ /var/tmp/diff_new_pack.HYIXPj/_new  2019-12-27 13:59:04.996823986 +0100
@@ -19,14 +19,12 @@
 %global pkg_name vector-algorithms
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.8.0.1
+Version:        0.8.0.3
 Release:        0
 Summary:        Efficient algorithms for vector arrays
 License:        BSD-3-Clause
-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/2.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-bytestring-devel
 BuildRequires:  ghc-primitive-devel
@@ -43,7 +41,6 @@
 
 %package devel
 Summary:        Haskell %{pkg_name} library development files
-Group:          Development/Libraries/Haskell
 Requires:       %{name} = %{version}-%{release}
 Requires:       ghc-compiler = %{ghc_version}
 Requires(post): ghc-compiler = %{ghc_version}
@@ -55,7 +52,6 @@
 
 %prep
 %setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build
@@ -76,5 +72,6 @@
 %license LICENSE
 
 %files devel -f %{name}-devel.files
+%doc CHANGELOG.md
 
 %changelog

++++++ vector-algorithms-0.8.0.1.tar.gz -> vector-algorithms-0.8.0.3.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vector-algorithms-0.8.0.1/CHANGELOG.md 
new/vector-algorithms-0.8.0.3/CHANGELOG.md
--- old/vector-algorithms-0.8.0.1/CHANGELOG.md  1970-01-01 01:00:00.000000000 
+0100
+++ new/vector-algorithms-0.8.0.3/CHANGELOG.md  2001-09-09 03:46:40.000000000 
+0200
@@ -0,0 +1,10 @@
+## Version 0.8.0.3 (2019-12-02)
+
+- Fix out-of-bounds access in Timsort.
+
+## Version 0.8.0.2 (2019-11-28)
+
+- Bump upper bounds on primitive and QuickCheck.
+- Expose 'terminate' function from 'AmericanFlag' module.
+- Fix an off-by-one error in Data.Vector.Algorithms.Heaps.heapInsert.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vector-algorithms-0.8.0.1/src/Data/Vector/Algorithms/AmericanFlag.hs 
new/vector-algorithms-0.8.0.3/src/Data/Vector/Algorithms/AmericanFlag.hs
--- old/vector-algorithms-0.8.0.1/src/Data/Vector/Algorithms/AmericanFlag.hs    
2018-10-09 03:32:06.000000000 +0200
+++ new/vector-algorithms-0.8.0.3/src/Data/Vector/Algorithms/AmericanFlag.hs    
2001-09-09 03:46:40.000000000 +0200
@@ -28,6 +28,7 @@
 
 module Data.Vector.Algorithms.AmericanFlag ( sort
                                            , sortBy
+                                           , terminate
                                            , Lexicographic(..)
                                            ) where
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vector-algorithms-0.8.0.1/src/Data/Vector/Algorithms/Heap.hs 
new/vector-algorithms-0.8.0.3/src/Data/Vector/Algorithms/Heap.hs
--- old/vector-algorithms-0.8.0.1/src/Data/Vector/Algorithms/Heap.hs    
2018-10-09 03:32:06.000000000 +0200
+++ new/vector-algorithms-0.8.0.3/src/Data/Vector/Algorithms/Heap.hs    
2001-09-09 03:46:40.000000000 +0200
@@ -265,8 +265,8 @@
  where
  sift k
    | k <= 0    = unsafeWrite v l e
-   | otherwise = let pi = l + shiftR (k-1) 2
-                  in unsafeRead v pi >>= \p -> case cmp p e of
+   | otherwise = let pi = shiftR (k-1) 2
+                  in unsafeRead v (l + pi) >>= \p -> case cmp p e of
                        LT -> unsafeWrite v (l + k) p >> sift pi
                        _  -> unsafeWrite v (l + k) e
 {-# INLINE heapInsert #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vector-algorithms-0.8.0.1/src/Data/Vector/Algorithms/Tim.hs 
new/vector-algorithms-0.8.0.3/src/Data/Vector/Algorithms/Tim.hs
--- old/vector-algorithms-0.8.0.1/src/Data/Vector/Algorithms/Tim.hs     
2018-10-09 03:32:06.000000000 +0200
+++ new/vector-algorithms-0.8.0.3/src/Data/Vector/Algorithms/Tim.hs     
2001-09-09 03:46:40.000000000 +0200
@@ -241,34 +241,41 @@
  gt  a b = cmp a b == GT
  gte a b = cmp a b /= LT
  tmpBufLen = m - l
- iter _ i _ _ _ _ _ _ | i >= tmpBufLen = return ()
- iter tmpBuf i j k _ _ _ _ | j >= u = do
+
+ finalize tmpBuf i k = do
    let from = unsafeSlice i (tmpBufLen-i) tmpBuf
        to   = unsafeSlice k (tmpBufLen-i) vec
    unsafeCopy to from
+
+ iter _ i _ _ _ _ _ _ | i >= tmpBufLen = return ()
+ iter tmpBuf i j k _ _ _ _ | j >= u = finalize tmpBuf i k
  iter tmpBuf i j k _ vj 0 _ = do
    i' <- gallopingSearchLeftPBounds (`gt` vj) tmpBuf i tmpBufLen
    let gallopLen = i' - i
        from = unsafeSlice i gallopLen tmpBuf
        to   = unsafeSlice k gallopLen vec
    unsafeCopy to from
-   vi' <- unsafeRead tmpBuf i'
-   iter tmpBuf i' j (k+gallopLen) vi' vj minGallop minGallop
+   when (i' < tmpBufLen) $ do
+     vi' <- unsafeRead tmpBuf i'
+     iter tmpBuf i' j (k+gallopLen) vi' vj minGallop minGallop
  iter tmpBuf i j k vi _ _ 0 = do
    j' <- gallopingSearchLeftPBounds (`gte` vi) vec j u
    let gallopLen = j' - j
        from = slice j gallopLen vec
        to   = slice k gallopLen vec
    unsafeMove to from
-   vj' <- unsafeRead vec j'
-   iter tmpBuf i j' (k+gallopLen) vi vj' minGallop minGallop
+   if j' >= u then finalize tmpBuf i (k + gallopLen) else do
+     vj' <- unsafeRead vec j'
+     iter tmpBuf i j' (k+gallopLen) vi vj' minGallop minGallop
  iter tmpBuf i j k vi vj ga gb
    | vj `gte` vi = do unsafeWrite vec k vi
-                      vi' <- unsafeRead tmpBuf (i+1)
-                      iter tmpBuf (i+1) j (k+1) vi' vj (ga-1) minGallop
+                      when (i + 1 < tmpBufLen) $ do
+                        vi' <- unsafeRead tmpBuf (i+1)
+                        iter tmpBuf (i+1) j (k+1) vi' vj (ga-1) minGallop
    | otherwise   = do unsafeWrite vec k vj
-                      vj' <- unsafeRead vec (j+1)
-                      iter tmpBuf i (j+1) (k+1) vi vj' minGallop (gb-1)
+                      if j + 1 >= u then finalize tmpBuf i (k + 1) else do
+                        vj' <- unsafeRead vec (j+1)
+                        iter tmpBuf i (j+1) (k+1) vi vj' minGallop (gb-1)
 {-# INLINE mergeLo #-}
 
 -- | Merge the adjacent sorted slices [l,m) and [m,u) in vec. This is done by
@@ -292,34 +299,41 @@
  gt  a b = cmp a b == GT
  gte a b = cmp a b /= LT
  tmpBufLen = u - m
- iter _ _ j _ _ _ _ _ | j < 0 = return ()
- iter tmpBuf i j _ _ _ _ _ | i < l = do
+
+ finalize tmpBuf j = do
    let from = unsafeSlice 0 (j+1) tmpBuf
        to   = unsafeSlice l (j+1) vec
    unsafeCopy to from
+
+ iter _ _ j _ _ _ _ _ | j < 0 = return ()
+ iter tmpBuf i j _ _ _ _ _ | i < l = finalize tmpBuf j
  iter tmpBuf i j k _ vj 0 _ = do
    i' <- gallopingSearchRightPBounds (`gt` vj) vec l i
    let gallopLen = i - i'
        from = slice (i'+1) gallopLen vec
        to   = slice (k-gallopLen+1) gallopLen vec
    unsafeMove to from
-   vi' <- unsafeRead vec i'
-   iter tmpBuf i' j (k-gallopLen) vi' vj minGallop minGallop
+   if i' < l then finalize tmpBuf j else do
+     vi' <- unsafeRead vec i'
+     iter tmpBuf i' j (k-gallopLen) vi' vj minGallop minGallop
  iter tmpBuf i j k vi _ _ 0 = do
    j' <- gallopingSearchRightPBounds (`gte` vi) tmpBuf 0 j
    let gallopLen = j - j'
        from = slice (j'+1) gallopLen tmpBuf
        to   = slice (k-gallopLen+1) gallopLen vec
    unsafeCopy to from
-   vj' <- unsafeRead tmpBuf j'
-   iter tmpBuf i j' (k-gallopLen) vi vj' minGallop minGallop
+   when (j' >= 0) $ do
+     vj' <- unsafeRead tmpBuf j'
+     iter tmpBuf i j' (k-gallopLen) vi vj' minGallop minGallop
  iter tmpBuf i j k vi vj ga gb
    | vi `gt` vj = do unsafeWrite vec k vi
-                     vi' <- unsafeRead vec (i-1)
-                     iter tmpBuf (i-1) j (k-1) vi' vj (ga-1) minGallop
+                     if i - 1 < l then finalize tmpBuf j else do
+                       vi' <- unsafeRead vec (i-1)
+                       iter tmpBuf (i-1) j (k-1) vi' vj (ga-1) minGallop
    | otherwise  = do unsafeWrite vec k vj
-                     vj' <- unsafeRead tmpBuf (j-1)
-                     iter tmpBuf i (j-1) (k-1) vi vj' minGallop (gb-1)
+                     when (j - 1 >= 0) $ do
+                       vj' <- unsafeRead tmpBuf (j-1)
+                       iter tmpBuf i (j-1) (k-1) vi vj' minGallop (gb-1)
 {-# INLINE mergeHi #-}
 
 -- | Merge the adjacent sorted slices A=[l,m) and B=[m,u) in vec. This begins
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vector-algorithms-0.8.0.1/vector-algorithms.cabal 
new/vector-algorithms-0.8.0.3/vector-algorithms.cabal
--- old/vector-algorithms-0.8.0.1/vector-algorithms.cabal       2018-10-09 
03:32:06.000000000 +0200
+++ new/vector-algorithms-0.8.0.3/vector-algorithms.cabal       2001-09-09 
03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
 name:              vector-algorithms
-version:           0.8.0.1
+version:           0.8.0.3
 license:           BSD3
 license-file:      LICENSE
 author:            Dan Doel
@@ -14,6 +14,8 @@
                    other vector algorithms may be added.
 build-type:        Simple
 cabal-version:     >= 1.9.2
+extra-source-files: CHANGELOG.md
+
 
 flag BoundsChecks
   description: Enable bounds checking
@@ -55,7 +57,7 @@
 
   build-depends: base >= 4.5 && < 5,
                  vector >= 0.6 && < 0.13,
-                 primitive >=0.3 && <0.7,
+                 primitive >=0.3 && <0.8,
                  bytestring >= 0.9 && < 1.0
 
   if ! impl (ghc >= 7.8)
@@ -139,7 +141,7 @@
       base,
       bytestring,
       containers,
-      QuickCheck > 2.9 && < 2.13,
+      QuickCheck > 2.9 && < 2.14,
       vector,
       vector-algorithms
 


Reply via email to