3829ad8
Summary:        Random number generator tester and timer
3829ad8
Name:           dieharder
3829ad8
Version:        3.31.1
Jirka Hladky c6eb2a7
Release:        9%{?dist}
3829ad8
License:        GPLv2+
3829ad8
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
3829ad8
Group:          Development/Tools
2a39ae1
Source0:        http://www.phy.duke.edu/~rgb/General/%{name}/%{name}-%{version}.tgz
3829ad8
URL:            http://www.phy.duke.edu/~rgb/General/dieharder.php
Jirka Hladky c6eb2a7
Patch0:         dieharder-3.31.1_urandom_64bit.patch 
Jirka Hladky c6eb2a7
Patch1:         dieharder-3.31.1_aarch64.patch
3829ad8
3829ad8
Requires:       gsl
3829ad8
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
3829ad8
3829ad8
# Needed for building manual
2a39ae1
%if 0%{?rhel}==5
2a39ae1
BuildRequires:  tetex-latex
2a39ae1
%else
2a39ae1
BuildRequires:  texlive-latex
2a39ae1
%endif
2a39ae1
BuildRequires:  latex2html
3829ad8
3829ad8
BuildRequires:  gsl-devel
3829ad8
3829ad8
3829ad8
%description 
3829ad8
dieharder is a fairly involved random number/uniform deviate generator
Jirka Hladky c6eb2a7
tester.  It can either test any of its many pre-built and linked
3829ad8
generators (basically all of those in the Gnu Scientific Library plus
3829ad8
some others) or a potentially random data-set in a file.  With file
3829ad8
input, it can manage either a variety of ASCII-formatted input or a raw
3829ad8
binary bit string.  It is thus suitable for use in testing both software
3829ad8
RNG's and hardware RNG's.
3829ad8
3829ad8
dieharder does all of its work with a standalone, extensible library,
3829ad8
libdieharder. Therefore its tests can be integrated into other programs.
3829ad8
3829ad8
dieharder encapsulates following random number tests: George Marsaglia's
3829ad8
"Diehard" battery of tests, STS (v1.6) from NIST FIPS, Knuth's tests,
3829ad8
and more.  Check the documentation for complete list of the tests and
3829ad8
references where possible. It is intended to be the "Swiss army knife of
3829ad8
random number testers", or "the last suite of random number testers
3829ad8
you'll ever wear".
3829ad8
3829ad8
########################################################################
3829ad8
# LIBRARY: This is the basic dieharder library
3829ad8
########################################################################
3829ad8
3829ad8
%package libs
3829ad8
Summary:        A library of random number generator tests and timing routines
3829ad8
Group:          Development/Libraries
3829ad8
3829ad8
%description libs
3829ad8
3829ad8
libdieharder is the core library of dieharder designed to be "the last
3829ad8
suite of random number testers you'll ever wear".  It can test any of
Jirka Hladky c6eb2a7
its many pre-built and library linked generators (basically all of those
3829ad8
in the Gnu Scientific Library plus a number of others from various
3829ad8
sources) or a potentially random data-set in either an ASCII-formatted
3829ad8
or raw (presumed 32 bit unsigned int) binary file.  It is fairly
3829ad8
straightforward to wrap new software generators for testing, or to add
3829ad8
hardware generators that have a software interface for testing, and the
3829ad8
file input method permits pretty much any software or hardware RNG to be
3829ad8
tested using libdieharder calls.
3829ad8
3829ad8
libdieharder has as a design goal the full encapsulation in an
3829ad8
extensible shell of basically all the random number tests: George
3829ad8
Marsaglia's "Diehard" battery of tests, STS (v1.6) from NIST FIPS,
3829ad8
Knuth's tests, and more.  Check the documentation for complete list.  
3829ad8
3829ad8
3829ad8
%package devel
3829ad8
Summary: A library of random number generator tests and timing routines
3829ad8
Group: Development/Libraries
3829ad8
Requires:  %{name}%{?_isa} = %{version}-%{release}
3829ad8
3829ad8
%description devel
3829ad8
Development files for %{name}
3829ad8
3829ad8
3829ad8
########################################################################
3829ad8
# The main section common to all builds.
3829ad8
########################################################################
3829ad8
%prep
3829ad8
%setup -q
Jirka Hladky c6eb2a7
%patch0 -p1
Jirka Hladky c6eb2a7
%patch1 -p1
3829ad8
3829ad8
%build
3829ad8
%configure
3829ad8
###SMP build is not working
3829ad8
###make %{?_smp_mflags} V=1
3829ad8
make V=1
3829ad8
3829ad8
# Build pdf manual
3829ad8
pushd manual
3829ad8
make
3829ad8
3829ad8
3829ad8
%check
3829ad8
make check
3829ad8
3829ad8
3829ad8
%install
3829ad8
rm -rf %{buildroot}
3829ad8
make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
3829ad8
rm -rf %{buildroot}%{_libdir}/libdieharder.la
3829ad8
rm -rf %{buildroot}%{_libdir}/libdieharder.a
3829ad8
3829ad8
########################################################################
3829ad8
# Command to execute post install or uninstall of libdieharder
3829ad8
########################################################################
3829ad8
%post libs -p /sbin/ldconfig
3829ad8
3829ad8
%postun libs -p /sbin/ldconfig
3829ad8
3829ad8
%clean
3829ad8
rm -rf %{buildroot}
3829ad8
3829ad8
########################################################################
3829ad8
# Files installed with the dieharder tty UI
3829ad8
########################################################################
3829ad8
%files
3829ad8
%defattr(-,root,root,-)
3829ad8
%{_bindir}/%{name}
3829ad8
%{_mandir}/man1/%{name}*
3829ad8
%doc ChangeLog Copyright README COPYING NOTES %{name}.html manual/%{name}.pdf
3829ad8
3829ad8
%files libs
3829ad8
%defattr(-,root,root,-)
3829ad8
%doc libdieharder/COPYING libdieharder/NOTES libdieharder/README
3829ad8
%{_libdir}/*.so.*
3829ad8
%{_mandir}/man3/lib%{name}.*
3829ad8
3829ad8
%files devel
3829ad8
%defattr(-,root,root,-)
3829ad8
%{_includedir}/%{name}
3829ad8
%{_libdir}/*.so
3829ad8
3829ad8
%changelog
Jirka Hladky c6eb2a7
* Sat Jan 04 2014 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-9
Jirka Hladky c6eb2a7
- Fixed issue when testing /dev/random and /dev/urandom 9generators 500 and 501)
Jirka Hladky c6eb2a7
  on 64-bit architecture. Refer to 
Jirka Hladky c6eb2a7
  https://bugzilla.redhat.com/show_bug.cgi?id=803292
Jirka Hladky c6eb2a7
- Added support for the ARM 64 bit CPU architecture (aarch64)
Jirka Hladky c6eb2a7
Jirka Hladky c6eb2a7
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-8
Jirka Hladky c6eb2a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
Jirka Hladky c6eb2a7
ff47fd6
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-7
ff47fd6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
ff47fd6
446518e
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-6
446518e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
446518e
745046e
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-5
745046e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
745046e
2a39ae1
* Sun Nov 27 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-4
2a39ae1
  - Fix building for EPEL5
3829ad8
* Wed Nov 16 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-3
3829ad8
  - Updates according to https://bugzilla.redhat.com/show_bug.cgi?id=744339#c14
3829ad8
* Tue Nov 15 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-2
3829ad8
  - Updates according to https://bugzilla.redhat.com/show_bug.cgi?id=744339#c11
3829ad8
* Mon Nov 14 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-1
3829ad8
  - Updates according to https://bugzilla.redhat.com/show_bug.cgi?id=744339#c9
3829ad8
* Sat Oct 15 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-0
3829ad8
  - Update to 3.31.1
3829ad8
  - It fixes build warnings
3829ad8
* Fri Oct 07 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.0-0
3829ad8
 - Initial package
3829ad8