commit:     15f489e9fbc977dc72d9bdcabc8b19dce3e2aabf
Author:     François Bissey <frp.bissey <AT> gmail <DOT> com>
AuthorDate: Wed Apr  8 04:19:36 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Apr 17 07:35:53 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15f489e9

sci-mathematics/pari: new release + upstream patch

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: François René Pierre Bissey <frp.bissey <AT> gmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 sci-mathematics/pari/Manifest                      |   1 +
 .../files/pari-2.11.3-incorrect_bnfisunit.patch    |  49 +++++++++
 sci-mathematics/pari/pari-2.11.3.ebuild            | 112 +++++++++++++++++++++
 3 files changed, 162 insertions(+)

diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest
index c679cd11326..dc1b0ad1731 100644
--- a/sci-mathematics/pari/Manifest
+++ b/sci-mathematics/pari/Manifest
@@ -1 +1,2 @@
 DIST pari-2.11.2.tar.gz 4433038 BLAKE2B 
89fd8c14d6ee8c8640432bec75e10b79897f0180212dcb1b04b654478a3258fc13a7f982bcb400e28997934a21667c0c3cb08fdb2e843a80a24c6499feafb639
 SHA512 
22f5a6ecad6d9b8b337c2655f538a196a0460f6fe98256d0f49557ce7b843f6b27ad364f45a9472aaafee9506386c886f1f0d62697078e501ec465151d4d10a1
+DIST pari-2.11.3.tar.gz 4441199 BLAKE2B 
49b001f2dc27d1be7a742c165881f2b21d55cf387a91d880bd3a16cbc5d69172f931caa779c5ccbe79b6855175695b5e88ff99b420b4f2b7404dd5e4a53a135c
 SHA512 
2624cdd0523ec02324f58af65703003c88ab596bcaa30c366a9ea01123b0ae657285b10016abaa06b6783ba34dd4980f560900b836b8df228b9dbe0ca36a5b11

diff --git a/sci-mathematics/pari/files/pari-2.11.3-incorrect_bnfisunit.patch 
b/sci-mathematics/pari/files/pari-2.11.3-incorrect_bnfisunit.patch
new file mode 100644
index 00000000000..877cc6ace75
--- /dev/null
+++ b/sci-mathematics/pari/files/pari-2.11.3-incorrect_bnfisunit.patch
@@ -0,0 +1,49 @@
+From: Karim Belabas <karim.bela...@math.u-bordeaux1.fr>
+Date: Mon, 9 Sep 2019 15:20:21 +0000 (+0200)
+Subject: fix #2164
+X-Git-Url: 
https://pari.math.u-bordeaux.fr/cgi-bin/gitweb.cgi?p=pari.git;a=commitdiff_plain;h=c7a1d35f382e96ddf14694be27a0ca5746880700
+
+fix #2164
+---
+
+diff --git a/src/basemath/buch2.c b/src/basemath/buch2.c
+index a853d3c48..e31b2278b 100644
+--- a/src/basemath/buch2.c
++++ b/src/basemath/buch2.c
+@@ -2136,7 +2136,8 @@ bnfisunit(GEN bnf,GEN x)
+   for (i = 1; i < RU; i++)
+     if (gexpo(gel(emb,i)) > -1) break;
+   p1 = imag_i( row_i(logunit,i, 1,RU-1) );
+-  p1 = RgV_dotproduct(p1, ex); if (!R1) p1 = gmul2n(p1, -1);
++  p1 = RgV_dotproduct(p1, ex);
++  if (i > R1) p1 = gmul2n(p1, -1);
+   p1 = gsub(garg(gel(emb,i),prec), p1);
+   /* p1 = arg(the missing root of 1) */
+ 
+diff --git a/src/test/32/nf b/src/test/32/nf
+index 16bf83ce3..e6c41f8b5 100644
+--- a/src/test/32/nf
++++ b/src/test/32/nf
+@@ -502,6 +502,7 @@ Mod(1/2*x - 1/2, x^2 + 23)
+ [1, 1/2*x - 1/2]
+ Mod(0, x)
+ Mod(-6/5, x)
++[0, 2, Mod(0, 2)]~
+   ***   at top-level: nfinit([y^3+2,[1,x]])
+   ***                 ^---------------------
+   *** nfinit: incorrect type in nfinit_basic (t_VEC).
+diff --git a/src/test/in/nf b/src/test/in/nf
+index 49148123b..94d5165bc 100644
+--- a/src/test/in/nf
++++ b/src/test/in/nf
+@@ -156,6 +156,10 @@ K.zk
+ nfinit(x, 3)[2]
+ nfinit(1/2*x + 3/5, 3)[2]
+ 
++\\ #2164
++bnf = bnfinit(y^4-y-1);
++bnfisunit(bnf,-y^3+2*y^2-1)
++
+ \\ ERRORS: keep at end of file
+ 
+ nfinit([y^3+2,[1,x]])

diff --git a/sci-mathematics/pari/pari-2.11.3.ebuild 
b/sci-mathematics/pari/pari-2.11.3.ebuild
new file mode 100644
index 00000000000..7f3a302bbe4
--- /dev/null
+++ b/sci-mathematics/pari/pari-2.11.3.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Computer-aided number theory C library and tools"
+HOMEPAGE="https://pari.math.u-bordeaux.fr/";
+SRC_URI="https://pari.math.u-bordeaux.fr/pub/${PN}/unix/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0/6"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux 
~x86-linux ~x86-macos ~x86-solaris"
+IUSE="data doc fltk gmp test threads X"
+RESTRICT="!test? ( test )"
+
+BDEPEND="doc? ( virtual/latex-base )"
+DEPEND="
+       sys-libs/readline:0=
+       data? ( sci-mathematics/pari-data )
+       doc? ( X? ( x11-misc/xdg-utils ) )
+       fltk? ( x11-libs/fltk:1= )
+       gmp? ( dev-libs/gmp:0= )
+       X? ( x11-libs/libX11:0= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}"-2.9.4-strip.patch
+       "${FILESDIR}/${PN}"-2.9.4-ppc.patch
+       "${FILESDIR}/${PN}"-2.11.2-no-automagic.patch
+       "${FILESDIR}/${PN}"-2.9.4-fltk-detection.patch
+       "${FILESDIR}/${PN}"-2.11.2-Makefile-LDFLAGS.patch
+       "${FILESDIR}/${PN}"-2.11.2-Makefile-docinstall.patch
+       "${FILESDIR}/${PN}"-2.11.3-incorrect_bnfisunit.patch
+)
+
+src_prepare() {
+       default
+
+       # move doc dir to a gentoo doc dir and replace acroread by xdg-open
+       sed -i \
+               -e "s:\$d = \$0:\$d = '${EPREFIX}/usr/share/doc/${PF}':" \
+               -e 's:"acroread":"xdg-open":' \
+               doc/gphelp.in || die "Failed to fix doc dir"
+}
+
+src_configure() {
+       tc-export CC CXX
+
+       # Workaraound to "asm operand has impossible constraints" as
+       # suggested in bug #499996.
+       use x86 && append-cflags $(test-flags-CC -fno-stack-check)
+
+       # need to force optimization here, as it breaks without
+       if is-flag -O0; then
+               replace-flags -O0 -O2
+       elif ! is-flag -O?; then
+               append-flags -O2
+       fi
+
+       # sysdatadir installs a pari.cfg stuff which is informative only.
+       # It is supposed to be for "architecture-dependent" data.
+       # It needs to be easily discoverable for downstream packages such as 
gp2c.
+       ./Configure \
+               --prefix="${EPREFIX}"/usr \
+               --datadir="${EPREFIX}/usr/share/${PN}" \
+               --libdir="${EPREFIX}/usr/$(get_libdir)" \
+               --sysdatadir="${EPREFIX}"/usr/share/pari \
+               --mandir="${EPREFIX}"/usr/share/man/man1 \
+               --with-readline="${EPREFIX}"/usr \
+               --with-readline-lib="${EPREFIX}/usr/$(get_libdir)" \
+               --with-ncurses-lib="${EPREFIX}/usr/$(get_libdir)" \
+               $(use_with fltk) \
+               $(use_with gmp) \
+               --without-qt \
+               $(usex threads "--mt=pthread" "" "" "") \
+               || die "./Configure failed"
+}
+
+src_compile() {
+       local mymake=""
+       use hppa && \
+               mymake=DLLD\="${EPREFIX}"/usr/bin/gcc\ DLLDFLAGS\=-shared\ 
-Wl,-soname=\$\(LIBPARI_SONAME\)\ -lm
+
+       emake ${mymake} gp
+
+       if use doc; then
+               # To prevent sandbox violations by metafont
+               VARTEXFONTS="${T}/fonts" emake docpdf
+       fi
+}
+
+src_test() {
+       # Welcome to the jungle, where the tests fail if you make your
+       # terminal bigger.
+       emake COLUMNS=80 test-all
+}
+
+src_install() {
+       DOCS=( AUTHORS CHANGES* COMPAT NEW README* )
+       default
+
+       if use doc; then
+               docompress -x "/usr/share/doc/${PF}"
+               emake \
+                       DESTDIR="${D}" \
+                       EXDIR="${ED}/usr/share/doc/${PF}/examples" \
+                       DOCDIR="${ED}/usr/share/doc/${PF}" \
+                       install-doc
+       fi
+}

Reply via email to