[gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/

2021-05-18 Thread Andrew Savchenko
commit: fcbf9252166ef3f04d46343fb5886aa7e91a58ea
Author: Andrew Savchenko  gentoo  org>
AuthorDate: Tue May 18 21:58:26 2021 +
Commit: Andrew Savchenko  gentoo  org>
CommitDate: Tue May 18 22:02:47 2021 +
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  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 000..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.0 +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.0 +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.0 +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.0 +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.0 +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.0 +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;
+ 

[gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/

2017-03-11 Thread David Seifert
commit: 517686ae1b6c4e1f5190c2709380207cc8eb64a4
Author: David Seifert  gentoo  org>
AuthorDate: Sat Mar 11 16:34:52 2017 +
Commit: David Seifert  gentoo  org>
CommitDate: Sat Mar 11 16:43:08 2017 +
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 000..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 

[gentoo-commits] repo/gentoo:master commit in: sci-mathematics/prng/files/, sci-mathematics/prng/

2016-01-12 Thread David Seifert
commit: 7697105a937fb3043f146d15b1e4a8a8679eaf0b
Author: David Seifert  gentoo  org>
AuthorDate: Tue Jan 12 23:49:20 2016 +
Commit: David Seifert  gentoo  org>
CommitDate: Tue Jan 12 23:50:37 2016 +
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.0 
+0100
 +++ prng-3.0.2/examples/Makefile.am2010-10-16 18:48:08.0 +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 000..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
+}