Hello community,
here is the log from the commit of package ghc-vector-algorithms for
openSUSE:Leap:15.2 checked in at 2020-02-19 18:42:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/ghc-vector-algorithms (Old)
and /work/SRC/openSUSE:Leap:15.2/.ghc-vector-algorithms.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-vector-algorithms"
Wed Feb 19 18:42:09 2020 rev:13 rq:771522 version:0.8.0.3
Changes:
--------
---
/work/SRC/openSUSE:Leap:15.2/ghc-vector-algorithms/ghc-vector-algorithms.changes
2020-01-15 15:02:44.929820232 +0100
+++
/work/SRC/openSUSE:Leap:15.2/.ghc-vector-algorithms.new.26092/ghc-vector-algorithms.changes
2020-02-19 18:42:10.266282335 +0100
@@ -1,0 +2,18 @@
+Tue Dec 3 09:19:16 UTC 2019 - [email protected]
+
+- 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 <[email protected]>
+
+- Drop obsolete group attributes.
+
+-------------------------------------------------------------------
+Tue Jun 11 14:29:23 UTC 2019 - Peter Simons <[email protected]>
+
+- Update Cabal file for more accurate build dependencies.
+
+-------------------------------------------------------------------
Old:
----
vector-algorithms-0.8.0.1.tar.gz
New:
----
vector-algorithms-0.8.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-vector-algorithms.spec ++++++
--- /var/tmp/diff_new_pack.yA8ul3/_old 2020-02-19 18:42:10.794283442 +0100
+++ /var/tmp/diff_new_pack.yA8ul3/_new 2020-02-19 18:42:10.798283449 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ghc-vector-algorithms
#
-# 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,11 +19,10 @@
%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
BuildRequires: ghc-Cabal-devel
@@ -42,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}
@@ -74,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