diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2019-12-28 08:22:33 -0500 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2019-12-28 08:57:35 -0500 |
commit | e3fd7bb8cfe64cd5b92cbf5d758ffb8aeddf8f8e (patch) | |
tree | 3aa59debd0d7a0235b685f350c7525c9c9844498 /sci-mathematics/pari | |
parent | sci-biology/embassy-phylipnew: Change LICENSE to "free-noncomm". (diff) | |
download | gentoo-e3fd7bb8cfe64cd5b92cbf5d758ffb8aeddf8f8e.tar.gz gentoo-e3fd7bb8cfe64cd5b92cbf5d758ffb8aeddf8f8e.tar.bz2 gentoo-e3fd7bb8cfe64cd5b92cbf5d758ffb8aeddf8f8e.zip |
sci-mathematics/pari: new version 2.11.2.
This new version was imported from the sage-on-gentoo overlay where
François Bissey has been maintaining it for use with SageMath. I've
made a few changes:
* Moved the virtual/latex-base dependency into BDEPEND, because
those tools are run on the build host to create the documentation.
* Used the existing patches (with different names) where possible.
* Edited pari-2.10-no-automagic.patch to not mess with PLOTLIBS
when USE=fltk is set. My build was failing because this patch
resulted in -lstdc++ being stripped from the linker flags.
* Dropped empty variable "${mymake}" in a few places.
* Enabled the full test suite, which passes for me if I lie to pari
about the number of columns my terminal has (???).
* Installed some extra documentation by setting DOCS and calling
the default implementation of src_install.
* Used "usex" instead of an "if" statement for a ./Configure flag.
* Changed "export CPLUSPLUS=$(tc-getCXX)" to "tc-export CXX". The
CPLUSPLUS variable doesn't appear anywhere in the source, so I
doubt this was doing anything. It may not even be necessary to
export CC/CXX any longer.
* Added RESTRICT="!test? ( test )" now that we run the test suite.
* Added myself and François as maintainers.
Closes: https://bugs.gentoo.org/703156
Package-Manager: Portage-2.3.79, Repoman-2.3.16
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/files/pari-2.11.2-Makefile-LDFLAGS.patch | 13 | ||||
-rw-r--r-- | sci-mathematics/pari/files/pari-2.11.2-Makefile-docinstall.patch | 25 | ||||
-rw-r--r-- | sci-mathematics/pari/files/pari-2.11.2-no-automagic.patch | 74 | ||||
-rw-r--r-- | sci-mathematics/pari/metadata.xml | 16 | ||||
-rw-r--r-- | sci-mathematics/pari/pari-2.11.2.ebuild | 111 |
6 files changed, 240 insertions, 0 deletions
diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest index 01bd0f5957d2..66779145ec1c 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.9.4.tar.gz 3851772 BLAKE2B 648e7fd14888bed2dfb7bbb9a25d097aa91899780da9734b444e29997916c27773109e735ecb2d3e9d164a596f3bb8da607d83f278e52d84c49a56df5c89b530 SHA512 539534496e9733bd905b6131374eef8019f93398423710d339bd3c01245e1af675a0a3f9489a05c3ceb2cf3b3426e6b1fb11ea4886b76a1b2e793b59f52e8787 diff --git a/sci-mathematics/pari/files/pari-2.11.2-Makefile-LDFLAGS.patch b/sci-mathematics/pari/files/pari-2.11.2-Makefile-LDFLAGS.patch new file mode 100644 index 000000000000..6d6e6726ddf7 --- /dev/null +++ b/sci-mathematics/pari/files/pari-2.11.2-Makefile-LDFLAGS.patch @@ -0,0 +1,13 @@ +diff --git a/config/Makefile.SH b/config/Makefile.SH +index 27c6d5b..43debb1 100644 +--- a/config/Makefile.SH ++++ b/config/Makefile.SH +@@ -185,7 +185,7 @@ LD = $LD \$(LD_FLAVOR) + LDFLAGS = $LDFLAGS + DLLD_FLAVOR = \$(LD_FLAVOR) + DLLD = $DLLD \$(DLLD_FLAVOR) +-DLLDFLAGS = $DLLDFLAGS ++DLLDFLAGS = $DLLDFLAGS \$(LDFLAGS) + EXTRADLLDFLAGS = $EXTRADLLDFLAGS + RUNTEST = $RUNTEST + diff --git a/sci-mathematics/pari/files/pari-2.11.2-Makefile-docinstall.patch b/sci-mathematics/pari/files/pari-2.11.2-Makefile-docinstall.patch new file mode 100644 index 000000000000..5f03d77d9e7c --- /dev/null +++ b/sci-mathematics/pari/files/pari-2.11.2-Makefile-docinstall.patch @@ -0,0 +1,25 @@ +diff --git a/config/Makefile.SH b/config/Makefile.SH +index 27c6d5b..43debb1 100644 +--- a/config/Makefile.SH ++++ b/config/Makefile.SH +@@ -366,9 +366,9 @@ clean: cleanall + .headers: $HEADERS + @touch \$@ + +-install-nodata: install-lib-$dft install-include install-bin install-man install-misc install-examples install-cfg ++install-nodata: install-lib-$dft install-include install-bin install-man install-misc install-cfg + +-install: install-doc install-nodata install-data ++install: install-nodata install-data + + install-include: + -mkdir -p \$(INCLUDEDIR)/pari +@@ -425,7 +425,7 @@ install-cfg:: + \$(INSTALL_DATA) $desc/PARI/822.pm \$(DATADIR)/PARI;\ + \$(INSTALL_DATA) $desc/\$(DESC) \$(DATADIR); fi + +-install-doc: install-docdvi install-doctex ++install-doc: install-docpdf install-doctex install-examples + + install-doctex: + -mkdir -p \$(BINDIR) \$(DOCDIR) diff --git a/sci-mathematics/pari/files/pari-2.11.2-no-automagic.patch b/sci-mathematics/pari/files/pari-2.11.2-no-automagic.patch new file mode 100644 index 000000000000..d4044cc426d8 --- /dev/null +++ b/sci-mathematics/pari/files/pari-2.11.2-no-automagic.patch @@ -0,0 +1,74 @@ +diff --git a/config/Makefile.SH b/config/Makefile.SH +index 6cf5e59ee..7487941f9 100644 +--- a/config/Makefile.SH ++++ b/config/Makefile.SH +@@ -74,12 +74,12 @@ case "$which_graphic_lib" in + ps|svg|none) + graph=plot$which_graphic_lib;; + Qt4) +- PLOTCFLAGS="\$(QTINC)" +- PLOTLIBS="\$(QTLIB) $QTLIBS" ++ PLOTCFLAGS="`pkg-config --cflags QtGui`" ++ PLOTLIBS="`pkg-config --libs QtGui`" + graph=plotQt4;; + fltk) +- PLOTCFLAGS= ++ PLOTCFLAGS="`fltk-config --cxxflags` $X11_INC" + PLOTLIBS="$FLTK_LIBS" + postconfig='fltk-config --post ' + graph=plotfltk;; + win32) +@@ -267,7 +267,7 @@ RLLIBS = $RLLIBS + # GMP + GMPINCLUDE = $GMPINCLUDE + # Graphic library. +-QTMOC = $QTMOC ++QTMOC = "`which moc`" + QTINC = $QTINC + QTLIB = $QTLIB + PLOTCFLAGS = $PLOTCFLAGS +diff --git a/config/get_config_options b/config/get_config_options +index 4078d2720..5c12bd491 100644 +--- a/config/get_config_options ++++ b/config/get_config_options +@@ -86,6 +86,7 @@ while test $# -gt 0; do + --with-ncurses-lib=*|--with-ncurses=*) + with_ncurses_lib=`echo "$1" | sed -e 's/[-a-z]*=//'` ;; + ++ --without-qt|--with-qt=no) without_qt=yes ;; + --with-qt) with_qt=yes ;; + --with-qt=*) + with_qt=`echo "$1" | sed -e 's/[-a-z]*=//'` ;; +@@ -94,6 +95,7 @@ while test $# -gt 0; do + --with-qt-include=*) + with_qt_include=`echo "$1" | sed -e 's/[-a-z]*=//'` ;; + ++ --without-fltk|--with-fltk=no) without_fltk=yes ;; + --with-fltk) with_fltk=yes ;; + --with-fltk=*) + with_fltk=`echo "$1" | sed -e 's/[-a-z]*=//'` ;; +@@ -172,10 +174,12 @@ Optional libraries: + --with-gmp-lib=DIR specify location of gmp libs + + --with-qt[=DIR] use the Qt graphical library [prefix for Qt dir.] ++ --without-qt do not try to use the Qt lib + --with-qt-include=DIR specify location of Qt headers + --with-qt-lib=DIR specify location of Qt libs + + --with-fltk use the FLTK graphical library [need fltk-config] ++ --without-fltk do not try to use the FLTK lib + + Miscellaneous + --with-runtime-perl[=path-to-perl-binary] for gphelp / tex2mail +diff --git a/config/get_graphic_lib b/config/get_graphic_lib +index 4591f2aad..4808aab90 100644 +--- a/config/get_graphic_lib ++++ b/config/get_graphic_lib +@@ -7,6 +7,7 @@ FLTK_LIBS QTDIR QTLIB" + + if test -n "$with_fltk"; then which_graphic_lib=fltk; fi + if test -n "$with_qt"; then which_graphic_lib=Qt; fi ++if test -n "$without_fltk" -a -n "$without_qt"; then which_graphic_lib=none; fi + if test "$fastread" != yes; then + cat << EOT + ========================================================================== diff --git a/sci-mathematics/pari/metadata.xml b/sci-mathematics/pari/metadata.xml index f4c3bc4e3381..d5bd7510bbd4 100644 --- a/sci-mathematics/pari/metadata.xml +++ b/sci-mathematics/pari/metadata.xml @@ -1,6 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> + <maintainer type="person"> + <email>mjo@gentoo.org</email> + </maintainer> + <!-- + mjo: François maintained this package in the sage-on-gentoo overlay + long before I moved it into ::gentoo. You don't need an ACK from me + to merge his changes. + --> + <maintainer type="person"> + <email>frp.bissey@gmail.com</email> + <name>François Bissey</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <maintainer type="project"> <email>sci-mathematics@gentoo.org</email> <name>Gentoo Mathematics Project</name> diff --git a/sci-mathematics/pari/pari-2.11.2.ebuild b/sci-mathematics/pari/pari-2.11.2.ebuild new file mode 100644 index 000000000000..4d53f82467fe --- /dev/null +++ b/sci-mathematics/pari/pari-2.11.2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2019 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="http://pari.math.u-bordeaux.fr/" +SRC_URI="http://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 + ) + +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 +} |