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