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>
This commit is contained in:
Michael Orlitzky
2019-12-28 08:57:35 -05:00
parent 3756b8c634
commit e3fd7bb8cf
6 changed files with 240 additions and 0 deletions
+1
View File
@@ -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
@@ -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
@@ -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)
@@ -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
==========================================================================
+16
View File
@@ -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>
+111
View File
@@ -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
}