Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-criterion-measurement for 
openSUSE:Factory checked in at 2023-04-04 21:19:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-criterion-measurement (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-criterion-measurement.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-criterion-measurement"

Tue Apr  4 21:19:24 2023 rev:4 rq:1075829 version:0.2.1.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/ghc-criterion-measurement/ghc-criterion-measurement.changes
      2022-10-13 15:41:40.266682396 +0200
+++ 
/work/SRC/openSUSE:Factory/.ghc-criterion-measurement.new.19717/ghc-criterion-measurement.changes
   2023-04-04 21:19:30.688842700 +0200
@@ -1,0 +2,14 @@
+Thu Mar 30 17:06:23 UTC 2023 - Peter Simons <[email protected]>
+
+- Updated spec file to conform with ghc-rpm-macros-2.5.2.
+
+-------------------------------------------------------------------
+Fri Feb 17 00:55:32 UTC 2023 - Peter Simons <[email protected]>
+
+- Update criterion-measurement to version 0.2.1.0.
+  0.2.1.0
+
+  * Make the behavior of the benchmarking functions independent of the
+    `-fspec-const-count` limit.
+
+-------------------------------------------------------------------

Old:
----
  criterion-measurement-0.2.0.0.tar.gz

New:
----
  criterion-measurement-0.2.1.0.tar.gz

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

Other differences:
------------------
++++++ ghc-criterion-measurement.spec ++++++
--- /var/tmp/diff_new_pack.KkgI0r/_old  2023-04-04 21:19:31.196845939 +0200
+++ /var/tmp/diff_new_pack.KkgI0r/_new  2023-04-04 21:19:31.204845990 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-criterion-measurement
 #
-# Copyright (c) 2022 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,8 +17,9 @@
 
 
 %global pkg_name criterion-measurement
+%global pkgver %{pkg_name}-%{version}
 Name:           ghc-%{pkg_name}
-Version:        0.2.0.0
+Version:        0.2.1.0
 Release:        0
 Summary:        Criterion measurement functionality and associated types
 License:        BSD-3-Clause
@@ -26,12 +27,20 @@
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-aeson-devel
+BuildRequires:  ghc-aeson-prof
 BuildRequires:  ghc-base-compat-devel
+BuildRequires:  ghc-base-compat-prof
+BuildRequires:  ghc-base-devel
+BuildRequires:  ghc-base-prof
 BuildRequires:  ghc-binary-devel
+BuildRequires:  ghc-binary-prof
 BuildRequires:  ghc-containers-devel
+BuildRequires:  ghc-containers-prof
 BuildRequires:  ghc-deepseq-devel
+BuildRequires:  ghc-deepseq-prof
 BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-vector-devel
+BuildRequires:  ghc-vector-prof
 ExcludeArch:    %{ix86}
 
 %description
@@ -50,6 +59,22 @@
 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}
 
@@ -71,4 +96,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

++++++ criterion-measurement-0.2.0.0.tar.gz -> 
criterion-measurement-0.2.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/criterion-measurement-0.2.0.0/changelog.md 
new/criterion-measurement-0.2.1.0/changelog.md
--- old/criterion-measurement-0.2.0.0/changelog.md      2001-09-09 
03:46:40.000000000 +0200
+++ new/criterion-measurement-0.2.1.0/changelog.md      2001-09-09 
03:46:40.000000000 +0200
@@ -1,3 +1,8 @@
+0.2.1.0
+
+* Make the behavior of the benchmarking functions independent of the
+  `-fspec-const-count` limit.
+
 0.2.0.0
 
 * Add a `measPeakMbAllocated` field to `Measured` for reporting maximum
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/criterion-measurement-0.2.0.0/criterion-measurement.cabal 
new/criterion-measurement-0.2.1.0/criterion-measurement.cabal
--- old/criterion-measurement-0.2.0.0/criterion-measurement.cabal       
2001-09-09 03:46:40.000000000 +0200
+++ new/criterion-measurement-0.2.1.0/criterion-measurement.cabal       
2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
 name:                criterion-measurement
-version:             0.2.0.0
+version:             0.2.1.0
 synopsis:            Criterion measurement functionality and associated types
 description:         Measurement-related functionality extracted from 
Criterion, with minimal dependencies. The rationale for this is to enable 
alternative analysis front-ends.
 homepage:            https://github.com/haskell/criterion
@@ -42,10 +42,8 @@
                      , binary >= 0.5.1.0
                      , containers
                      , deepseq >= 1.1.0.0
+                     , ghc-prim
                      , vector >= 0.7.1
-  if impl(ghc < 7.6)
-    build-depends:
-      ghc-prim
 
   default-language: Haskell2010
   ghc-options: -Wall -funbox-strict-fields
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/criterion-measurement-0.2.0.0/src/Criterion/Measurement/Types/Internal.hs 
new/criterion-measurement-0.2.1.0/src/Criterion/Measurement/Types/Internal.hs
--- 
old/criterion-measurement-0.2.0.0/src/Criterion/Measurement/Types/Internal.hs   
    2001-09-09 03:46:40.000000000 +0200
+++ 
new/criterion-measurement-0.2.1.0/src/Criterion/Measurement/Types/Internal.hs   
    2001-09-09 03:46:40.000000000 +0200
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP #-}
 
 -- Ensure that nf' and whnf' are always optimized, even if
 -- criterion-measurement is compiled with -O0 or -fprof-auto (see #184).
@@ -17,11 +18,22 @@
 -- Portability : GHC
 --
 -- Exports 'fakeEnvironment'.
-module Criterion.Measurement.Types.Internal (fakeEnvironment, nf', whnf') where
+module Criterion.Measurement.Types.Internal
+  ( fakeEnvironment
+  , nf'
+  , whnf'
+  , SPEC(..)
+  ) where
 
 import Data.Int (Int64)
 import Control.Exception
 
+#if MIN_VERSION_ghc_prim(0,3,1)
+import GHC.Types (SPEC(..))
+#else
+import GHC.Exts (SpecConstrAnnotation(..))
+#endif
+
 -- | A dummy environment that is passed to functions that create benchmarks
 -- from environments when no concrete environment is available.
 fakeEnvironment :: env
@@ -46,6 +58,9 @@
 -- benchmark code itself could be changed by the user's optimization level. By
 -- marking them @NOINLINE@, the core benchmark code is always the same.
 --
+-- To ensure that the behavior of these functions remains independent of
+-- -fspec-constr-count, we force SpecConst optimization by passing SPEC.
+--
 -- Finally, it's important that both branches of the loop depend on the state
 -- token from the IO action. This is achieved by using `evaluate` rather than 
`let !y = f x`
 -- in order to force the value to whnf. `evaluate` is in the IO monad and 
therefore the state
@@ -61,21 +76,30 @@
 -- | Generate a function which applies an argument to a function a
 -- given number of times, reducing the result to normal form.
 nf' :: (b -> ()) -> (a -> b) -> a -> (Int64 -> IO ())
-nf' reduce f x = go
+nf' reduce f x = go SPEC
   where
-    go n | n <= 0    = return ()
-         | otherwise = do
-            y <- evaluate (f x)
-            reduce y `seq` go (n-1)
+    go :: SPEC -> Int64 -> IO ()
+    go !_ n
+      | n <= 0    = return ()
+      | otherwise = do
+         y <- evaluate (f x)
+         reduce y `seq` go SPEC (n-1)
 {-# NOINLINE nf' #-}
 
 -- | Generate a function which applies an argument to a function a
 -- given number of times.
 whnf' :: (a -> b) -> a -> (Int64 -> IO ())
-whnf' f x = go
+whnf' f x = go SPEC
   where
-    go n | n <= 0    = return ()
-         | otherwise = do
-            _ <- evaluate (f x)
-            go (n-1)
+    go :: SPEC -> Int64 -> IO ()
+    go !_ n
+      | n <= 0    = return ()
+      | otherwise = do
+         _ <- evaluate (f x)
+         go SPEC (n-1)
 {-# NOINLINE whnf' #-}
+
+#if !(MIN_VERSION_ghc_prim(0,3,1))
+data SPEC = SPEC | SPEC2
+{-# ANN type SPEC ForceSpecConstr #-}
+#endif

Reply via email to