commit:     e3fd7bb8cfe64cd5b92cbf5d758ffb8aeddf8f8e
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 28 13:22:33 2019 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Sat Dec 28 13:57:35 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3fd7bb8

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 <AT> gentoo.org>

 sci-mathematics/pari/Manifest                      |   1 +
 .../pari/files/pari-2.11.2-Makefile-LDFLAGS.patch  |  13 +++
 .../files/pari-2.11.2-Makefile-docinstall.patch    |  25 +++++
 .../pari/files/pari-2.11.2-no-automagic.patch      |  74 ++++++++++++++
 sci-mathematics/pari/metadata.xml                  |  16 +++
 sci-mathematics/pari/pari-2.11.2.ebuild            | 111 +++++++++++++++++++++
 6 files changed, 240 insertions(+)

diff --git a/sci-mathematics/pari/Manifest b/sci-mathematics/pari/Manifest
index 01bd0f5957d..66779145ec1 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 00000000000..6d6e6726ddf
--- /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 00000000000..5f03d77d9e7
--- /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 00000000000..d4044cc426d
--- /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 f4c3bc4e338..d5bd7510bbd 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>m...@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.bis...@gmail.com</email>
+    <name>François Bissey</name>
+  </maintainer>
+  <maintainer type="project">
+    <email>proxy-ma...@gentoo.org</email>
+    <name>Proxy Maintainers</name>
+  </maintainer>
   <maintainer type="project">
     <email>sci-mathemat...@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 00000000000..4d53f82467f
--- /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
+}

Reply via email to