diff options
Diffstat (limited to 'sci-mathematics/pari')
-rw-r--r-- | sci-mathematics/pari/Manifest | 2 | ||||
-rw-r--r-- | sci-mathematics/pari/pari-2.13.4.ebuild | 121 |
2 files changed, 123 insertions, 0 deletions
diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest index 96558fa174ff..aed51250bfd8 100644 --- a/sci-mathematics/pari/Manifest +++ b/sci-mathematics/pari/Manifest @@ -5,5 +5,7 @@ AUX pari-2.9.4-fltk-detection.patch 572 BLAKE2B 1c2e1fa6e52521c7865c3fd011824c83 AUX pari-2.9.4-ppc.patch 363 BLAKE2B 135e76972e4121362666a25e3da236c4a5b7cffa058bbc25b59ca19ea20ccb0665327f70701adca5239cb936d513976e3ba7b5cda915a3f77c7b2eb28e75eaa0 SHA512 aaf5960010e56722f11234079a20ee7a7f8819dc084e1f6567fd11ad2820e3ae47617608f312941c2f373b5312a8c09c9cd51bfa44e263ffe1e8062c9fd9877d AUX pari-2.9.4-strip.patch 323 BLAKE2B 85a2b56f5501b4dafc0bffe48249c1662d6f96e81f8e8260ad52ecf84f053efef2ee6d6be6a6fda47886c372eb338d8bbf4443910df79a0d4e168b2666228c37 SHA512 50624ead82da41819ccfadfbdb746fb6ff414196ae2576c5d6a86e83c67355740b0e6e901a2860cab202db15adb1b00e346aabba338ab303230bc6aee8d33076 DIST pari-2.13.3.tar.gz 4768312 BLAKE2B e6df23d3929ef1549009eb82c628cc2b9f1f3a446b2c2b246e157b93859006c3f4526c6fef4b975be87b9c6c011e179c169b4f237981c2ca1e02df0adbc4c00a SHA512 16cc20e44bc9b408798a86ffc31f8096e5adc01e0b8f7620e3d03201d71ddbe1d1bfecb22ab69c5b03270e9e97657042de29bb2055173b0d4cf169ec4373972b +DIST pari-2.13.4.tar.gz 4772735 BLAKE2B 5a3eebd380f1e47f38746b03ddde9a715ed74e7e8e4ed30ef8f2d62cf7289694b800fc8396557150ce9d79245c244fb56cecddac867c6057b438da4df68505e6 SHA512 0eb8c0100d76fb8f29fd29e6a49e9534b9a4d90e1869820dbfddd57fe444f0e83909947331823157a67be31f71a5d26fa1224f72ce3f9e5197db0194c417b9b9 EBUILD pari-2.13.3.ebuild 3420 BLAKE2B 5c30dcb0cc91164956ce0ba5425d591dccbfda71b45991f3620129400a4924934ce857a0bd6758b10a0677ff560ef0295fba04ac3e2536897278ea9a9dec6cc3 SHA512 c18904b5fc26f7d32e8dbc8360f1daeebf2f16ff24760037780512bb85c3470df540d1f56a0b777cf71fa825c2058a8153e3fb5af50c586357fcffa0ee012535 +EBUILD pari-2.13.4.ebuild 3424 BLAKE2B 36ae63d5c05de92b91df55ccac68b205061828de8198ad64530c1d9193a78b89a9d9740d8f709e3cc9e39bb11015edf257134f878323e208ed1e68ae917750b6 SHA512 e8475e888ceb29c08ec17aaebcc615ceffbccd3ade0f95fec17c5c1703167bad46c24576b4b05bf859f99d5b6cbff7b089c972b72f111cdaa82bf98cc78fd785 MISC metadata.xml 1765 BLAKE2B 5d45009ff34f4d7780e70d2cdd94a5c60ebef674c235ba84d0989485dec62e83d15b9be7cbcbd583bf258fc936c5aff3d610ca8ea682323b07430fc2e71ee225 SHA512 32f560edbcfcf283b7f6a907277c584e5e9a33044b334e66818bc3529fb49a8709888aa27332da3f46e8c80971711403f333de3616132a47c34b9a1413237772 diff --git a/sci-mathematics/pari/pari-2.13.4.ebuild b/sci-mathematics/pari/pari-2.13.4.ebuild new file mode 100644 index 000000000000..59258dadea5d --- /dev/null +++ b/sci-mathematics/pari/pari-2.13.4.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2022 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/7" +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 +) + +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 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 to "" so that it is set to the value of the compiler used + # which is how a normal end user is expected to configure it. pari's build + # system do not cope very well with a naked linker, it is expecting a + # compiler driver. See https://bugs.gentoo.org/722090 + LD="" ./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 +} |