summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Bar-Lev <alonbl@gentoo.org>2019-02-24 00:20:39 +0200
committerAlon Bar-Lev <alonbl@gentoo.org>2019-02-24 00:21:28 +0200
commite0851dfe8e3bc56f435fc0a71fdf562794df903d (patch)
treeefc5c7f485704054dbca59e78df6b02515ba5239
parentapp-crypt/dieharder: remove old (diff)
downloadgentoo-e0851dfe8e3bc56f435fc0a71fdf562794df903d.tar.gz
gentoo-e0851dfe8e3bc56f435fc0a71fdf562794df903d.tar.bz2
gentoo-e0851dfe8e3bc56f435fc0a71fdf562794df903d.zip
app-crypt/dieharder: resolve undefined symbols
Closes: https://bugs.gentoo.org/show_bug.cgi?id=678300 Thanks: Ben Kohler Signed-off-by: Alon Bar-Lev <alonbl@gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11
-rw-r--r--app-crypt/dieharder/dieharder-3.31.1-r3.ebuild (renamed from app-crypt/dieharder/dieharder-3.31.1-r2.ebuild)2
-rw-r--r--app-crypt/dieharder/files/dieharder-3.31.1-build.patch158
2 files changed, 159 insertions, 1 deletions
diff --git a/app-crypt/dieharder/dieharder-3.31.1-r2.ebuild b/app-crypt/dieharder/dieharder-3.31.1-r3.ebuild
index 5a949f9d035..8fd1209bd49 100644
--- a/app-crypt/dieharder/dieharder-3.31.1-r2.ebuild
+++ b/app-crypt/dieharder/dieharder-3.31.1-r3.ebuild
@@ -11,7 +11,7 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
IUSE="doc"
-RESTRICT="test"
+RESTRICT="test" # Way too long
RDEPEND="sci-libs/gsl"
DEPEND="${RDEPEND}
diff --git a/app-crypt/dieharder/files/dieharder-3.31.1-build.patch b/app-crypt/dieharder/files/dieharder-3.31.1-build.patch
index 4cbd5021c77..50e2119030c 100644
--- a/app-crypt/dieharder/files/dieharder-3.31.1-build.patch
+++ b/app-crypt/dieharder/files/dieharder-3.31.1-build.patch
@@ -25,3 +25,161 @@ index 2138ebf..f6d471b 100644
#include <math.h>
#include <limits.h>
#include <gsl/gsl_rng.h>
+From aee56b67080a5a8732c12216ef4415f315f35e4a Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sun, 24 Feb 2019 00:04:55 +0200
+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 @@
++#if 0
+ /*
+ * rgb_operm test header.
+ */
+@@ -36,3 +37,4 @@ static Dtest rgb_operm_dtest __attribute__((unused)) = {
+ * a data stream of rands from x_i to x_{i+k} to compute c[][].
+ */
+ unsigned int rgb_operm_k;
++#endif
+--
+2.19.2
+
+From b1140059cab9a5b2847dd312087d44d58fe61263 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Sun, 24 Feb 2019 00:10:00 +0200
+Subject: [PATCH 2/2] dab_filltree2: inline cannot have prototype nor can it be
+ non static
+
+---
+ libdieharder/dab_filltree.c | 37 ++++++++++++++-------------
+ 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[] = {
+ 0.0, 0.0, 0.0, 0.0, 0.13333333, 0.20000000, 0.20634921, 0.17857143, 0.13007085, 0.08183633, 0.04338395, 0.01851828, 0.00617270, 0.00151193, 0.00023520, 0.00001680, 0.00000000, 0.00000000, 0.00000000, 0.00000000
+ };
+
+-inline int insert(double x, double *array, unsigned int startVal);
++static inline int insert(double x, double *array, unsigned int startVal) {
++ uint d = (startVal + 1) / 2;
++ uint i = startVal;
++ while (d > 0) {
++ if (array[i] == 0) {
++ array[i] = x;
++ return -1;
++ }
++ if (array[i] < x) {
++ i += d;
++ } else {
++ i -= d;
++ }
++ d /= 2;
++ }
++ return i;
++}
++
+
+ int dab_filltree(Test **test,int irun) {
+ int size = (ntuple == 0) ? 32 : ntuple;
+@@ -105,24 +122,6 @@ int dab_filltree(Test **test,int irun) {
+ }
+
+
+-inline int insert(double x, double *array, unsigned int startVal) {
+- uint d = (startVal + 1) / 2;
+- uint i = startVal;
+- while (d > 0) {
+- if (array[i] == 0) {
+- array[i] = x;
+- return -1;
+- }
+- if (array[i] < x) {
+- i += d;
+- } else {
+- i -= d;
+- }
+- d /= 2;
+- }
+- return i;
+-}
+-
+ #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.00000000000e+00,0.00000000000e+00,0.00000000000e+00,0.00000000000e+00,
+ };
+
+-inline int insertBit(uint x, uchar *array, uint *i, uint *d);
++/*
++ * Insert a bit into the tree, represented by an array.
++ * A value of one is marked; zero is unmarked.
++ * The function returns -2 is still on the path.
++ * The function returns -1 if the path ends by marking a node.
++ * The function returns >= 0 if the path went too deep; the
++ * returned value is the last position of the path.
++ */
++static inline int insertBit(uint x, uchar *array, uint *i, uint *d) {
++ if (x != 0) {
++ *i += *d;
++ } else {
++ *i -= *d;
++ }
++ *d /= 2;
++
++ if (array[*i] == 0) {
++ array[*i] = 1;
++ return -1;
++ }
++ if (*d == 0) return *i;
++ else return -2;
++}
+
+ int dab_filltree2(Test **test, int irun) {
+ int size = (ntuple == 0) ? 128 : ntuple;
+@@ -173,27 +195,3 @@ int dab_filltree2(Test **test, int irun) {
+ return(0);
+ }
+
+-/*
+- * Insert a bit into the tree, represented by an array.
+- * A value of one is marked; zero is unmarked.
+- * The function returns -2 is still on the path.
+- * The function returns -1 if the path ends by marking a node.
+- * The function returns >= 0 if the path went too deep; the
+- * returned value is the last position of the path.
+- */
+-inline int insertBit(uint x, uchar *array, uint *i, uint *d) {
+- if (x != 0) {
+- *i += *d;
+- } else {
+- *i -= *d;
+- }
+- *d /= 2;
+-
+- if (array[*i] == 0) {
+- array[*i] = 1;
+- return -1;
+- }
+- if (*d == 0) return *i;
+- else return -2;
+-}
+-
+--
+2.19.2
+