Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-hashtables for openSUSE:Factory checked in at 2023-04-04 21:20:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-hashtables (Old) and /work/SRC/openSUSE:Factory/.ghc-hashtables.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hashtables" Tue Apr 4 21:20:15 2023 rev:6 rq:1075891 version:1.3.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-hashtables/ghc-hashtables.changes 2021-11-11 21:38:23.696974987 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-hashtables.new.19717/ghc-hashtables.changes 2023-04-04 21:20:31.733231899 +0200 @@ -1,0 +2,25 @@ +Thu Mar 30 17:06:56 UTC 2023 - Peter Simons <[email protected]> + +- Updated spec file to conform with ghc-rpm-macros-2.5.2. + +------------------------------------------------------------------- +Sun Oct 2 08:15:35 UTC 2022 - Peter Simons <[email protected]> + +- Update hashtables to version 1.3.1. + ## 1.3.1 + + Fix Noncanonical mappend definition warning. + Support more recent compilers. + + ## 1.3 + + Support Hashable 1.4. This new version of Hashable drops the Eq constraint, so the Eq constraint + needs to be dropped in the SPECIALIZE statements in Hashtables. + + ## 1.2.4.2 + + Cabal file: add missing other-modules + Silence import warnings. Know that we require ghc >= 7.8. + Fix build with GHC 9.2 + +------------------------------------------------------------------- Old: ---- hashtables-1.2.4.2.tar.gz New: ---- hashtables-1.3.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-hashtables.spec ++++++ --- /var/tmp/diff_new_pack.BZfkSm/_old 2023-04-04 21:20:32.309235572 +0200 +++ /var/tmp/diff_new_pack.BZfkSm/_new 2023-04-04 21:20:32.313235597 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-hashtables # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,27 +17,39 @@ %global pkg_name hashtables +%global pkgver %{pkg_name}-%{version} %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.2.4.2 +Version: 1.3.1 Release: 0 Summary: Mutable hash tables in the ST monad 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 BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof BuildRequires: ghc-hashable-devel +BuildRequires: ghc-hashable-prof BuildRequires: ghc-primitive-devel +BuildRequires: ghc-primitive-prof BuildRequires: ghc-rpm-macros BuildRequires: ghc-vector-devel +BuildRequires: ghc-vector-prof ExcludeArch: %{ix86} %if %{with tests} BuildRequires: ghc-HUnit-devel +BuildRequires: ghc-HUnit-prof BuildRequires: ghc-QuickCheck-devel +BuildRequires: ghc-QuickCheck-prof BuildRequires: ghc-mwc-random-devel +BuildRequires: ghc-mwc-random-prof BuildRequires: ghc-test-framework-devel BuildRequires: ghc-test-framework-hunit-devel +BuildRequires: ghc-test-framework-hunit-prof +BuildRequires: ghc-test-framework-prof BuildRequires: ghc-test-framework-quickcheck2-devel +BuildRequires: ghc-test-framework-quickcheck2-prof %endif %description @@ -124,6 +136,22 @@ %description devel This package provides the Haskell %{pkg_name} library development files. +%package -n ghc-%{pkg_name}-doc +Summary: Haskell %{pkg_name} library documentation +Requires: ghc-filesystem +BuildArch: noarch + +%description -n ghc-%{pkg_name}-doc +This package provides the Haskell %{pkg_name} library documentation. + +%package -n ghc-%{pkg_name}-prof +Summary: Haskell %{pkg_name} profiling library +Requires: ghc-%{pkg_name}-devel = %{version}-%{release} +Supplements: (ghc-%{pkg_name}-devel and ghc-prof) + +%description -n ghc-%{pkg_name}-prof +This package provides the Haskell %{pkg_name} profiling library. + %prep %autosetup -n %{pkg_name}-%{version} @@ -148,4 +176,9 @@ %files devel -f %{name}-devel.files %doc README.md changelog.md +%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files +%license LICENSE + +%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files + %changelog ++++++ hashtables-1.2.4.2.tar.gz -> hashtables-1.3.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashtables-1.2.4.2/cabal.project new/hashtables-1.3.1/cabal.project --- old/hashtables-1.2.4.2/cabal.project 2001-09-09 03:46:40.000000000 +0200 +++ new/hashtables-1.3.1/cabal.project 2001-09-09 03:46:40.000000000 +0200 @@ -1 +1,5 @@ packages: . + +tests: True + +test-show-details: direct diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashtables-1.2.4.2/changelog.md new/hashtables-1.3.1/changelog.md --- old/hashtables-1.2.4.2/changelog.md 2001-09-09 03:46:40.000000000 +0200 +++ new/hashtables-1.3.1/changelog.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,22 @@ # Hashtables changelog +## 1.3.1 + +Fix Noncanonical mappend definition warning. +Support more recent compilers. + + +## 1.3 + +Support Hashable 1.4. This new version of Hashable drops the Eq constraint, so the Eq constraint +needs to be dropped in the SPECIALIZE statements in Hashtables. + +## 1.2.4.2 + +Cabal file: add missing other-modules +Silence import warnings. Know that we require ghc >= 7.8. +Fix build with GHC 9.2 + ## 1.2.4.1 Update some test suite dep upper bounds. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashtables-1.2.4.2/hashtables.cabal new/hashtables-1.3.1/hashtables.cabal --- old/hashtables-1.2.4.2/hashtables.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/hashtables-1.3.1/hashtables.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,6 @@ Cabal-Version: 2.2 Name: hashtables -Version: 1.2.4.2 +Version: 1.3.1 Synopsis: Mutable hash tables in the ST monad Homepage: http://github.com/gregorycollins/hashtables License: BSD-3-Clause @@ -22,7 +22,8 @@ GHC == 8.8.4 GHC == 8.10.7 GHC == 9.0.1 - GHC == 9.2.1 + GHC == 9.2.4 + GHC == 9.4.2 Description: This package provides a couple of different implementations of mutable hash @@ -192,9 +193,9 @@ Data.HashTable.Internal.Linear.Bucket Build-depends: base >= 4.7 && <5, - hashable >= 1.1 && <1.2 || >= 1.2.1 && <1.4, + hashable >= 1.4 && < 1.5, primitive, - vector >= 0.7 && <0.13 + vector >= 0.7 && <0.14 if flag(portable) cpp-options: -DNO_C_SEARCH -DPORTABLE @@ -270,7 +271,7 @@ cpp-options: -DBOUNDS_CHECKING Build-depends: base >= 4 && <5, - hashable >= 1.1 && <1.2 || >= 1.2.1 && <1.4, + hashable >= 1.4 && < 1.5, mwc-random >= 0.8 && <0.16, primitive, QuickCheck >= 2.3.0.2, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashtables-1.2.4.2/src/Data/HashTable/IO.hs new/hashtables-1.3.1/src/Data/HashTable/IO.hs --- old/hashtables-1.2.4.2/src/Data/HashTable/IO.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/hashtables-1.3.1/src/Data/HashTable/IO.hs 2001-09-09 03:46:40.000000000 +0200 @@ -123,11 +123,11 @@ IOHashTable h k v -> k -> v -> IO () insert h k v = stToIO $ C.insert h k v {-# INLINE insert #-} -{-# SPECIALIZE INLINE insert :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE insert :: Hashable k => BasicHashTable k v -> k -> v -> IO () #-} -{-# SPECIALIZE INLINE insert :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE insert :: Hashable k => LinearHashTable k v -> k -> v -> IO () #-} -{-# SPECIALIZE INLINE insert :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE insert :: Hashable k => CuckooHashTable k v -> k -> v -> IO () #-} @@ -137,11 +137,11 @@ IOHashTable h k v -> k -> IO () delete h k = stToIO $ C.delete h k {-# INLINE delete #-} -{-# SPECIALIZE INLINE delete :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE delete :: Hashable k => BasicHashTable k v -> k -> IO () #-} -{-# SPECIALIZE INLINE delete :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE delete :: Hashable k => LinearHashTable k v -> k -> IO () #-} -{-# SPECIALIZE INLINE delete :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE delete :: Hashable k => CuckooHashTable k v -> k -> IO () #-} @@ -151,11 +151,11 @@ IOHashTable h k v -> k -> IO (Maybe v) lookup h k = stToIO $ C.lookup h k {-# INLINE lookup #-} -{-# SPECIALIZE INLINE lookup :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE lookup :: Hashable k => BasicHashTable k v -> k -> IO (Maybe v) #-} -{-# SPECIALIZE INLINE lookup :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE lookup :: Hashable k => LinearHashTable k v -> k -> IO (Maybe v) #-} -{-# SPECIALIZE INLINE lookup :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE lookup :: Hashable k => CuckooHashTable k v -> k -> IO (Maybe v) #-} ------------------------------------------------------------------------------ @@ -164,11 +164,11 @@ IOHashTable h k v -> k -> IO (Maybe Word) lookupIndex h k = stToIO $ C.lookupIndex h k {-# INLINE lookupIndex #-} -{-# SPECIALIZE INLINE lookupIndex :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE lookupIndex :: Hashable k => BasicHashTable k v -> k -> IO (Maybe Word) #-} -{-# SPECIALIZE INLINE lookupIndex :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE lookupIndex :: Hashable k => LinearHashTable k v -> k -> IO (Maybe Word) #-} -{-# SPECIALIZE INLINE lookupIndex :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE lookupIndex :: Hashable k => CuckooHashTable k v -> k -> IO (Maybe Word) #-} ------------------------------------------------------------------------------ @@ -177,11 +177,11 @@ IOHashTable h k v -> Word -> IO (Maybe (Word,k,v)) nextByIndex h k = stToIO $ C.nextByIndex h k {-# INLINE nextByIndex #-} -{-# SPECIALIZE INLINE nextByIndex :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE nextByIndex :: Hashable k => BasicHashTable k v -> Word -> IO (Maybe (Word,k,v)) #-} -{-# SPECIALIZE INLINE nextByIndex :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE nextByIndex :: Hashable k => LinearHashTable k v -> Word -> IO (Maybe (Word,k,v)) #-} -{-# SPECIALIZE INLINE nextByIndex :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE nextByIndex :: Hashable k => CuckooHashTable k v -> Word -> IO (Maybe (Word,k,v)) #-} ------------------------------------------------------------------------------ @@ -190,11 +190,11 @@ IOHashTable h k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a mutateIO h k f = stToIO $ C.mutateST h k (ioToST . f) {-# INLINE mutateIO #-} -{-# SPECIALIZE INLINE mutateIO :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE mutateIO :: Hashable k => BasicHashTable k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a #-} -{-# SPECIALIZE INLINE mutateIO :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE mutateIO :: Hashable k => LinearHashTable k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a #-} -{-# SPECIALIZE INLINE mutateIO :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE mutateIO :: Hashable k => CuckooHashTable k v -> k -> (Maybe v -> IO (Maybe v, a)) -> IO a #-} ------------------------------------------------------------------------------ @@ -203,11 +203,11 @@ IOHashTable h k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a mutate h k f = stToIO $ C.mutate h k f {-# INLINE mutate #-} -{-# SPECIALIZE INLINE mutate :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE mutate :: Hashable k => BasicHashTable k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a #-} -{-# SPECIALIZE INLINE mutate :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE mutate :: Hashable k => LinearHashTable k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a #-} -{-# SPECIALIZE INLINE mutate :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE mutate :: Hashable k => CuckooHashTable k v -> k -> (Maybe v -> (Maybe v, a)) -> IO a #-} @@ -218,11 +218,11 @@ [(k,v)] -> IO (IOHashTable h k v) fromList = stToIO . C.fromList {-# INLINE fromList #-} -{-# SPECIALIZE INLINE fromList :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE fromList :: Hashable k => [(k,v)] -> IO (BasicHashTable k v) #-} -{-# SPECIALIZE INLINE fromList :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE fromList :: Hashable k => [(k,v)] -> IO (LinearHashTable k v) #-} -{-# SPECIALIZE INLINE fromList :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE fromList :: Hashable k => [(k,v)] -> IO (CuckooHashTable k v) #-} @@ -233,11 +233,11 @@ Int -> [(k,v)] -> IO (IOHashTable h k v) fromListWithSizeHint n = stToIO . C.fromListWithSizeHint n {-# INLINE fromListWithSizeHint #-} -{-# SPECIALIZE INLINE fromListWithSizeHint :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE fromListWithSizeHint :: Hashable k => Int -> [(k,v)] -> IO (BasicHashTable k v) #-} -{-# SPECIALIZE INLINE fromListWithSizeHint :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE fromListWithSizeHint :: Hashable k => Int -> [(k,v)] -> IO (LinearHashTable k v) #-} -{-# SPECIALIZE INLINE fromListWithSizeHint :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE fromListWithSizeHint :: Hashable k => Int -> [(k,v)] -> IO (CuckooHashTable k v) #-} @@ -247,11 +247,11 @@ IOHashTable h k v -> IO [(k,v)] toList = stToIO . C.toList {-# INLINE toList #-} -{-# SPECIALIZE INLINE toList :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE toList :: Hashable k => BasicHashTable k v -> IO [(k,v)] #-} -{-# SPECIALIZE INLINE toList :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE toList :: Hashable k => LinearHashTable k v -> IO [(k,v)] #-} -{-# SPECIALIZE INLINE toList :: (Eq k, Hashable k) => +{-# SPECIALIZE INLINE toList :: Hashable k => CuckooHashTable k v -> IO [(k,v)] #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashtables-1.2.4.2/src/Data/HashTable/ST/Basic.hs new/hashtables-1.3.1/src/Data/HashTable/ST/Basic.hs --- old/hashtables-1.2.4.2/src/Data/HashTable/ST/Basic.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/hashtables-1.3.1/src/Data/HashTable/ST/Basic.hs 2001-09-09 03:46:40.000000000 +0200 @@ -519,15 +519,19 @@ #if MIN_VERSION_base(4,9,0) instance Semigroup Slot where - (<>) = mappend + (<>) = slotMappend #endif instance Monoid Slot where - mempty = Slot maxBound - (Slot x1) `mappend` (Slot x2) = - let !m = mask x1 maxBound - in Slot $! (complement m .&. x1) .|. (m .&. x2) + mempty = Slot maxBound +#if ! MIN_VERSION_base(4,11,0) + mappend = slotMappend +#endif +slotMappend :: Slot -> Slot -> Slot +slotMappend (Slot x1) (Slot x2) = + let !m = mask x1 maxBound + in Slot $! (complement m .&. x1) .|. (m .&. x2) ------------------------------------------------------------------------------ -- findSafeSlots return type @@ -841,3 +845,4 @@ let !i' = fromIntegral i return (Just (i', k, v)) {-# INLINE nextByIndex #-} +
