summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2023-07-26 23:09:16 -0400
committerMichael Orlitzky <mjo@gentoo.org>2023-07-26 23:36:32 -0400
commit982b872bba85553067ed601aaf8f553994811801 (patch)
tree3f00b01d62ea888f37f2bc00f6d21895bfe2ceb4
parentdev-python/pdm: Bump to 2.8.1 (diff)
downloadgentoo-982b872b.tar.gz
gentoo-982b872b.tar.bz2
gentoo-982b872b.zip
sci-mathematics/pari: add 2.15.4
I've dropped pari-2.9.4-ppc.patch from this version to see if it's still necessary, and to report the problem upstream if so. Closes: https://bugs.gentoo.org/891887 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
-rw-r--r--sci-mathematics/pari/Manifest1
-rw-r--r--sci-mathematics/pari/pari-2.15.4.ebuild132
2 files changed, 133 insertions, 0 deletions
diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest
index 1fbe614ae199..ca590e9f02fe 100644
--- a/sci-mathematics/pari/Manifest
+++ b/sci-mathematics/pari/Manifest
@@ -1 +1,2 @@
DIST pari-2.15.3.tar.gz 5178288 BLAKE2B d9cc11526360e9fc7688e0a3195a85302d6bf95039051c9419aa18c5bf91eff837d64d9acabb0a51a6e15a3614a5cab4acbf0a502dba5417982514f27721d47d SHA512 9e127850759bac0c0a9b32c6660a55018ec6c6781aaa14c42667f26655444f55c08e100fe186aec8ad1f574d883d76888b13fbafb65d1f4741e2018b78ff307b
+DIST pari-2.15.4.tar.gz 5183685 BLAKE2B 2e20b6dc073ce69bc098dd849e6ab43cb38b05d30ff5f72a31272cd24ef01aa515d4e2a4948264ca89169a6980cd9d76f86c7fbb9aad5be604680569950d9c25 SHA512 2b9f0c1fe7198406df8e6ceb3fcdc8bfb75f5c7ebfb963f023a1eebfff0bcc26e3b690941e188d6b9f8dfb6cddf4ce4c00f2cc320ebe47d42ae7596c774ed6cc
diff --git a/sci-mathematics/pari/pari-2.15.4.ebuild b/sci-mathematics/pari/pari-2.15.4.ebuild
new file mode 100644
index 000000000000..4869bbe3d995
--- /dev/null
+++ b/sci-mathematics/pari/pari-2.15.4.ebuild
@@ -0,0 +1,132 @@
+# 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 examples 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-fltk-detection.patch
+ "${FILESDIR}/${PN}"-2.11.2-no-automagic.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)
+
+ # 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.
+ # DLLDFLAGS, on the other hand, is used exactly like LDFLAGS would
+ # be in a less-weird build system.
+ LD="" DLLD="$(tc-getCC)" DLLDFLAGS="${LDFLAGS}" ./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* )
+
+ # Install examples to a junk location by default because "make
+ # install-nodata" includes the examples with it. Only if the user
+ # has USE=examples set do we provide the correct directory.
+ local exdir="${T}"
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ exdir="${ED}/usr/share/doc/${PF}/examples"
+ fi
+
+ # Use "true" in place of "strip" to sabotage the unconditional
+ # binary stripping.
+ emake DESTDIR="${D}" \
+ EXDIR="${exdir}" \
+ STRIP="true" \
+ install-nodata install-data
+ einstalldocs
+
+ if use doc; then
+ docompress -x "/usr/share/doc/${PF}"
+ emake \
+ DESTDIR="${D}" \
+ DOCDIR="${ED}/usr/share/doc/${PF}" \
+ install-docpdf install-doctex
+ fi
+}