Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-criterion for openSUSE:Factory checked in at 2022-02-11 23:08:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-criterion (Old) and /work/SRC/openSUSE:Factory/.ghc-criterion.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-criterion" Fri Feb 11 23:08:44 2022 rev:4 rq:953448 version:1.5.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-criterion/ghc-criterion.changes 2021-11-11 21:36:31.764893351 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-criterion.new.1956/ghc-criterion.changes 2022-02-11 23:10:39.959164015 +0100 @@ -1,0 +2,13 @@ +Fri Feb 4 14:40:17 UTC 2022 - Peter Simons <[email protected]> + +- Update criterion to version 1.5.13.0 revision 1. + 1.5.13.0 + + * Allow building with `optparse-applicative-0.17.*`. + + 1.5.12.0 + + * Fix a bug introduced in version 1.5.9.0 in which benchmark names that include + double quotes would produce broken HTML reports. + +------------------------------------------------------------------- Old: ---- criterion-1.5.11.0.tar.gz New: ---- criterion-1.5.13.0.tar.gz criterion.cabal ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-criterion.spec ++++++ --- /var/tmp/diff_new_pack.WFsmHd/_old 2022-02-11 23:10:40.343165126 +0100 +++ /var/tmp/diff_new_pack.WFsmHd/_new 2022-02-11 23:10:40.351165149 +0100 @@ -1,7 +1,7 @@ # # spec file for package ghc-criterion # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,12 +19,13 @@ %global pkg_name criterion %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.5.11.0 +Version: 1.5.13.0 Release: 0 Summary: Robust, reliable performance measurement and analysis License: BSD-2-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: chrpath BuildRequires: ghc-Cabal-devel BuildRequires: ghc-Glob-devel @@ -91,6 +92,7 @@ %prep %autosetup -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ criterion-1.5.11.0.tar.gz -> criterion-1.5.13.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/Criterion/Main/Options/Internal.hs new/criterion-1.5.13.0/Criterion/Main/Options/Internal.hs --- old/criterion-1.5.11.0/Criterion/Main/Options/Internal.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/criterion-1.5.13.0/Criterion/Main/Options/Internal.hs 2001-09-09 03:46:40.000000000 +0200 @@ -0,0 +1,38 @@ +{-# LANGUAGE CPP #-} + +-- | +-- Module : Criterion.Main.Options.Internal +-- Copyright : (c) 2022 Ryan Scott +-- +-- License : BSD-style +-- Maintainer : [email protected] +-- Stability : experimental +-- Portability : GHC +-- +-- Provides a shim on top of @optparse-applicative@'s 'Options.tabulate' +-- function that is backwards-compatible with [email protected].*@ versions of +-- @optparse-applicative@. This is deliberately kept separate from the rest of +-- "Criterion.Main.Options" because this function requires CPP to define, and +-- there is a Haddock comment in "Criterion.Main.Options" that will cause the +-- CPP preprocessor to trigger an \"unterminated comment\" error. Ugh. +-- +-- TODO: When we support @optparse-applicative-0.17@ as the minimum, remove +-- this module and simply inline the definition of 'tabulate' in +-- "Criterion.Main.Options". +module Criterion.Main.Options.Internal (tabulate) where + +import qualified Options.Applicative.Help as Options +import Options.Applicative.Help (Chunk, Doc) + +#if MIN_VERSION_optparse_applicative(0,17,0) +import Options.Applicative (ParserPrefs(..), defaultPrefs) +#endif + +-- | A shim on top of 'Options.tabulate' from @optparse-applicative@ that is +-- backwards-compatible with [email protected].*@ versions of @optparse-applicative@. +tabulate :: [(Doc, Doc)] -> Chunk Doc +#if MIN_VERSION_optparse_applicative(0,17,0) +tabulate = Options.tabulate (prefTabulateFill defaultPrefs) +#else +tabulate = Options.tabulate +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/Criterion/Main/Options.hs new/criterion-1.5.13.0/Criterion/Main/Options.hs --- old/criterion-1.5.11.0/Criterion/Main/Options.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/criterion-1.5.13.0/Criterion/Main/Options.hs 2001-09-09 03:46:40.000000000 +0200 @@ -25,6 +25,7 @@ import Control.Monad (when) import Criterion.Analysis (validateAccessors) +import Criterion.Main.Options.Internal (tabulate) import Criterion.Types (Config(..), Verbosity(..), measureAccessors, measureKeys) import Data.Char (isSpace, toLower) @@ -34,7 +35,7 @@ import Data.Version (showVersion) import GHC.Generics (Generic) import Options.Applicative -import Options.Applicative.Help (Chunk(..), tabulate) +import Options.Applicative.Help (Chunk(..)) import Options.Applicative.Help.Pretty ((.$.)) import Options.Applicative.Types import Paths_criterion (version) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/Criterion/Report.hs new/criterion-1.5.13.0/Criterion/Report.hs --- old/criterion-1.5.11.0/Criterion/Report.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/criterion-1.5.13.0/Criterion/Report.hs 2001-09-09 03:46:40.000000000 +0200 @@ -113,14 +113,26 @@ -- the <script> tag from within the JSON data is disallowed, i.e, the character -- sequence "</" is made impossible. -- --- Moreover, single quotes are escaped such that embedding JSON into HTML --- attributes quoted with single quotes is safe, & is escaped to avoid HTML --- character references (&<code>;) and + is escaped to avoid UTF-7 attacks --- (should only affect old versions of IE). +-- Moreover, & is escaped to avoid HTML character references (&<code>;), + is +-- escaped to avoid UTF-7 attacks (should only affect old versions of IE), and +-- \0 is escaped to allow it to be represented in JSON, as the NUL character is +-- disallowed in JSON but valid in Haskell characters. -- --- The following characters are replaced with their unicode escape sequnces --- (\uXXXX) <, >, &, +, \0, \n, \r, ' (single quote), /, \, \x2028 (line --- separator) and \x2029 (paragraph separator) +-- The following characters are replaced with their unicode escape sequences +-- (\uXXXX): +-- <, >, &, +, \x2028 (line separator), \x2029 (paragraph separator), and \0 +-- (null terminator) +-- +-- Other characters are such as \\ (backslash) and \n (newline) are not escaped +-- as the JSON serializer @encodeToLazyText@ already escapes them when they +-- occur inside JSON strings and they cause no issues with respect to HTML +-- safety when used outside of strings in the JSON-encoded payload. +-- +-- If the resulting JSON-encoded Text is embedded in an HTML attribute, extra +-- care is required to also escape quotes with character references in the +-- final JSON payload. +-- See <https://html.spec.whatwg.org/multipage/syntax.html#syntax-attributes> +-- for details on how to escape attribute values. escapeJSON :: Char -> TL.Text escapeJSON '<' = "\\u003c" -- ban closing of the script tag by making </ impossible escapeJSON '>' = "\\u003e" -- encode tags with unicode escape sequences @@ -129,11 +141,6 @@ escapeJSON '&' = "\\u0026" -- avoid HTML entities escapeJSON '+' = "\\u002b" -- + can be used in UTF-7 escape sequences escapeJSON '\0' = "\\u0000" -- make null characters explicit -escapeJSON '\n' = "\\u000a" -- for good measure also escape newlines -escapeJSON '\r' = "\\u000d" -- , carriage returns -escapeJSON '\'' = "\\u0027" -- , single quotes -escapeJSON '/' = "\\u002f" -- , slashes -escapeJSON '\\' = "\\u005c" -- , and backslashes escapeJSON c = TL.singleton c -- | Format a series of 'Report' values using the given Mustache template. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/changelog.md new/criterion-1.5.13.0/changelog.md --- old/criterion-1.5.11.0/changelog.md 2001-09-09 03:46:40.000000000 +0200 +++ new/criterion-1.5.13.0/changelog.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,12 @@ +1.5.13.0 + +* Allow building with `optparse-applicative-0.17.*`. + +1.5.12.0 + +* Fix a bug introduced in version 1.5.9.0 in which benchmark names that include + double quotes would produce broken HTML reports. + 1.5.11.0 * Allow building with `aeson-2.0.0.0`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/criterion.cabal new/criterion-1.5.13.0/criterion.cabal --- old/criterion-1.5.11.0/criterion.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/criterion-1.5.13.0/criterion.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,5 @@ name: criterion -version: 1.5.11.0 +version: 1.5.13.0 synopsis: Robust, reliable performance measurement and analysis license: BSD3 license-file: LICENSE @@ -27,8 +27,9 @@ GHC==8.4.4, GHC==8.6.5, GHC==8.8.4, - GHC==8.10.4, - GHC==9.0.1 + GHC==8.10.7, + GHC==9.0.2, + GHC==9.2.1 data-files: templates/*.css @@ -74,6 +75,7 @@ Criterion.Types other-modules: + Criterion.Main.Options.Internal Criterion.Monad.Internal other-modules: @@ -102,7 +104,8 @@ js-chart >= 2.9.4 && < 3, mtl >= 2, mwc-random >= 0.8.0.3, - optparse-applicative >= 0.13, + -- TODO: Depend on optparse-applicative-0.17 as the minimum (see #258) + optparse-applicative >= 0.13 && < 0.18, parsec >= 3.1.0, statistics >= 0.14 && < 0.16, text >= 0.11, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/examples/Quotes.hs new/criterion-1.5.13.0/examples/Quotes.hs --- old/criterion-1.5.11.0/examples/Quotes.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/criterion-1.5.13.0/examples/Quotes.hs 2001-09-09 03:46:40.000000000 +0200 @@ -0,0 +1,12 @@ +module Main where + +import Criterion +import Criterion.Main + +main :: IO () +main = defaultMain + [ env (return ()) $ + \ ~() -> bgroup "\"oops\"" [bench "dummy" $ nf id ()] + , env (return ()) $ + \ ~() -> bgroup "'oops'" [bench "dummy" $ nf id ()] + ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/criterion-1.5.11.0/examples/criterion-examples.cabal new/criterion-1.5.13.0/examples/criterion-examples.cabal --- old/criterion-1.5.11.0/examples/criterion-examples.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/criterion-1.5.13.0/examples/criterion-examples.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -20,8 +20,9 @@ GHC==8.4.4, GHC==8.6.5, GHC==8.8.4, - GHC==8.10.4, - GHC==9.0.1 + GHC==8.10.7, + GHC==9.0.2, + GHC==9.2.1 flag conduit-vs-pipes default: True @@ -112,6 +113,15 @@ criterion, optparse-applicative +executable quotes + main-is: Quotes.hs + + default-language: Haskell2010 + ghc-options: -Wall -rtsopts + build-depends: + base == 4.*, + criterion + -- Cannot uncomment due to https://github.com/haskell/cabal/issues/1725 -- -- executable judy ++++++ criterion.cabal ++++++ name: criterion version: 1.5.13.0 x-revision: 1 synopsis: Robust, reliable performance measurement and analysis license: BSD3 license-file: LICENSE author: Bryan O'Sullivan <[email protected]> maintainer: Ryan Scott <[email protected]> copyright: 2009-2016 Bryan O'Sullivan and others category: Development, Performance, Testing, Benchmarking homepage: http://www.serpentine.com/criterion bug-reports: https://github.com/haskell/criterion/issues build-type: Simple cabal-version: >= 1.10 extra-source-files: README.markdown changelog.md examples/LICENSE examples/*.cabal examples/*.hs tested-with: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.4, GHC==8.10.7, GHC==9.0.2, GHC==9.2.1 data-files: templates/*.css templates/*.tpl templates/*.js description: This library provides a powerful but simple way to measure software performance. It provides both a framework for executing and analysing benchmarks and a set of driver functions that makes it easy to build and run benchmarks, and to analyse their results. . The fastest way to get started is to read the <http://www.serpentine.com/criterion/tutorial.html online tutorial>, followed by the documentation and examples in the "Criterion.Main" module. . For examples of the kinds of reports that criterion generates, see <http://www.serpentine.com/criterion the home page>. flag fast description: compile without optimizations default: False manual: True flag embed-data-files description: Embed the data files in the binary for a relocatable executable. (Warning: This will increase the executable size significantly.) default: False manual: True library exposed-modules: Criterion Criterion.Analysis Criterion.IO Criterion.IO.Printf Criterion.Internal Criterion.Main Criterion.Main.Options Criterion.Monad Criterion.Report Criterion.Types other-modules: Criterion.Main.Options.Internal Criterion.Monad.Internal other-modules: Paths_criterion build-depends: -- TODO: Eventually, we should bump the lower version bounds to >=2 so that -- we can remove some CPP in Criterion.Report. See #247. aeson >= 1 && < 2.1, ansi-wl-pprint >= 0.6.7.2, base >= 4.5 && < 5, base-compat-batteries >= 0.10 && < 0.13, binary >= 0.5.1.0, binary-orphans >= 1.0.1 && < 1.1, bytestring >= 0.9 && < 1.0, cassava >= 0.3.0.0, code-page, containers, criterion-measurement >= 0.1.1.0 && < 0.2, deepseq >= 1.1.0.0, directory, exceptions >= 0.8.2 && < 0.11, filepath, Glob >= 0.7.2, microstache >= 1.0.1 && < 1.1, js-chart >= 2.9.4 && < 3, mtl >= 2, mwc-random >= 0.8.0.3, -- TODO: Depend on optparse-applicative-0.17 as the minimum (see #258) optparse-applicative >= 0.13 && < 0.18, parsec >= 3.1.0, statistics >= 0.14 && < 0.17, text >= 0.11, time, transformers, transformers-compat >= 0.6.4, vector >= 0.7.1, vector-algorithms >= 0.4 if impl(ghc < 7.6) build-depends: ghc-prim if !impl(ghc >= 8.0) build-depends: fail == 4.9.*, semigroups default-language: Haskell2010 ghc-options: -Wall -funbox-strict-fields if impl(ghc >= 6.8) ghc-options: -fwarn-tabs if flag(fast) ghc-options: -O0 else ghc-options: -O2 if flag(embed-data-files) other-modules: Criterion.EmbeddedData build-depends: file-embed < 0.1, template-haskell cpp-options: "-DEMBED" Executable criterion-report Default-Language: Haskell2010 GHC-Options: -Wall -rtsopts Main-Is: Report.hs Other-Modules: Options Paths_criterion Hs-Source-Dirs: app Build-Depends: base, base-compat-batteries, criterion, optparse-applicative >= 0.13 if impl(ghc < 7.6) build-depends: ghc-prim if !impl(ghc >= 8.0) build-depends: semigroups test-suite sanity type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Sanity.hs default-language: Haskell2010 ghc-options: -Wall -rtsopts if flag(fast) ghc-options: -O0 else ghc-options: -O2 build-depends: HUnit, base, bytestring, criterion, deepseq, tasty, tasty-hunit test-suite tests type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Tests.hs default-language: Haskell2010 other-modules: Properties ghc-options: -Wall -threaded -O0 -rtsopts build-depends: QuickCheck >= 2.4, base, base-compat-batteries, criterion, statistics, HUnit, tasty, tasty-hunit, tasty-quickcheck, vector, aeson test-suite cleanup type: exitcode-stdio-1.0 hs-source-dirs: tests default-language: Haskell2010 main-is: Cleanup.hs ghc-options: -Wall -threaded -O0 -rtsopts build-depends: HUnit, base, base-compat, bytestring, criterion, deepseq, directory, tasty, tasty-hunit source-repository head type: git location: https://github.com/haskell/criterion.git
