public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/
@ 2016-01-12 23:50 David Seifert
  0 siblings, 0 replies; 3+ messages in thread
From: David Seifert @ 2016-01-12 23:50 UTC (permalink / raw
  To: gentoo-commits

commit:     7697105a937fb3043f146d15b1e4a8a8679eaf0b
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 12 23:49:20 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Jan 12 23:50:37 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7697105a

sci-mathematics/prng: Revbump, modernize to EAPI=6, fix #570100

Package-Manager: portage-2.2.26

 sci-mathematics/prng/files/prng-3.0.2-shared.patch | 13 +++++----
 sci-mathematics/prng/prng-3.0.2-r1.ebuild          | 34 ++++++++++++++++++++++
 2 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/sci-mathematics/prng/files/prng-3.0.2-shared.patch b/sci-mathematics/prng/files/prng-3.0.2-shared.patch
index c529293..109e74f 100644
--- a/sci-mathematics/prng/files/prng-3.0.2-shared.patch
+++ b/sci-mathematics/prng/files/prng-3.0.2-shared.patch
@@ -9,15 +9,18 @@ diff -Nur prng-3.0.2.orig/configure.ac prng-3.0.2/configure.ac
  
  dnl Checks for typedefs, structures, and compiler characteristics.
  AC_C_CONST
-@@ -39,6 +40,8 @@
+@@ -39,10 +40,7 @@
  dnl Checks for library functions.
  AC_CHECK_FUNCS(strtoul)
  
+-dnl Set flags for compiler
+-if test X"$GCC" = Xyes ; then
+-	AC_SUBST(AM_CFLAGS,"-Wall -fomit-frame-pointer")
+-fi
 +AC_CHECK_LIB([m], [pow])
-+
- dnl Set flags for compiler
- if test X"$GCC" = Xyes ; then
- 	AC_SUBST(AM_CFLAGS,"-Wall -fomit-frame-pointer")
+ 
+ AC_CONFIG_FILES([\
+         Makefile \
 diff -Nur prng-3.0.2.orig/examples/Makefile.am prng-3.0.2/examples/Makefile.am
 --- prng-3.0.2.orig/examples/Makefile.am	2010-10-16 18:47:52.000000000 +0100
 +++ prng-3.0.2/examples/Makefile.am	2010-10-16 18:48:08.000000000 +0100

diff --git a/sci-mathematics/prng/prng-3.0.2-r1.ebuild b/sci-mathematics/prng/prng-3.0.2-r1.ebuild
new file mode 100644
index 0000000..f3e65ff
--- /dev/null
+++ b/sci-mathematics/prng/prng-3.0.2-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Pseudo-Random Number Generator library"
+HOMEPAGE="http://statmath.wu.ac.at/prng/"
+SRC_URI="${HOMEPAGE}${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT=0
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+PATCHES=( "${FILESDIR}/${P}-shared.patch" )
+
+src_prepare() {
+	append-cflags -std=gnu89
+	default
+	eautoreconf
+}
+
+src_install() {
+	default
+	use doc && dodoc doc/${PN}.pdf
+	if use examples; then
+		rm examples/Makefile* || die
+		insinto /usr/share/doc/${PF}
+		doins -r examples
+	fi
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/
@ 2017-03-11 16:43 David Seifert
  0 siblings, 0 replies; 3+ messages in thread
From: David Seifert @ 2017-03-11 16:43 UTC (permalink / raw
  To: gentoo-commits

commit:     517686ae1b6c4e1f5190c2709380207cc8eb64a4
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 11 16:34:52 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Mar 11 16:43:08 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=517686ae

sci-mathematics/prng: Fix static-libs building

* Also fix C99 inline semantics properly

Package-Manager: Portage-2.3.4, Repoman-2.3.2

 .../prng-3.0.2-fix-c99-inline-semantics.patch      | 146 +++++++++++++++++++++
 sci-mathematics/prng/files/prng-3.0.2-shared.patch |  15 +--
 .../{prng-3.0.2-r1.ebuild => prng-3.0.2-r2.ebuild} |  21 ++-
 3 files changed, 167 insertions(+), 15 deletions(-)

diff --git a/sci-mathematics/prng/files/prng-3.0.2-fix-c99-inline-semantics.patch b/sci-mathematics/prng/files/prng-3.0.2-fix-c99-inline-semantics.patch
new file mode 100644
index 00000000000..c84a288d47d
--- /dev/null
+++ b/sci-mathematics/prng/files/prng-3.0.2-fix-c99-inline-semantics.patch
@@ -0,0 +1,146 @@
+Use portable 'static inline' semantics that work in GNU89 and C99
+See also: http://www.greenend.org.uk/rjk/tech/inline.html
+
+--- a/src/dicg.c
++++ b/src/dicg.c
+@@ -441,7 +441,7 @@
+  * Algorithm by Karin Schaber and Otmar Lendl.
+  *
+  */                                                  
+-inline prng_num prng_dicg_multiply(int k,prng_num c, prng_num d)
++prng_num prng_dicg_multiply(int k,prng_num c, prng_num d)
+ {
+   int i;
+   struct mtable *t;
+--- a/src/external.c
++++ b/src/external.c
+@@ -139,7 +139,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_tt800_get_next_int(struct prng *gen)
++prng_num prng_tt800_get_next_int(struct prng *gen)
+ {
+ unsigned int y;
+ struct tt800_state *g;
+--- a/src/icg.c
++++ b/src/icg.c
+@@ -110,7 +110,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_icg_get_next_int(struct prng *gen)
++prng_num prng_icg_get_next_int(struct prng *gen)
+ {
+   s_prng_num inv, current, prod;
+   
+--- a/src/lcg.c
++++ b/src/lcg.c
+@@ -111,7 +111,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_lcg_get_next_int(struct prng *gen)
++prng_num prng_lcg_get_next_int(struct prng *gen)
+ {
+   s_prng_num ax, current;
+ 
+--- a/src/meicg.c
++++ b/src/meicg.c
+@@ -106,7 +106,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_meicg_get_next_int(struct prng *gen)
++prng_num prng_meicg_get_next_int(struct prng *gen)
+ {
+   s_prng_num an, sum, inv, n;
+ 
+--- a/src/mt19937.c
++++ b/src/mt19937.c
+@@ -172,7 +172,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_mt19937_get_next_int(struct prng *gen)
++prng_num prng_mt19937_get_next_int(struct prng *gen)
+ {
+ #define MT  gen->data.mt19937_data.mt
+ #define MTI gen->data.mt19937_data.mti
+--- a/src/prng.h
++++ b/src/prng.h
+@@ -406,7 +406,7 @@
+ /* INLINE fnk def. for mult_mod, I don't know if this works for non-GCC */
+ 
+ #ifdef __GNUC__
+-extern __inline__ prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
++static inline prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
+ {
+ s_prng_num s_tmp;
+ 
+--- a/src/qcg.c
++++ b/src/qcg.c
+@@ -107,7 +107,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_qcg_get_next_int(struct prng *gen)
++prng_num prng_qcg_get_next_int(struct prng *gen)
+ {
+   s_prng_num current, sum, square, q_term, l_term;
+ 
+--- a/src/support.c
++++ b/src/support.c
+@@ -449,52 +449,6 @@
+ 		}
+ }
+ 
+-#ifndef __cplusplus
+-/* 
+- * Modular Multiplication. Uses the precalculated values from mult_mod_setup.
+- *
+- *
+- * Input: 
+- *	s	An prng_num. 
+- *	mm	pointer to a struct mult_mod_struct initialized 
+- *		by mult_mod_setup.
+- *
+- * Output:
+- *      (mm->a*s) mod mm->p
+- *
+- */
+-prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
+-{
+-s_prng_num s_tmp;
+-
+-switch(mm->algorithm)
+-	{
+-	case PRNG_MM_ZERO:	return(0);
+-			break;
+-	case PRNG_MM_ONE:	return(s);
+-			break;
+-	case PRNG_MM_SIMPLE: return((s * mm->a) % mm->p );
+-			break;
+-	case PRNG_MM_SCHRAGE:
+-			s_tmp = mm->a * ( s % mm->q ) - 
+-				mm->r * ( s / mm->q );
+-			if (s_tmp < 0) s_tmp += mm->p;
+-			return(s_tmp);
+-			break;
+-	case PRNG_MM_DECOMP: return(mult_mod_generic(s,mm->a,mm->p)); 
+-			break;
+-#ifdef HAVE_LONGLONG
+-	case PRNG_MM_LL:	return(mult_mod_ll(s,mm->a,mm->p));
+-			break;
+-#endif
+-	case PRNG_MM_POW2:	return((s*mm->a) & mm->mask);
+-			break;
+-	}
+-/* not reached */
+-return(0);
+-}
+-#endif
+-
+ 
+ /* 
+  * Modular Multiplication: Decomposition method (from L'Ecuyer & Cote)

diff --git a/sci-mathematics/prng/files/prng-3.0.2-shared.patch b/sci-mathematics/prng/files/prng-3.0.2-shared.patch
index 109e74faa3b..cee8de060fa 100644
--- a/sci-mathematics/prng/files/prng-3.0.2-shared.patch
+++ b/sci-mathematics/prng/files/prng-3.0.2-shared.patch
@@ -1,6 +1,5 @@
-diff -Nur prng-3.0.2.orig/configure.ac prng-3.0.2/configure.ac
---- prng-3.0.2.orig/configure.ac	2010-10-16 18:47:52.000000000 +0100
-+++ prng-3.0.2/configure.ac	2010-10-16 18:49:16.000000000 +0100
+--- a/configure.ac
++++ b/configure.ac
 @@ -23,6 +23,7 @@
  AC_PROG_RANLIB
  AC_PROG_INSTALL
@@ -21,9 +20,8 @@ diff -Nur prng-3.0.2.orig/configure.ac prng-3.0.2/configure.ac
  
  AC_CONFIG_FILES([\
          Makefile \
-diff -Nur prng-3.0.2.orig/examples/Makefile.am prng-3.0.2/examples/Makefile.am
---- prng-3.0.2.orig/examples/Makefile.am	2010-10-16 18:47:52.000000000 +0100
-+++ prng-3.0.2/examples/Makefile.am	2010-10-16 18:48:08.000000000 +0100
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
 @@ -1,11 +1,11 @@
  ## Process this file with automake to produce Makefile.in
  # $Id$
@@ -38,9 +36,8 @@ diff -Nur prng-3.0.2.orig/examples/Makefile.am prng-3.0.2/examples/Makefile.am
  
  # clean backup files
  CLEANFILES = *~
-diff -Nur prng-3.0.2.orig/src/Makefile.am prng-3.0.2/src/Makefile.am
---- prng-3.0.2.orig/src/Makefile.am	2010-10-16 18:47:52.000000000 +0100
-+++ prng-3.0.2/src/Makefile.am	2010-10-16 18:48:08.000000000 +0100
+--- a/src/Makefile.am
++++ b/src/Makefile.am
 @@ -3,9 +3,9 @@
  
  INCLUDES = 

diff --git a/sci-mathematics/prng/prng-3.0.2-r1.ebuild b/sci-mathematics/prng/prng-3.0.2-r2.ebuild
similarity index 55%
rename from sci-mathematics/prng/prng-3.0.2-r1.ebuild
rename to sci-mathematics/prng/prng-3.0.2-r2.ebuild
index b7ff16db417..5eba1b12905 100644
--- a/sci-mathematics/prng/prng-3.0.2-r1.ebuild
+++ b/sci-mathematics/prng/prng-3.0.2-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
 
-inherit autotools flag-o-matic
+inherit autotools
 
 DESCRIPTION="Pseudo-Random Number Generator library"
 HOMEPAGE="http://statmath.wu.ac.at/prng/"
@@ -14,20 +14,29 @@ SLOT=0
 KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
 IUSE="doc examples static-libs"
 
-PATCHES=( "${FILESDIR}/${P}-shared.patch" )
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.0.2-shared.patch
+	"${FILESDIR}"/${PN}-3.0.2-fix-c99-inline-semantics.patch
+)
 
 src_prepare() {
-	append-cflags -std=gnu89
 	default
 	eautoreconf
 }
 
+src_configure() {
+	econf $(use_enable static-libs static)
+}
+
 src_install() {
 	default
 	use doc && dodoc doc/${PN}.pdf
 	if use examples; then
 		rm examples/Makefile* || die
-		insinto /usr/share/doc/${PF}
-		doins -r examples
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+	if ! use static-libs; then
+		find "${D}" -name '*.la' -delete || die
 	fi
 }


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/
@ 2021-05-18 22:02 Andrew Savchenko
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Savchenko @ 2021-05-18 22:02 UTC (permalink / raw
  To: gentoo-commits

commit:     fcbf9252166ef3f04d46343fb5886aa7e91a58ea
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Tue May 18 21:58:26 2021 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Tue May 18 22:02:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcbf9252

sci-mathematics/prng: fix unresolved symbols

Some symbols were unresolved because functions were inlined.
This caused build failure of other packages like unurun.

Bug: https://bugs.gentoo.org/705318
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 .../prng-3.0.2-fix-all-c99-inline-semantics.patch  | 404 +++++++++++++++++++++
 sci-mathematics/prng/prng-3.0.2-r3.ebuild          |  44 +++
 2 files changed, 448 insertions(+)

diff --git a/sci-mathematics/prng/files/prng-3.0.2-fix-all-c99-inline-semantics.patch b/sci-mathematics/prng/files/prng-3.0.2-fix-all-c99-inline-semantics.patch
new file mode 100644
index 00000000000..e6281704376
--- /dev/null
+++ b/sci-mathematics/prng/files/prng-3.0.2-fix-all-c99-inline-semantics.patch
@@ -0,0 +1,404 @@
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/anti.c prng-3.0.2/src/anti.c
+--- prng-3.0.2.orig/src/anti.c	2001-11-06 22:31:36.000000000 +0300
++++ prng-3.0.2/src/anti.c	2021-05-19 00:41:03.400665843 +0300
+@@ -82,7 +82,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_anti_get_next(struct prng *gen)
++double prng_anti_get_next(struct prng *gen)
+ {
+   return (1. - prng_get_next(gen->data.anti_data.prng));
+ }
+@@ -114,7 +114,7 @@
+  *
+  */
+ /*
+-inline prng_num prng_anti_get_next_int(struct prng *gen)
++prng_num prng_anti_get_next_int(struct prng *gen)
+ ... undefined !!!
+ */
+ 
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/compound.c prng-3.0.2/src/compound.c
+--- prng-3.0.2.orig/src/compound.c	2001-11-06 22:34:51.000000000 +0300
++++ prng-3.0.2/src/compound.c	2021-05-19 00:41:03.395665825 +0300
+@@ -105,7 +105,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_compound_get_next(struct prng *gen)
++double prng_compound_get_next(struct prng *gen)
+ {
+   int i;
+   double sum = 0.0;
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/cons.c prng-3.0.2/src/cons.c
+--- prng-3.0.2.orig/src/cons.c	2001-11-06 22:35:29.000000000 +0300
++++ prng-3.0.2/src/cons.c	2021-05-19 00:41:03.392665813 +0300
+@@ -89,7 +89,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_con_get_next(struct prng *gen)
++double prng_con_get_next(struct prng *gen)
+ {
+   return(prng_get_next(gen->data.con_data.prng));
+ }
+@@ -119,7 +119,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_con_get_next_int(struct prng *gen)
++prng_num prng_con_get_next_int(struct prng *gen)
+ {
+   return(prng_get_next_int(gen->data.con_data.prng));
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/dicg.c prng-3.0.2/src/dicg.c
+--- prng-3.0.2.orig/src/dicg.c	2001-11-06 22:35:50.000000000 +0300
++++ prng-3.0.2/src/dicg.c	2021-05-19 00:41:03.398665836 +0300
+@@ -441,7 +441,7 @@
+  * Algorithm by Karin Schaber and Otmar Lendl.
+  *
+  */                                                  
+-inline prng_num prng_dicg_multiply(int k,prng_num c, prng_num d)
++prng_num prng_dicg_multiply(int k,prng_num c, prng_num d)
+ {
+   int i;
+   struct mtable *t;
+@@ -593,7 +593,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_dicg_get_next_int(struct prng *gen) /* DUMMY !!!!*/
++prng_num prng_dicg_get_next_int(struct prng *gen) /* DUMMY !!!!*/
+ {
+   s_prng_num inv, current, prod;
+ 
+@@ -619,7 +619,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_dicg_get_next(struct prng *gen)
++double prng_dicg_get_next(struct prng *gen)
+ {
+   return(prng_dicg_get_next_int(gen) * gen->data.dicg_data.inv_p);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/eicg.c prng-3.0.2/src/eicg.c
+--- prng-3.0.2.orig/src/eicg.c	2001-11-06 22:36:04.000000000 +0300
++++ prng-3.0.2/src/eicg.c	2021-05-19 00:41:03.405665862 +0300
+@@ -120,7 +120,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_eicg_get_next_int(struct prng *gen)
++prng_num prng_eicg_get_next_int(struct prng *gen)
+ {
+   prng_num old;
+ 
+@@ -138,7 +138,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_eicg_get_next(struct prng *gen)
++double prng_eicg_get_next(struct prng *gen)
+ {
+   return(prng_eicg_get_next_int(gen) * gen->data.eicg_data.inv_p);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/external.c prng-3.0.2/src/external.c
+--- prng-3.0.2.orig/src/external.c	2001-11-06 22:36:35.000000000 +0300
++++ prng-3.0.2/src/external.c	2021-05-19 00:41:03.391665810 +0300
+@@ -139,7 +139,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_tt800_get_next_int(struct prng *gen)
++prng_num prng_tt800_get_next_int(struct prng *gen)
+ {
+ unsigned int y;
+ struct tt800_state *g;
+@@ -189,7 +189,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_tt800_get_next(struct prng *gen)
++double prng_tt800_get_next(struct prng *gen)
+ {
+ return(prng_tt800_get_next_int(gen) * TT800_INV_MOD);
+ }
+@@ -223,7 +223,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_ctg_get_next_int(struct prng *gen)
++prng_num prng_ctg_get_next_int(struct prng *gen)
+ {
+ unsigned int b;
+ struct ctg_state *g;
+@@ -247,7 +247,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_ctg_get_next(struct prng *gen)
++double prng_ctg_get_next(struct prng *gen)
+ {
+ return(prng_ctg_get_next_int(gen) * 2.3283064365e-10);
+ }
+@@ -285,7 +285,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_mrg_get_next_int(struct prng *gen)
++prng_num prng_mrg_get_next_int(struct prng *gen)
+ {
+ int h,p1,p5;
+ struct mrg_state *g;
+@@ -312,7 +312,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_mrg_get_next(struct prng *gen)
++double prng_mrg_get_next(struct prng *gen)
+ {
+ return(prng_mrg_get_next_int(gen) * 4.656612873077393e-10);
+ }
+@@ -350,7 +350,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_cmrg_get_next_int(struct prng *gen)
++prng_num prng_cmrg_get_next_int(struct prng *gen)
+ {
+ int h, p12, p13, p21, p23;
+ struct cmrg_state *g;
+@@ -385,7 +385,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_cmrg_get_next(struct prng *gen)
++double prng_cmrg_get_next(struct prng *gen)
+ {
+ return(prng_cmrg_get_next_int(gen) * 4.656612873077393e-10);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/file.c prng-3.0.2/src/file.c
+--- prng-3.0.2.orig/src/file.c	2001-11-06 22:36:54.000000000 +0300
++++ prng-3.0.2/src/file.c	2021-05-19 00:41:03.404665858 +0300
+@@ -88,7 +88,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_afile_get_next(struct prng *gen)
++double prng_afile_get_next(struct prng *gen)
+ {
+   double d;
+   char line[64];
+@@ -135,7 +135,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_bfile_get_next(struct prng *gen)
++double prng_bfile_get_next(struct prng *gen)
+ {
+   prng_num n;
+ 
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/icg.c prng-3.0.2/src/icg.c
+--- prng-3.0.2.orig/src/icg.c	2001-11-06 22:37:07.000000000 +0300
++++ prng-3.0.2/src/icg.c	2021-05-19 00:41:03.407665870 +0300
+@@ -110,7 +110,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_icg_get_next_int(struct prng *gen)
++prng_num prng_icg_get_next_int(struct prng *gen)
+ {
+   s_prng_num inv, current, prod;
+   
+@@ -135,7 +135,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_icg_get_next(struct prng *gen)
++double prng_icg_get_next(struct prng *gen)
+ {
+   return(prng_icg_get_next_int(gen) * gen->data.icg_data.inv_p);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/lcg.c prng-3.0.2/src/lcg.c
+--- prng-3.0.2.orig/src/lcg.c	2001-11-06 22:37:29.000000000 +0300
++++ prng-3.0.2/src/lcg.c	2021-05-19 00:41:03.394665821 +0300
+@@ -111,7 +111,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_lcg_get_next_int(struct prng *gen)
++prng_num prng_lcg_get_next_int(struct prng *gen)
+ {
+   s_prng_num ax, current;
+ 
+@@ -130,7 +130,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_lcg_get_next(struct prng *gen)
++double prng_lcg_get_next(struct prng *gen)
+ {
+   return(prng_lcg_get_next_int(gen) * gen->data.lcg_data.inv_p);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/meicg.c prng-3.0.2/src/meicg.c
+--- prng-3.0.2.orig/src/meicg.c	2001-11-06 22:37:40.000000000 +0300
++++ prng-3.0.2/src/meicg.c	2021-05-19 00:41:03.396665828 +0300
+@@ -106,7 +106,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_meicg_get_next_int(struct prng *gen)
++prng_num prng_meicg_get_next_int(struct prng *gen)
+ {
+   s_prng_num an, sum, inv, n;
+ 
+@@ -144,7 +144,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_meicg_get_next(struct prng *gen)
++double prng_meicg_get_next(struct prng *gen)
+ {
+   return(prng_meicg_get_next_int(gen) * gen->data.meicg_data.inv_p);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/mt19937.c prng-3.0.2/src/mt19937.c
+--- prng-3.0.2.orig/src/mt19937.c	2001-11-06 22:38:08.000000000 +0300
++++ prng-3.0.2/src/mt19937.c	2021-05-19 00:45:22.720661481 +0300
+@@ -137,7 +137,7 @@
+  *	seed: used for initializing array
+  *
+  */
+-inline void prng_mt19937_seed( struct prng *gen, prng_num seed )
++void prng_mt19937_seed( struct prng *gen, prng_num seed )
+ {
+   int i;
+ 
+@@ -172,7 +172,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_mt19937_get_next_int(struct prng *gen)
++prng_num prng_mt19937_get_next_int(struct prng *gen)
+ {
+ #define MT  gen->data.mt19937_data.mt
+ #define MTI gen->data.mt19937_data.mti
+@@ -220,7 +220,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_mt19937_get_next(struct prng *gen)
++double prng_mt19937_get_next(struct prng *gen)
+ {
+   /* reals: [0,1)-interval   */
+   /* multiply with 1. / 2^32 */
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/prng.h prng-3.0.2/src/prng.h
+--- prng-3.0.2.orig/src/prng.h	2001-11-06 23:04:41.000000000 +0300
++++ prng-3.0.2/src/prng.h	2021-05-19 00:40:49.381612020 +0300
+@@ -406,7 +406,7 @@
+ /* INLINE fnk def. for mult_mod, I don't know if this works for non-GCC */
+ 
+ #ifdef __GNUC__
+-extern __inline__ prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
++static inline prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
+ {
+ s_prng_num s_tmp;
+ 
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/qcg.c prng-3.0.2/src/qcg.c
+--- prng-3.0.2.orig/src/qcg.c	2001-11-06 22:39:13.000000000 +0300
++++ prng-3.0.2/src/qcg.c	2021-05-19 00:41:03.403665855 +0300
+@@ -107,7 +107,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_qcg_get_next_int(struct prng *gen)
++prng_num prng_qcg_get_next_int(struct prng *gen)
+ {
+   s_prng_num current, sum, square, q_term, l_term;
+ 
+@@ -150,7 +150,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_qcg_get_next(struct prng *gen)
++double prng_qcg_get_next(struct prng *gen)
+ {
+   return(prng_qcg_get_next_int(gen) * gen->data.qcg_data.inv_p);
+ }
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/sub.c prng-3.0.2/src/sub.c
+--- prng-3.0.2.orig/src/sub.c	2001-11-06 22:39:06.000000000 +0300
++++ prng-3.0.2/src/sub.c	2021-05-19 00:41:03.402665851 +0300
+@@ -89,7 +89,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline double prng_sub_get_next(struct prng *gen)
++double prng_sub_get_next(struct prng *gen)
+ {
+   prng_num j;
+   double tmp;
+@@ -127,7 +127,7 @@
+  *      gen:  Pointer to a struct prng.
+  *
+  */
+-inline prng_num prng_sub_get_next_int(struct prng *gen)
++prng_num prng_sub_get_next_int(struct prng *gen)
+ {
+   prng_num j,tmp;
+ 
+diff '--color=auto' -Naurd prng-3.0.2.orig/src/support.c prng-3.0.2/src/support.c
+--- prng-3.0.2.orig/src/support.c	2001-11-06 23:03:26.000000000 +0300
++++ prng-3.0.2/src/support.c	2021-05-19 00:40:49.381612020 +0300
+@@ -449,52 +449,6 @@
+ 		}
+ }
+ 
+-#ifndef __cplusplus
+-/* 
+- * Modular Multiplication. Uses the precalculated values from mult_mod_setup.
+- *
+- *
+- * Input: 
+- *	s	An prng_num. 
+- *	mm	pointer to a struct mult_mod_struct initialized 
+- *		by mult_mod_setup.
+- *
+- * Output:
+- *      (mm->a*s) mod mm->p
+- *
+- */
+-prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
+-{
+-s_prng_num s_tmp;
+-
+-switch(mm->algorithm)
+-	{
+-	case PRNG_MM_ZERO:	return(0);
+-			break;
+-	case PRNG_MM_ONE:	return(s);
+-			break;
+-	case PRNG_MM_SIMPLE: return((s * mm->a) % mm->p );
+-			break;
+-	case PRNG_MM_SCHRAGE:
+-			s_tmp = mm->a * ( s % mm->q ) - 
+-				mm->r * ( s / mm->q );
+-			if (s_tmp < 0) s_tmp += mm->p;
+-			return(s_tmp);
+-			break;
+-	case PRNG_MM_DECOMP: return(mult_mod_generic(s,mm->a,mm->p)); 
+-			break;
+-#ifdef HAVE_LONGLONG
+-	case PRNG_MM_LL:	return(mult_mod_ll(s,mm->a,mm->p));
+-			break;
+-#endif
+-	case PRNG_MM_POW2:	return((s*mm->a) & mm->mask);
+-			break;
+-	}
+-/* not reached */
+-return(0);
+-}
+-#endif
+-
+ 
+ /* 
+  * Modular Multiplication: Decomposition method (from L'Ecuyer & Cote)

diff --git a/sci-mathematics/prng/prng-3.0.2-r3.ebuild b/sci-mathematics/prng/prng-3.0.2-r3.ebuild
new file mode 100644
index 00000000000..e4cc42dcc3e
--- /dev/null
+++ b/sci-mathematics/prng/prng-3.0.2-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Pseudo-Random Number Generator library"
+HOMEPAGE="http://statmath.wu.ac.at/prng/"
+SRC_URI="http://statmath.wu.ac.at/prng/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT=0
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples static-libs"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-3.0.2-shared.patch
+	"${FILESDIR}"/${PN}-3.0.2-fix-all-c99-inline-semantics.patch
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	# bug 705318
+	append-cflags -fvisibility-inlines-hidden
+	econf $(use_enable static-libs static)
+}
+
+src_install() {
+	default
+	use doc && dodoc doc/${PN}.pdf
+	if use examples; then
+		rm examples/Makefile* || die
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+	if ! use static-libs; then
+		find "${D}" -name '*.la' -delete || die
+	fi
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-18 22:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-18 22:02 [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/ Andrew Savchenko
  -- strict thread matches above, loose matches on Subject: below --
2017-03-11 16:43 David Seifert
2016-01-12 23:50 David Seifert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox