mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
app-crypt/dieharder: Apply gcc-10 workaround and cross-compile patch
Closes: https://bugs.gentoo.org/708538 Closes: https://github.com/gentoo/gentoo/pull/12544 Co-authored-by: Tom Hughes <tomhughes@chromium.org> Signed-off-by: Tom Hughes <tomhughes@chromium.org> Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: Ben Kohler <bkohler@gentoo.org>
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic
|
||||
|
||||
DESCRIPTION="An advanced suite for testing the randomness of RNG's"
|
||||
HOMEPAGE="http://www.phy.duke.edu/~rgb/General/dieharder.php"
|
||||
SRC_URI="http://www.phy.duke.edu/~rgb/General/${PN}/${P}.tgz"
|
||||
HOMEPAGE="https://www.phy.duke.edu/~rgb/General/dieharder.php"
|
||||
SRC_URI="https://www.phy.duke.edu/~rgb/General/${PN}/${P}.tgz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
@@ -14,30 +16,22 @@ IUSE="doc"
|
||||
RESTRICT="test" # Way too long
|
||||
|
||||
RDEPEND="sci-libs/gsl"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-tex/latex2html )"
|
||||
|
||||
DOCS=(
|
||||
NOTES
|
||||
)
|
||||
HTML_DOCS=()
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND=" doc? ( dev-tex/latex2html )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-build.patch"
|
||||
"${FILESDIR}/${P}-urandom-64bit.patch"
|
||||
"${FILESDIR}"/${P}-build.patch
|
||||
"${FILESDIR}"/${P}-urandom-64bit.patch
|
||||
"${FILESDIR}"/${P}-cross-compile.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use doc && DOCS+=(
|
||||
ChangeLog
|
||||
manual/dieharder.pdf manual/dieharder.ps
|
||||
)
|
||||
use doc && HTML_DOCS+=(
|
||||
dieharder.html
|
||||
)
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fcommon
|
||||
econf --disable-static
|
||||
}
|
||||
|
||||
@@ -46,17 +40,18 @@ src_compile() {
|
||||
use doc && emake -C manual
|
||||
}
|
||||
|
||||
src_test() {
|
||||
"${S}/dieharder/dieharder" -g 501 -a
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use doc; then
|
||||
DOCS=( ChangeLog manual/dieharder.pdf manual/dieharder.ps)
|
||||
HTML_DOCS=( dieharder.html )
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
docinto "dieharder"
|
||||
dodoc dieharder/README dieharder/NOTES
|
||||
docinto "libdieharder"
|
||||
dodoc libdieharder/README libdieharder/NOTES
|
||||
docinto dieharder
|
||||
dodoc dieharder/{NOTES,README}
|
||||
docinto libdieharder
|
||||
dodoc libdieharder/{NOTES,README}
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
diff --git a/include/dieharder/libdieharder.h b/include/dieharder/libdieharder.h
|
||||
index 2138ebf..f6d471b 100644
|
||||
--- a/include/dieharder/libdieharder.h
|
||||
+++ b/include/dieharder/libdieharder.h
|
||||
@@ -6,6 +6,8 @@
|
||||
@@ -34,8 +32,6 @@ Subject: [PATCH 1/2] rgb_operm: convert to noop as implementation missing
|
||||
include/dieharder/rgb_operm.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/dieharder/rgb_operm.h b/include/dieharder/rgb_operm.h
|
||||
index c48fa37..f33fc1f 100644
|
||||
--- a/include/dieharder/rgb_operm.h
|
||||
+++ b/include/dieharder/rgb_operm.h
|
||||
@@ -1,3 +1,4 @@
|
||||
@@ -62,8 +58,6 @@ Subject: [PATCH 2/2] dab_filltree2: inline cannot have prototype nor can it be
|
||||
libdieharder/dab_filltree2.c | 48 +++++++++++++++++-------------------
|
||||
2 files changed, 41 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/libdieharder/dab_filltree.c b/libdieharder/dab_filltree.c
|
||||
index 9cc5ce7..3ed6b00 100644
|
||||
--- a/libdieharder/dab_filltree.c
|
||||
+++ b/libdieharder/dab_filltree.c
|
||||
@@ -34,7 +34,24 @@ static double targetData[] = {
|
||||
@@ -117,8 +111,6 @@ index 9cc5ce7..3ed6b00 100644
|
||||
#include<time.h>
|
||||
|
||||
int main_filltree(int argc, char **argv) {
|
||||
diff --git a/libdieharder/dab_filltree2.c b/libdieharder/dab_filltree2.c
|
||||
index 1e33af2..7102d3c 100644
|
||||
--- a/libdieharder/dab_filltree2.c
|
||||
+++ b/libdieharder/dab_filltree2.c
|
||||
@@ -92,7 +92,29 @@ static double targetData[128] = { // size=128, generated from 6e9 samples
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From: Tom Hughes <tomhughes@chromium.org>
|
||||
Fix cross-compilation by removing gsl header/library check (these are enforced
|
||||
through ebuild DEPENDS) and using AC_C_BIGENDIAN instead of the non-standard
|
||||
AC_C_ENDIAN macro which tries to execute code.
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -108,48 +108,7 @@
|
||||
AC_SUBST(DIEHARDER_LIBS)
|
||||
AC_SUBST(ACLOCAL_AMFLAGS)
|
||||
|
||||
-#==================================================================
|
||||
-# Checks for libraries, and headers. Test for dependency libraries
|
||||
-# FIRST in reverse order that you need -lwhatever to appear on
|
||||
-# compile line as it accumulates libraries to build e.g.
|
||||
-# -lgsl -lgslcblas
|
||||
-# for the SECOND test, required (in that order) to succeed.
|
||||
-#==================================================================
|
||||
-AC_CHECK_HEADER([gsl/gsl_sf_gamma.h],,[AC_MSG_ERROR([Couldn't find GSL headers. Please install the gsl-devel package.])])
|
||||
-AC_CHECK_LIB([gslcblas], [main],,[AC_MSG_ERROR([Couldn't find libgsl. Please install the gsl package.])])
|
||||
-AC_CHECK_LIB([gsl],[gsl_sf_gamma])
|
||||
-
|
||||
-
|
||||
-#==================================================================
|
||||
-# Check if we're a little-endian or a big-endian system, needed by
|
||||
-# brg_endian.h in the build of rng_threefish. This is a very
|
||||
-# certain test, and therefore is checked FIRST in this header file.
|
||||
-#==================================================================
|
||||
-AC_DEFUN([AC_C_ENDIAN],
|
||||
-[AC_CACHE_CHECK(for endianness, ac_cv_c_endian,
|
||||
-[
|
||||
- AC_RUN_IFELSE(
|
||||
- [AC_LANG_PROGRAM([], [dnl
|
||||
- long val = 1;
|
||||
- char *c = (char *) &val;
|
||||
- exit(*c == 1);
|
||||
- ])
|
||||
- ],[
|
||||
- ac_cv_c_endian=big
|
||||
- ],[
|
||||
- ac_cv_c_endian=little
|
||||
- ])
|
||||
-])
|
||||
-if test $ac_cv_c_endian = big; then
|
||||
- AC_SUBST(LITTLE_ENDIAN,0)
|
||||
-fi
|
||||
-if test $ac_cv_c_endian = little; then
|
||||
- AC_SUBST(LITTLE_ENDIAN,1)
|
||||
-fi
|
||||
-])
|
||||
-
|
||||
-AC_C_ENDIAN
|
||||
-
|
||||
+AC_C_BIGENDIAN([AC_SUBST(LITTLE_ENDIAN,0)],[AC_SUBST(LITTLE_ENDIAN,1)])
|
||||
|
||||
#==================================================================
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
diff -ru dieharder-3.31.1/libdieharder/rng_dev_arandom.c dieharder-3.31.1_fixed/libdieharder/rng_dev_arandom.c
|
||||
--- dieharder-3.31.1/libdieharder/rng_dev_arandom.c 2011-10-14 15:41:37.000000000 +0200
|
||||
+++ dieharder-3.31.1_fixed/libdieharder/rng_dev_arandom.c 2014-01-03 22:51:30.010534418 +0100
|
||||
--- a/libdieharder/rng_dev_arandom.c
|
||||
+++ b/libdieharder/rng_dev_arandom.c
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
@@ -27,9 +26,8 @@ diff -ru dieharder-3.31.1/libdieharder/rng_dev_arandom.c dieharder-3.31.1_fixed/
|
||||
}
|
||||
|
||||
static void
|
||||
diff -ru dieharder-3.31.1/libdieharder/rng_dev_random.c dieharder-3.31.1_fixed/libdieharder/rng_dev_random.c
|
||||
--- dieharder-3.31.1/libdieharder/rng_dev_random.c 2011-10-14 15:41:37.000000000 +0200
|
||||
+++ dieharder-3.31.1_fixed/libdieharder/rng_dev_random.c 2014-01-03 22:50:57.852321485 +0100
|
||||
--- a/libdieharder/rng_dev_random.c
|
||||
+++ b/libdieharder/rng_dev_random.c
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
@@ -56,9 +54,8 @@ diff -ru dieharder-3.31.1/libdieharder/rng_dev_random.c dieharder-3.31.1_fixed/l
|
||||
}
|
||||
|
||||
static void
|
||||
diff -ru dieharder-3.31.1/libdieharder/rng_dev_urandom.c dieharder-3.31.1_fixed/libdieharder/rng_dev_urandom.c
|
||||
--- dieharder-3.31.1/libdieharder/rng_dev_urandom.c 2011-10-14 15:41:37.000000000 +0200
|
||||
+++ dieharder-3.31.1_fixed/libdieharder/rng_dev_urandom.c 2014-01-03 23:06:24.124239582 +0100
|
||||
--- a/libdieharder/rng_dev_urandom.c
|
||||
+++ b/libdieharder/rng_dev_urandom.c
|
||||
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user