From f456730d92bed6441eb0eef9142396f8c9de659b Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Fri, 20 Mar 2015 09:51:54 +0900 Subject: [PATCH] import (#1196960) --- .gitignore | 1 + ghc-tf-random.spec | 110 +++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 112 insertions(+) create mode 100644 ghc-tf-random.spec diff --git a/.gitignore b/.gitignore index e69de29..e336600 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/tf-random-0.5.tar.gz diff --git a/ghc-tf-random.spec b/ghc-tf-random.spec new file mode 100644 index 0000000..b0b42b6 --- /dev/null +++ b/ghc-tf-random.spec @@ -0,0 +1,110 @@ +# https://fedoraproject.org/wiki/Packaging:Haskell + +%global pkg_name tf-random + +Name: ghc-%{pkg_name} +Version: 0.5 +Release: 2%{?dist} +Summary: High-quality splittable pseudorandom number generator + +# main license is BSD +# brg_types.h is BSD and optionally GPL+ +# C code by Doug Whiting is Public Domain +License: BSD and Public Domain +Url: https://hackage.haskell.org/package/%{pkg_name} +Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz + +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-rpm-macros +# Begin cabal-rpm deps: +BuildRequires: ghc-primitive-devel +BuildRequires: ghc-random-devel +BuildRequires: ghc-time-devel +# End cabal-rpm deps + +%description +This package contains an implementation of a high-quality splittable +pseudorandom number generator. The generator is based on a cryptographic hash +function built on top of the ThreeFish block cipher. See the paper /Splittable +Pseudorandom Number Generators Using Cryptographic Hashing/ by Claessen, Pałka +for details and the rationale of the design. + +The package provides the following: + +* A splittable PRNG that implements the standard 'System.Random.RandomGen' +class. + +* The generator also implements an alternative version of the +'System.Random.TF.Gen.RandomGen' class (exported from "System.Random.TF.Gen"), +which requires the generator to return pseudorandom integers from the full +32-bit range, and contains an n-way split function. + +* An alternative version of the 'Random' class is provided, which is linked to +the new 'RandomGen' class, together with 'Random' instances for some integral +types. + +* Two functions for initialising the generator with a non-deterministic seed: +one using the system time, and one using the '/dev/urandom' UNIX special file. + +The package uses an adapted version of the reference C implementation of +ThreeFish from the reference package of the Skein hash function +(), originally written by Doug Whiting. + +Please note that even though the generator provides very high-quality +pseudorandom numbers, it has not been designed with cryptographic applications +in mind. + + +%package devel +Summary: Haskell %{pkg_name} library development files +Provides: %{name}-static = %{version}-%{release} +Requires: ghc-compiler = %{ghc_version} +Requires(post): ghc-compiler = %{ghc_version} +Requires(postun): ghc-compiler = %{ghc_version} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + + +%prep +%setup -q -n %{pkg_name}-%{version} + + +%build +# for haddock +export LANG=en_US.utf8 +%ghc_lib_build + + +%install +%ghc_lib_install + +rm %{buildroot}/%{_pkgdocdir}/LICENSE + + +%post devel +%ghc_pkg_recache + + +%postun devel +%ghc_pkg_recache + + +%files -f %{name}.files +%license LICENSE LICENSE.tf LICENSE.brg + + +%files devel -f %{name}-devel.files +%doc ChangeLog + + +%changelog +* Tue Mar 3 2015 Jens Petersen - 0.5-2 +- some of the C code is Public Domain (#1196960) + +* Fri Feb 27 2015 Jens Petersen - 0.5-1 +- improve filelists + +* Mon Feb 9 2015 Fedora Haskell SIG - 0.5 +- spec file generated by cabal-rpm-0.9.3 diff --git a/sources b/sources index e69de29..6d84fed 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +569f8acb14d09227f136a53ffd84b7b2 tf-random-0.5.tar.gz