diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2024-03-12 12:06:44 -0400 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2024-03-12 14:39:57 -0400 |
commit | af573170eb7607085446887877552fd5de0f76d9 (patch) | |
tree | 582b5b266f6756aac11a345a8671f194602d4140 /sci-mathematics/pari | |
parent | sys-kernel/gentoo-sources: drop 6.7.6 (diff) | |
download | gentoo-af573170eb7607085446887877552fd5de0f76d9.tar.gz gentoo-af573170eb7607085446887877552fd5de0f76d9.tar.bz2 gentoo-af573170eb7607085446887877552fd5de0f76d9.zip |
sci-mathematics/pari: add 2.15.5
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics/pari')
-rw-r--r-- | sci-mathematics/pari/Manifest | 1 | ||||
-rw-r--r-- | sci-mathematics/pari/pari-2.15.5.ebuild | 137 |
2 files changed, 138 insertions, 0 deletions
diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest index c96e983220ff..ec03f2e00668 100644 --- a/sci-mathematics/pari/Manifest +++ b/sci-mathematics/pari/Manifest @@ -1 +1,2 @@ DIST pari-2.15.4.tar.gz 5183685 BLAKE2B 2e20b6dc073ce69bc098dd849e6ab43cb38b05d30ff5f72a31272cd24ef01aa515d4e2a4948264ca89169a6980cd9d76f86c7fbb9aad5be604680569950d9c25 SHA512 2b9f0c1fe7198406df8e6ceb3fcdc8bfb75f5c7ebfb963f023a1eebfff0bcc26e3b690941e188d6b9f8dfb6cddf4ce4c00f2cc320ebe47d42ae7596c774ed6cc +DIST pari-2.15.5.tar.gz 5186798 BLAKE2B b253c6d8ad38462e81852d7bb364d06a7cbaae7b085672653da8d9f91f0173cfdef8f537ebc7313b6484f610d43e10fb0547f5d920789b95c8d0027dd52e8312 SHA512 59b2ebed43176f1ee750146053644bffbf673b4b4810134bc39132665941152772afb7a9332b842fc64e5ab8d5747a872c1b8ff327d3bd5eedaa1591691fff13 diff --git a/sci-mathematics/pari/pari-2.15.5.ebuild b/sci-mathematics/pari/pari-2.15.5.ebuild new file mode 100644 index 000000000000..6c8fe6f9b29e --- /dev/null +++ b/sci-mathematics/pari/pari-2.15.5.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2024 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" + +# Their LICENSE file says "or (at your option) any later version" +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" +REQUIRED_USE="fltk? ( !X )" # mutually exclusive plot implementations +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}" + +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. + # + # There's a lot of automagic involved in the graphics detection. We + # first pass --graphic=none, which disables some of it. We then pass + # --graphic=fltk (or --graphic=X11) only if USE=fltk (or USE=X) is + # set. This is a stronger hint to the build system than --with-fltk + # would be, and importantly does not rely on the corresponding but + # nonexistent(!) option option for X11. + 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)" \ + --graphic=none \ + $(usex X --graphic=X11 "" "" "") \ + $(usex fltk --graphic=fltk "" "" "") \ + $(use_with gmp) \ + $(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 +} |