diff options
author | François Bissey <frp.bissey@gmail.com> | 2023-01-15 14:21:24 +1300 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2023-01-16 11:40:51 -0500 |
commit | d4b6f83e21e7151ac0471d8c7b62c973928e6d08 (patch) | |
tree | ce4c5771bd11142687f9b1ab667dd5c6a0b65bd4 /sci-mathematics | |
parent | sys-apps/ed: workaround unpacker.eclass/Portage dep resolution bug (diff) | |
download | gentoo-d4b6f83e21e7151ac0471d8c7b62c973928e6d08.tar.gz gentoo-d4b6f83e21e7151ac0471d8c7b62c973928e6d08.tar.bz2 gentoo-d4b6f83e21e7151ac0471d8c7b62c973928e6d08.zip |
sci-mathematics/pari: add 2.15.2
Closes: https://github.com/gentoo/gentoo/pull/29112
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Signed-off-by: François Bissey <frp.bissey@gmail.com>
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/pari/Manifest | 1 | ||||
-rw-r--r-- | sci-mathematics/pari/files/pari-2.15.2-ellsea.patch | 22 | ||||
-rw-r--r-- | sci-mathematics/pari/pari-2.15.2.ebuild | 127 |
3 files changed, 150 insertions, 0 deletions
diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest index df9fca51a90a..d9cc0ed7c828 100644 --- a/sci-mathematics/pari/Manifest +++ b/sci-mathematics/pari/Manifest @@ -1,2 +1,3 @@ DIST pari-2.13.4.tar.gz 4772735 BLAKE2B 5a3eebd380f1e47f38746b03ddde9a715ed74e7e8e4ed30ef8f2d62cf7289694b800fc8396557150ce9d79245c244fb56cecddac867c6057b438da4df68505e6 SHA512 0eb8c0100d76fb8f29fd29e6a49e9534b9a4d90e1869820dbfddd57fe444f0e83909947331823157a67be31f71a5d26fa1224f72ce3f9e5197db0194c417b9b9 DIST pari-2.15.1.tar.gz 5175706 BLAKE2B abc04a8bd75f756ad62937941c3b88f910bf57d58e7c4eda20649292ce5ba390688abe463d27cb22af0aee0249967e67a6f929beb9ef328d00d05648af5bf72e SHA512 8f536c1cabff3a082f67febd00240506eef5288c7e85c97d23018e8cdd01109dfb8ebe2fa71dc0e929c55ca00f31349fd145030689c988289201de2ddbcf0a5c +DIST pari-2.15.2.tar.gz 5176694 BLAKE2B b3aa021cb0b786dfde691b150d38c0ee9e9844ff5d2554d7a4f0cd85b27c8077696433b14c0b2128930b7db2191e7db99bdebc200e03607554cc4a9394ea42a4 SHA512 fa9e8713484ab5d659dcf7cf65de0fbaf28334969f443bfaffb8fc19c2305631435fc5635e090cbd8033758ea18200a62c47e8434067af9a86565832e96d489c diff --git a/sci-mathematics/pari/files/pari-2.15.2-ellsea.patch b/sci-mathematics/pari/files/pari-2.15.2-ellsea.patch new file mode 100644 index 000000000000..a5c19504ea87 --- /dev/null +++ b/sci-mathematics/pari/files/pari-2.15.2-ellsea.patch @@ -0,0 +1,22 @@ +# upstream bug https://pari.math.u-bordeaux.fr/cgi-bin/bugreport.cgi?bug=2441 +# will be fixed in 2.15.3 +diff --git a/src/basemath/ellsea.c b/src/basemath/ellsea.c +index a6871fa6a7..f1e725ea55 100644 +--- a/src/basemath/ellsea.c ++++ b/src/basemath/ellsea.c +@@ -1303,6 +1303,7 @@ find_trace_Elkies_power(GEN a4, GEN a6, ulong ell, long *pt_k, struct meqn *MEQN + lambda = tr ? find_eigen_value_oneroot(a4, a6, ell, tr, kpoly, T, p): + find_eigen_value_power(a4, a6, ell, 1, 1, kpoly, T, p); + if (DEBUGLEVEL>1) err_printf(" [%ld ms]", timer_delay(ti)); ++ if (lambda==ell) return NULL; + if (smallfact && smallfact%(long)ell!=0) + { + ulong pell = pellk%ell; +@@ -1317,6 +1318,7 @@ find_trace_Elkies_power(GEN a4, GEN a6, ulong ell, long *pt_k, struct meqn *MEQN + if (!tmp) { k = cnt-1; break; } + if (DEBUGLEVEL) err_printf(", %Ps", powuu(ell, cnt)); + lambda = find_eigen_value_power(a4, a6, ell, cnt, lambda, gel(tmp,3), T, p); ++ if (lambda == upowuu(ell, cnt)) { k = cnt-1; break; } + Eba4 = Eca4; + Eba6 = Eca6; + Eca4 = gel(tmp,1); diff --git a/sci-mathematics/pari/pari-2.15.2.ebuild b/sci-mathematics/pari/pari-2.15.2.ebuild new file mode 100644 index 000000000000..e677ee6a41a1 --- /dev/null +++ b/sci-mathematics/pari/pari-2.15.2.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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" + +# The subslot is the value of $soname_num obtained from +# upstream's config/version script. +SLOT="0/8" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="data doc fltk gmp test threads X" +RESTRICT="!test? ( test )" + +BDEPEND=" + virtual/pkgconfig + 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.15.2-ellsea.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" + + # These tests fail when LaTeX is not installed (which we don't + # require without USE=doc), most likely due to output formatting + # issues but I haven't deleted my LaTeX installation to check. + # There's no real upstream support for enabling/disabling the LaTeX + # docs, so this is probably the correctest way to skip these tests. + if ! use doc; then + rm src/test/{in,32}/help || die + fi +} + +src_configure() { + tc-export CC CXX PKG_CONFIG + + # 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. + # We set LD="" and DLLD="$CC" so that the "shared library linker" + # always gets set to the value of the compiler used. Pari's build + # system does not cope very well with a naked linker, it is + # expecting a compiler driver. See bugs 722090 and 871117. + LD="" DLLD="$(tc-getCC)" ./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() { + emake 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 +} |