Hello community,

here is the log from the commit of package ghc-splitmix for openSUSE:Factory 
checked in at 2020-07-09 13:19:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-splitmix (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-splitmix.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-splitmix"

Thu Jul  9 13:19:41 2020 rev:6 rq:819591 version:0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-splitmix/ghc-splitmix.changes        
2020-06-19 17:18:40.295099294 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-splitmix.new.3060/ghc-splitmix.changes      
2020-07-09 13:20:10.381422352 +0200
@@ -1,0 +2,9 @@
+Tue Jul  7 11:19:12 UTC 2020 - [email protected]
+
+- Update splitmix to version 0.1.
+  # 0.1
+
+  - Drop `random` dependency unconditionally.
+    https://github.com/phadej/splitmix/issues/34
+
+------------------------------------------------------------------
@@ -37 +45,0 @@
-

Old:
----
  splitmix-0.0.5.tar.gz

New:
----
  splitmix-0.1.tar.gz

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

Other differences:
------------------
++++++ ghc-splitmix.spec ++++++
--- /var/tmp/diff_new_pack.M2U2oO/_old  2020-07-09 13:20:11.697426512 +0200
+++ /var/tmp/diff_new_pack.M2U2oO/_new  2020-07-09 13:20:11.701426524 +0200
@@ -19,7 +19,7 @@
 %global pkg_name splitmix
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.0.5
+Version:        0.1
 Release:        0
 Summary:        Fast Splittable PRNG
 License:        BSD-3-Clause
@@ -27,7 +27,6 @@
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-deepseq-devel
-BuildRequires:  ghc-random-devel
 BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-time-devel
 %if %{with tests}
@@ -39,6 +38,7 @@
 BuildRequires:  ghc-containers-devel
 BuildRequires:  ghc-math-functions-devel
 BuildRequires:  ghc-process-devel
+BuildRequires:  ghc-random-devel
 BuildRequires:  ghc-test-framework-devel
 BuildRequires:  ghc-test-framework-hunit-devel
 BuildRequires:  ghc-tf-random-devel

++++++ splitmix-0.0.5.tar.gz -> splitmix-0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/splitmix-0.0.5/Changelog.md 
new/splitmix-0.1/Changelog.md
--- old/splitmix-0.0.5/Changelog.md     2001-09-09 03:46:40.000000000 +0200
+++ new/splitmix-0.1/Changelog.md       2001-09-09 03:46:40.000000000 +0200
@@ -1,3 +1,8 @@
+# 0.1
+
+- Drop `random` dependency unconditionally.
+  https://github.com/phadej/splitmix/issues/34
+
 # 0.0.5
 
 - Add `nextInteger`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/splitmix-0.0.5/bench/Bench.hs 
new/splitmix-0.1/bench/Bench.hs
--- old/splitmix-0.0.5/bench/Bench.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/splitmix-0.1/bench/Bench.hs     2001-09-09 03:46:40.000000000 +0200
@@ -16,36 +16,37 @@
 -------------------------------------------------------------------------------
 
 -- infinite list
-genList :: R.RandomGen g => g -> [Int]
-genList = unfoldr (Just . R.next)
+genList :: (g -> (Int, g)) -> g -> [Int]
+genList next = unfoldr (Just . next)
 
 -- truncated
-genListN :: R.RandomGen g => g -> [Int]
-genListN = take 2048 . genList
+genListN :: (g -> (Int, g)) -> g -> [Int]
+genListN next = take 2048 . genList next
 
 randomList :: Int -> [Int]
-randomList = genListN . R.mkStdGen
+randomList = genListN R.random . R.mkStdGen
 
 tfRandomList :: Word64 -> [Int]
-tfRandomList w64 = genListN $ TF.seedTFGen (w64, w64, w64, w64)
+tfRandomList w64 = genListN R.random $ TF.seedTFGen (w64, w64, w64, w64)
 
 splitMixList :: Word64 -> [Int]
-splitMixList w64 = genListN $ SM.mkSMGen w64
+splitMixList w64 = genListN SM.nextInt $ SM.mkSMGen w64
 
 splitMix32List :: Word64 -> [Int]
-splitMix32List w64 = genListN $ SM32.mkSMGen $ fromIntegral w64
+splitMix32List w64 = genListN SM32.nextInt $ SM32.mkSMGen $ fromIntegral w64
 
 -------------------------------------------------------------------------------
 -- Tree
 -------------------------------------------------------------------------------
 
-genTree :: R.RandomGen g => g -> T.Tree Int
-genTree g = case R.next g of
-    ~(i, g') -> T.Node i $ case R.split g' of
-        (ga, gb) -> [genTree ga, genTree gb]
+genTree :: (g -> (Int, g)) -> (g -> (g, g)) -> g -> T.Tree Int
+genTree next split = go where
+    go g = case next g of
+        ~(i, g') -> T.Node i $ case split g' of
+            (ga, gb) -> [go ga, go gb]
 
-genTreeN :: R.RandomGen g => g -> T.Tree Int
-genTreeN = cutTree 9 . genTree
+genTreeN :: (g -> (Int, g)) -> (g -> (g, g)) -> g -> T.Tree Int
+genTreeN next split = cutTree 9 . genTree next split
   where
     cutTree :: Int -> T.Tree a -> T.Tree a
     cutTree n (T.Node x forest)
@@ -53,16 +54,16 @@
         | otherwise = T.Node x (map (cutTree (n - 1)) forest)
 
 randomTree :: Int -> T.Tree Int
-randomTree = genTreeN . R.mkStdGen
+randomTree = genTreeN R.next R.split . R.mkStdGen
 
 tfRandomTree :: Word64 -> T.Tree Int
-tfRandomTree w64 = genTreeN $ TF.seedTFGen (w64, w64, w64, w64)
+tfRandomTree w64 = genTreeN R.next R.split $ TF.seedTFGen (w64, w64, w64, w64)
 
 splitMixTree :: Word64 -> T.Tree Int
-splitMixTree w64 = genTreeN $ SM.mkSMGen w64
+splitMixTree w64 = genTreeN SM.nextInt SM.splitSMGen $ SM.mkSMGen w64
 
 splitMix32Tree :: Word64 -> T.Tree Int
-splitMix32Tree w64 = genTreeN $ SM32.mkSMGen $ fromIntegral w64
+splitMix32Tree w64 = genTreeN SM32.nextInt SM32.splitSMGen $ SM32.mkSMGen $ 
fromIntegral w64
 
 -------------------------------------------------------------------------------
 -- List Word64
@@ -92,14 +93,14 @@
 -- Tree Word64
 -------------------------------------------------------------------------------
 
-genTree64 :: R.RandomGen g => (g -> (Word64, g)) -> g -> T.Tree Word64
-genTree64 r = go where
+genTree64 ::(g -> (Word64, g)) -> (g -> (g, g)) -> g -> T.Tree Word64
+genTree64 r split = go where
     go g = case r g of
-        ~(i, g') -> T.Node i $ case R.split g' of
+        ~(i, g') -> T.Node i $ case split g' of
             (ga, gb) -> [go ga, go gb]
 
-genTreeN64 :: R.RandomGen g => (g -> (Word64, g)) -> g -> T.Tree Word64
-genTreeN64 r = cutTree 9 . genTree64 r
+genTreeN64 :: (g -> (Word64, g)) -> (g -> (g, g)) -> g -> T.Tree Word64
+genTreeN64 r split = cutTree 9 . genTree64 r split
   where
     cutTree :: Word64 -> T.Tree a -> T.Tree a
     cutTree n (T.Node x forest)
@@ -107,16 +108,16 @@
         | otherwise = T.Node x (map (cutTree (n - 1)) forest)
 
 randomTree64 :: Int -> T.Tree Word64
-randomTree64 = genTreeN64 R.random . R.mkStdGen
+randomTree64 = genTreeN64 R.random R.split . R.mkStdGen
 
 tfRandomTree64 :: Word64 -> T.Tree Word64
-tfRandomTree64 w64 = genTreeN64 TF.random $ TF.seedTFGen (w64, w64, w64, w64)
+tfRandomTree64 w64 = genTreeN64 TF.random R.split $ TF.seedTFGen (w64, w64, 
w64, w64)
 
 splitMixTree64 :: Word64 -> T.Tree Word64
-splitMixTree64 w64 = genTreeN64 SM.nextWord64 $ SM.mkSMGen w64
+splitMixTree64 w64 = genTreeN64 SM.nextWord64 SM.splitSMGen $ SM.mkSMGen w64
 
 splitMix32Tree64 :: Word64 -> T.Tree Word64
-splitMix32Tree64 w64 = genTreeN64 SM32.nextWord64 $ SM32.mkSMGen $ 
fromIntegral w64
+splitMix32Tree64 w64 = genTreeN64 SM32.nextWord64 SM32.splitSMGen $ 
SM32.mkSMGen $ fromIntegral w64
 
 -------------------------------------------------------------------------------
 -- Main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/splitmix-0.0.5/bench/Range.hs 
new/splitmix-0.1/bench/Range.hs
--- old/splitmix-0.0.5/bench/Range.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/splitmix-0.1/bench/Range.hs     2001-09-09 03:46:40.000000000 +0200
@@ -8,7 +8,6 @@
 import Data.List        (unfoldr)
 import Data.Word        (Word32, Word64)
 
-import qualified System.Random            as R
 import qualified System.Random.SplitMix32 as SM
 
 #if defined(__GHCJS__)
@@ -21,7 +20,7 @@
 main = do
     gen <- SM.newSMGen
 
-    bench gen (\g h -> R.randomR (0, pred h) g)
+    -- bench gen (\g h -> R (0, pred h) g)
     bench gen classicMod
     bench gen intMult
     bench gen bitmaskWithRejection
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/splitmix-0.0.5/splitmix.cabal 
new/splitmix-0.1/splitmix.cabal
--- old/splitmix-0.0.5/splitmix.cabal   2001-09-09 03:46:40.000000000 +0200
+++ new/splitmix-0.1/splitmix.cabal     2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               splitmix
-version:            0.0.5
+version:            0.1
 synopsis:           Fast Splittable PRNG
 description:
   Pure Haskell implementation of SplitMix described in
@@ -58,11 +58,6 @@
   manual:      True
   default:     False
 
-flag random
-  description: Providen RandomGen SMGen instance
-  manual:      True
-  default:     True
-
 library
   default-language: Haskell2010
   ghc-options:      -Wall
@@ -81,9 +76,6 @@
     , deepseq  >=1.3.0.0 && <1.5
     , time     >=1.2.0.3 && <1.10
 
-  if flag(random)
-    build-depends: random >=1.0 && <1.2
-
   if flag(optimised-mixer)
     cpp-options: -DOPTIMISED_MIX32=1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/splitmix-0.0.5/src/System/Random/SplitMix.hs 
new/splitmix-0.1/src/System/Random/SplitMix.hs
--- old/splitmix-0.0.5/src/System/Random/SplitMix.hs    2001-09-09 
03:46:40.000000000 +0200
+++ new/splitmix-0.1/src/System/Random/SplitMix.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -69,10 +69,6 @@
 import Control.DeepSeq (NFData (..))
 #endif
 
-#ifdef MIN_VERSION_random
-import qualified System.Random as R
-#endif
-
 #if !__GHCJS__
 import System.CPUTime (cpuTimePrecision, getCPUTime)
 #endif
@@ -398,16 +394,6 @@
     return $ fromIntegral hi `shiftL` 32 .|. fromIntegral lo
 
 -------------------------------------------------------------------------------
--- System.Random
--------------------------------------------------------------------------------
-
-#ifdef MIN_VERSION_random
-instance R.RandomGen SMGen where
-    next = nextInt
-    split = splitSMGen
-#endif
-
--------------------------------------------------------------------------------
 -- Hugs
 -------------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/splitmix-0.0.5/src/System/Random/SplitMix32.hs 
new/splitmix-0.1/src/System/Random/SplitMix32.hs
--- old/splitmix-0.0.5/src/System/Random/SplitMix32.hs  2001-09-09 
03:46:40.000000000 +0200
+++ new/splitmix-0.1/src/System/Random/SplitMix32.hs    2001-09-09 
03:46:40.000000000 +0200
@@ -53,10 +53,6 @@
 import Control.DeepSeq (NFData (..))
 #endif
 
-#ifdef MIN_VERSION_random
-import qualified System.Random as R
-#endif
-
 #if !__GHCJS__
 import System.CPUTime (cpuTimePrecision, getCPUTime)
 #endif
@@ -375,13 +371,3 @@
     let hi = fromIntegral (cpu `div` cpuTimePrecision) :: Word32
 #endif
     return $ fromIntegral hi `shiftL` 32 .|. fromIntegral lo
-
--------------------------------------------------------------------------------
--- System.Random
--------------------------------------------------------------------------------
-
-#ifdef MIN_VERSION_random
-instance R.RandomGen SMGen where
-    next = nextInt
-    split = splitSMGen
-#endif


Reply via email to