Blob Blame History Raw
Summary:        Random number generator tester and timer
Name:           dieharder
Version:        3.31.1
Release:        9%{?dist}
License:        GPLv2+
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Group:          Development/Tools
Source0:        http://www.phy.duke.edu/~rgb/General/%{name}/%{name}-%{version}.tgz
URL:            http://www.phy.duke.edu/~rgb/General/dieharder.php
Patch0:         dieharder-3.31.1_urandom_64bit.patch 
Patch1:         dieharder-3.31.1_aarch64.patch

Requires:       gsl
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}

# Needed for building manual
%if 0%{?rhel}==5
BuildRequires:  tetex-latex
%else
BuildRequires:  texlive-latex
%endif
BuildRequires:  latex2html

BuildRequires:  gsl-devel


%description 
dieharder is a fairly involved random number/uniform deviate generator
tester.  It can either test any of its many pre-built and linked
generators (basically all of those in the Gnu Scientific Library plus
some others) or a potentially random data-set in a file.  With file
input, it can manage either a variety of ASCII-formatted input or a raw
binary bit string.  It is thus suitable for use in testing both software
RNG's and hardware RNG's.

dieharder does all of its work with a standalone, extensible library,
libdieharder. Therefore its tests can be integrated into other programs.

dieharder encapsulates following random number tests: George Marsaglia's
"Diehard" battery of tests, STS (v1.6) from NIST FIPS, Knuth's tests,
and more.  Check the documentation for complete list of the tests and
references where possible. It is intended to be the "Swiss army knife of
random number testers", or "the last suite of random number testers
you'll ever wear".

########################################################################
# LIBRARY: This is the basic dieharder library
########################################################################

%package libs
Summary:        A library of random number generator tests and timing routines
Group:          Development/Libraries

%description libs

libdieharder is the core library of dieharder designed to be "the last
suite of random number testers you'll ever wear".  It can test any of
its many pre-built and library linked generators (basically all of those
in the Gnu Scientific Library plus a number of others from various
sources) or a potentially random data-set in either an ASCII-formatted
or raw (presumed 32 bit unsigned int) binary file.  It is fairly
straightforward to wrap new software generators for testing, or to add
hardware generators that have a software interface for testing, and the
file input method permits pretty much any software or hardware RNG to be
tested using libdieharder calls.

libdieharder has as a design goal the full encapsulation in an
extensible shell of basically all the random number tests: George
Marsaglia's "Diehard" battery of tests, STS (v1.6) from NIST FIPS,
Knuth's tests, and more.  Check the documentation for complete list.  


%package devel
Summary: A library of random number generator tests and timing routines
Group: Development/Libraries
Requires:  %{name}%{?_isa} = %{version}-%{release}

%description devel
Development files for %{name}


########################################################################
# The main section common to all builds.
########################################################################
%prep
%setup -q
%patch0 -p1
%patch1 -p1

%build
%configure
###SMP build is not working
###make %{?_smp_mflags} V=1
make V=1

# Build pdf manual
pushd manual
make


%check
make check


%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
rm -rf %{buildroot}%{_libdir}/libdieharder.la
rm -rf %{buildroot}%{_libdir}/libdieharder.a

########################################################################
# Command to execute post install or uninstall of libdieharder
########################################################################
%post libs -p /sbin/ldconfig

%postun libs -p /sbin/ldconfig

%clean
rm -rf %{buildroot}

########################################################################
# Files installed with the dieharder tty UI
########################################################################
%files
%defattr(-,root,root,-)
%{_bindir}/%{name}
%{_mandir}/man1/%{name}*
%doc ChangeLog Copyright README COPYING NOTES %{name}.html manual/%{name}.pdf

%files libs
%defattr(-,root,root,-)
%doc libdieharder/COPYING libdieharder/NOTES libdieharder/README
%{_libdir}/*.so.*
%{_mandir}/man3/lib%{name}.*

%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}
%{_libdir}/*.so

%changelog
* Sat Jan 04 2014 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-9
- Fixed issue when testing /dev/random and /dev/urandom 9generators 500 and 501)
  on 64-bit architecture. Refer to 
  https://bugzilla.redhat.com/show_bug.cgi?id=803292
- Added support for the ARM 64 bit CPU architecture (aarch64)

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.31.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Sun Nov 27 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-4
  - Fix building for EPEL5
* Wed Nov 16 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-3
  - Updates according to https://bugzilla.redhat.com/show_bug.cgi?id=744339#c14
* Tue Nov 15 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-2
  - Updates according to https://bugzilla.redhat.com/show_bug.cgi?id=744339#c11
* Mon Nov 14 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-1
  - Updates according to https://bugzilla.redhat.com/show_bug.cgi?id=744339#c9
* Sat Oct 15 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.1-0
  - Update to 3.31.1
  - It fixes build warnings
* Fri Oct 07 2011 Jirka Hladky <hladky.jiri@gmail.com> - 3.31.0-0
 - Initial package