ghc-random package is retired on branch c10s for BAKERY-412

This commit is contained in:
Troy Dawson 2024-03-21 18:46:13 +00:00
parent 6dcd70ecb9
commit d12700435a
5 changed files with 1 additions and 544 deletions

6
.gitignore vendored
View File

@ -1,6 +0,0 @@
/random-1.0.1.1.tar.gz
/random-1.1.tar.gz
/random-1.2.0.tar.gz
/splitmix-0.1.0.3.tar.gz
/random-1.2.1.1.tar.gz
/splitmix-0.1.0.4.tar.gz

1
dead.package Normal file
View File

@ -0,0 +1 @@
ghc-random package is retired on branch c10s for BAKERY-412

View File

@ -1,290 +0,0 @@
# generated by cabal-rpm-2.1.2 --subpackage
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
%global pkg_name random
%global pkgver %{pkg_name}-%{version}
%global splitmix splitmix-0.1.0.4
%global subpkgs %{splitmix}
# testsuite missing deps: tasty-smallcheck tasty-inspection-testing
Name: ghc-%{pkg_name}
Version: 1.2.1.1
# can only be reset when all subpkgs bumped
Release: 3%{?dist}
Summary: Pseudo-random number generation
License: BSD-3-Clause
Url: https://hackage.haskell.org/package/%{pkg_name}
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1: https://hackage.haskell.org/package/%{splitmix}/%{splitmix}.tar.gz
# End cabal-rpm sources
Source2: https://hackage.haskell.org/package/%{newtypegenerics}/splitmix.cabal#/%{splitmix}.cabal
BuildRequires: dos2unix
# Begin cabal-rpm deps:
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros-extra
BuildRequires: ghc-base-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-mtl-devel
#BuildRequires: ghc-splitmix-devel
%if %{with ghc_prof}
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-deepseq-prof
BuildRequires: ghc-mtl-prof
#BuildRequires: ghc-splitmix-prof
%endif
# End cabal-rpm deps
%description
This package provides basic pseudo-random number generation, including the
ability to split random number generators.
== "System.Random": pure pseudo-random number interface
In pure code, use 'System.Random.uniform' and 'System.Random.uniformR' from
"System.Random" to generate pseudo-random numbers with a pure pseudo-random
number generator like 'System.Random.StdGen'.
As an example, here is how you can simulate rolls of a six-sided die using
'System.Random.uniformR':
>>> let roll = uniformR (1, 6) :: RandomGen g => g -> (Word, g) >>> let rolls =
unfoldr (Just . roll) :: RandomGen g => g -> [Word] >>> let pureGen = mkStdGen
42 >>> take 10 (rolls pureGen) :: [Word] [1,1,3,2,4,5,3,4,6,2]
See "System.Random" for more details.
== "System.Random.Stateful": monadic pseudo-random number interface
In monadic code, use 'System.Random.Stateful.uniformM' and
'System.Random.Stateful.uniformRM' from "System.Random.Stateful" to generate
pseudo-random numbers with a monadic pseudo-random number generator, or using a
monadic adapter.
As an example, here is how you can simulate rolls of a six-sided die using
'System.Random.Stateful.uniformRM':
>>> let rollM = uniformRM (1, 6) :: StatefulGen g m => g -> m Word >>> let
pureGen = mkStdGen 42 >>> runStateGen_ pureGen (replicateM 10 . rollM) ::
[Word] [1,1,3,2,4,5,3,4,6,2]
The monadic adapter 'System.Random.Stateful.runStateGen_' is used here to lift
the pure pseudo-random number generator 'pureGen' into the
'System.Random.Stateful.StatefulGen' context.
The monadic interface can also be used with existing monadic pseudo-random
number generators. In this example, we use the one provided in the
<https://hackage.haskell.org/package/mwc-random mwc-random> package:
>>> import System.Random.MWC as MWC >>> let rollM = uniformRM (1, 6) ::
StatefulGen g m => g -> m Word >>> monadicGen <- MWC.create >>> replicateM 10
(rollM monadicGen) :: IO [Word] [2,3,6,6,4,4,3,1,5,4]
See "System.Random.Stateful" for more details.
%package devel
Summary: Haskell %{pkg_name} library development files
Provides: %{name}-static = %{version}-%{release}
Provides: %{name}-static%{?_isa} = %{version}-%{release}
%if %{defined ghc_version}
Requires: ghc-compiler = %{ghc_version}
%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package provides the Haskell %{pkg_name} library development files.
%if %{with haddock}
%package doc
Summary: Haskell %{pkg_name} library documentation
BuildArch: noarch
Requires: ghc-filesystem
%description doc
This package provides the Haskell %{pkg_name} library documentation.
%endif
%if %{with ghc_prof}
%package prof
Summary: Haskell %{pkg_name} profiling library
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Supplements: (%{name}-devel and ghc-prof)
%description prof
This package provides the Haskell %{pkg_name} profiling library.
%endif
%global main_version %{version}
%if %{defined ghclibdir}
%ghc_lib_subpackage -l BSD-3-Clause %{splitmix}
%endif
%global version %{main_version}
%prep
# Begin cabal-rpm setup:
%setup -q -n %{pkgver} -a1
# End cabal-rpm setup
dos2unix -k -n %{SOURCE2} %{splitmix}/splitmix.cabal
%build
# Begin cabal-rpm build:
%ghc_libs_build %{subpkgs}
%ghc_lib_build
# End cabal-rpm build
%install
# Begin cabal-rpm install
%ghc_libs_install %{subpkgs}
%ghc_lib_install
# End cabal-rpm install
%files -f %{name}.files
# Begin cabal-rpm files:
%license LICENSE
# End cabal-rpm files
%files devel -f %{name}-devel.files
%doc CHANGELOG.md README.md
%if %{with haddock}
%files doc -f %{name}-doc.files
%license LICENSE
%endif
%if %{with ghc_prof}
%files prof -f %{name}-prof.files
%endif
%changelog
* Sat Jul 29 2023 Jens Petersen <petersen@redhat.com> - 1.2.1.1-3
- rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jan 22 2023 Jens Petersen <petersen@redhat.com> - 1.2.1.1-5
- https://hackage.haskell.org/package/random-1.2.1.1/changelog
- refresh to cabal-rpm-2.1.0 with SPDX migration
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jun 17 2022 Jens Petersen <petersen@redhat.com> - 1.2.0-3
- rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Aug 5 2021 Jens Petersen <petersen@redhat.com> - 1.2.0-1
- update to 1.2.0
- splitmix now subpackage (moved from QuickCheck)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-16
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 17 2020 Jens Petersen <petersen@redhat.com> - 1.1-14
- refresh to cabal-rpm-2.0.6
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Aug 02 2019 Jens Petersen <petersen@redhat.com> - 1.1-12
- add doc and prof subpackages (cabal-rpm-1.0.0)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 17 2019 Jens Petersen <petersen@redhat.com> - 1.1-10
- refresh to cabal-rpm-0.13
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Jens Petersen <petersen@redhat.com> - 1.1-6
- rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 24 2017 Jens Petersen <petersen@redhat.com> - 1.1-3
- refresh to cabal-rpm-0.11.1
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Jun 7 2016 Jens Petersen <petersen@redhat.com> - 1.1-1
- update to 1.1
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1.1-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1.1-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jan 26 2015 Jens Petersen <petersen@fedoraproject.org> - 1.0.1.1-29
- https urls
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1.1-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1.1-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Oct 16 2013 Jens Petersen <petersen@redhat.com> - 1.0.1.1-26
- add static provides
* Sun Sep 8 2013 Fedora Haskell SIG <haskell@lists.fedoraproject.org> - 1.0.1.1-25
- spec file updated with cabal-rpm-0.8.3
* Sun Mar 18 2012 Jens Petersen <petersen@redhat.com> - 1.0.1.1-1
- update to 1.0.1.1
- update to cabal2spec-0.25
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0.3-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Aug 2 2011 Jens Petersen <petersen@redhat.com> - 1.0.0.3-27
- new package previously part of ghc
- license is BSD and Haskell Report
* Tue Aug 2 2011 Fedora Haskell SIG <haskell-devel@lists.fedoraproject.org> - 1.0.0.3-0
- initial packaging for Fedora automatically generated by cabal2spec-0.23.2

View File

@ -1,2 +0,0 @@
SHA512 (random-1.2.1.1.tar.gz) = 4d5565390849cf85b2f307cd93f284a1f9094cfcd692beb5dd5f3ec917dd69ad7158fb52b1faa581eb573af25beee1f6c2830472ebb6553da6cfa01a4e954326
SHA512 (splitmix-0.1.0.4.tar.gz) = 9a5cbe8100d44fadeb8bf009b03b1770d6b86ef0f71d625e3fb909881d599f4122833647c13a78152369e2744327d5c3f8b552fdc6a47d2705891ca6331c268e

View File

@ -1,246 +0,0 @@
cabal-version: >=1.10
name: splitmix
version: 0.1.0.4
x-revision: 2
synopsis: Fast Splittable PRNG
description:
Pure Haskell implementation of SplitMix described in
.
Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014.
Fast splittable pseudorandom number generators. In Proceedings
of the 2014 ACM International Conference on Object Oriented
Programming Systems Languages & Applications (OOPSLA '14). ACM,
New York, NY, USA, 453-472. DOI:
<https://doi.org/10.1145/2660193.2660195>
.
The paper describes a new algorithm /SplitMix/ for /splittable/
pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical
operations per 64 bits generated.
.
/SplitMix/ is tested with two standard statistical test suites (DieHarder and
TestU01, this implementation only using the former) and it appears to be
adequate for "everyday" use, such as Monte Carlo algorithms and randomized
data structures where speed is important.
.
In particular, it __should not be used for cryptographic or security applications__,
because generated sequences of pseudorandom values are too predictable
(the mixing functions are easily inverted, and two successive outputs
suffice to reconstruct the internal state).
license: BSD3
license-file: LICENSE
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
bug-reports: https://github.com/haskellari/splitmix/issues
category: System, Random
build-type: Simple
tested-with:
GHC ==7.0.4
|| ==7.2.2
|| ==7.4.2
|| ==7.6.3
|| ==7.8.4
|| ==7.10.3
|| ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.5
|| ==8.8.4
|| ==8.10.4
|| ==9.0.2
|| ==9.2.5
|| ==9.4.4
|| ==9.6.1
, GHCJS ==8.4
extra-source-files:
Changelog.md
make-hugs.sh
README.md
test-hugs.sh
flag optimised-mixer
description: Use JavaScript for mix32
manual: True
default: False
library
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: src src-compat
exposed-modules:
System.Random.SplitMix
System.Random.SplitMix32
other-modules:
Data.Bits.Compat
System.Random.SplitMix.Init
-- dump-core
-- build-depends: dump-core
-- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html
build-depends:
base >=4.3 && <4.19
, deepseq >=1.3.0.0 && <1.5
if flag(optimised-mixer)
cpp-options: -DOPTIMISED_MIX32=1
-- We don't want to depend on time, nor unix or Win32 packages
-- because it's valuable that splitmix and QuickCheck doesn't
-- depend on about anything
if impl(ghcjs)
cpp-options: -DSPLITMIX_INIT_GHCJS=1
else
if impl(ghc)
cpp-options: -DSPLITMIX_INIT_C=1
if os(windows)
c-sources: cbits-win/init.c
else
c-sources: cbits-unix/init.c
else
cpp-options: -DSPLITMIX_INIT_COMPAT=1
build-depends: time >=1.2.0.3 && <1.13
source-repository head
type: git
location: https://github.com/haskellari/splitmix.git
benchmark comparison
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: bench
main-is: Bench.hs
build-depends:
base
, containers >=0.4.2.1 && <0.7
, criterion >=1.1.0.0 && <1.6
, random
, splitmix
, tf-random >=0.5 && <0.6
benchmark simple-sum
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: bench
main-is: SimpleSum.hs
build-depends:
base
, random
, splitmix
benchmark range
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: bench src-compat
main-is: Range.hs
other-modules: Data.Bits.Compat
build-depends:
base
, clock >=0.8 && <0.9
, random
, splitmix
test-suite examples
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: Examples.hs
build-depends:
base
, HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7
, splitmix
test-suite splitmix-tests
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: Tests.hs
other-modules:
MiniQC
Uniformity
build-depends:
base
, base-compat >=0.11.1 && <0.13
, containers >=0.4.0.0 && <0.7
, HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7
, math-functions ==0.1.7.0 || >=0.3.3.0 && <0.4
, splitmix
, test-framework >=0.8.2.0 && <0.9
, test-framework-hunit >=0.3.0.2 && <0.4
test-suite montecarlo-pi
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: SplitMixPi.hs
build-depends:
base
, splitmix
test-suite montecarlo-pi-32
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall
hs-source-dirs: tests
main-is: SplitMixPi32.hs
build-depends:
base
, splitmix
test-suite splitmix-dieharder
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded -rtsopts
hs-source-dirs: tests
main-is: Dieharder.hs
build-depends:
async >=2.2.1 && <2.3
, base
, base-compat-batteries >=0.10.5 && <0.13
, bytestring >=0.9.1.8 && <0.12
, deepseq
, process >=1.0.1.5 && <1.7
, random
, splitmix
, tf-random >=0.5 && <0.6
, vector >=0.11.0.0 && <0.13
test-suite splitmix-testu01
if !os(linux)
buildable: False
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded -rtsopts
hs-source-dirs: tests
main-is: TestU01.hs
c-sources: tests/cbits/testu01.c
extra-libraries: testu01
build-depends:
base
, base-compat-batteries >=0.10.5 && <0.13
, splitmix
test-suite initialization
default-language: Haskell2010
type: exitcode-stdio-1.0
ghc-options: -Wall -threaded -rtsopts
hs-source-dirs: tests
main-is: Initialization.hs
build-depends:
base
, HUnit ==1.3.1.2 || >=1.6.0.0 && <1.7
, splitmix