aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2017-01-09 02:34:56 +0000
committerStuart Shelton <stuart@shelton.me>2017-01-09 02:34:56 +0000
commit9666c1abfb6f65e63c51bd9407fae581c4a9eacf (patch)
treeb74471b4a047065c85ef4894e27c387b29dc29c4 /dev-perl
parentAdd x11-drivers/nvidia-drivers-340.101 (diff)
downloadsrcshelton-9666c1abfb6f65e63c51bd9407fae581c4a9eacf.tar.gz
srcshelton-9666c1abfb6f65e63c51bd9407fae581c4a9eacf.tar.bz2
srcshelton-9666c1abfb6f65e63c51bd9407fae581c4a9eacf.zip
Add dev-perl/Math-Pari-2.10.806.50-r1, update README.md
Diffstat (limited to 'dev-perl')
-rw-r--r--dev-perl/Math-Pari/Manifest3
-rw-r--r--dev-perl/Math-Pari/Math-Pari-2.10.806.50-r1.ebuild91
2 files changed, 94 insertions, 0 deletions
diff --git a/dev-perl/Math-Pari/Manifest b/dev-perl/Math-Pari/Manifest
new file mode 100644
index 00000000..fcb11d43
--- /dev/null
+++ b/dev-perl/Math-Pari/Manifest
@@ -0,0 +1,3 @@
+DIST Math-Pari-2.01080605.tar.gz 122627 SHA256 eed553dc838973566c23b77cc30c9130802ba502e6a33969e25183bc5831ca46 SHA512 a92ff01afce8d52c5d7c4fec1a5759b5d7b786c8f359348ac8f4e7fc95be9338b990879d4d89598dc5333f79c53a92e54f6756d0e6c9a0e9e72a4dfd15b0b263 WHIRLPOOL 7e8ecc1329750019a65819af07fe3170af511a90fcae17464163bac4654d475048ad423b1f37f06d4e11e5ff1a7b803c9fe4e298ba1b39a46700efb3609385d6
+DIST pari-2.3.5.tar.gz 2018097 SHA256 47ddae1af73b4476660d2a89338483949067a97ffb8758c82e8189dfa4c89d88 SHA512 0e49e6310b4c76ef3370786a13aa8cbc5bb0b7dc84ec1665866d623e6284f45db8584eea759e8b5954dc9b5c8a3e866e77a377d18073ed33f11708a7e88a4cca WHIRLPOOL 1d7f3fcfb5c4b44479ea7494536bcb7c971df721a23bca9f7bdee878cc91c5beec5353920d352142534e89bb0158bfd8ad9a431a22c90fc577676e3f8ceb8b9b
+EBUILD Math-Pari-2.10.806.50-r1.ebuild 3300 SHA256 a03b97d23c73a027e0a08b1e454fe9803086a74ef13ed2e647cdcbe6a541fdc1 SHA512 350a5b9827cb929e3f4bad49c4cc48062c59043bf781b608c450d6a0c19aeec33ada4323dfb63c3e50e5865f8a6247bdc57ffe802834a6ffbcce488c7483f0a9 WHIRLPOOL bc54f981862830c297cc4bbdc68add78289f6c349a937519b1568c97eece07f6726cfe94df7280df0fe1214bc6d87ff1028b756c26f35a4f17d4662bd60ac0a9
diff --git a/dev-perl/Math-Pari/Math-Pari-2.10.806.50-r1.ebuild b/dev-perl/Math-Pari/Math-Pari-2.10.806.50-r1.ebuild
new file mode 100644
index 00000000..51b8db47
--- /dev/null
+++ b/dev-perl/Math-Pari/Math-Pari-2.10.806.50-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id: 7d9cf2e5a9b94508d42788940252cc12f10b3493 $
+
+EAPI=5
+
+MODULE_AUTHOR=ILYAZ
+MODULE_SECTION=modules
+MODULE_VERSION=2.01080605
+inherit perl-module toolchain-funcs
+
+PARI_VER=2.3.5
+
+DESCRIPTION="Perl interface to PARI"
+SRC_URI="${SRC_URI}
+ http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-${PARI_VER}.tar.gz"
+
+LICENSE="|| ( Artistic GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ~mips ppc sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="abi_x86_x32 elibc_glibc"
+
+# Math::Pari requires that a copy of the pari source in a parallel
+# directory to where you build it. It does not need to compile it, but
+# it does need to be the same version as is installed, hence the hard
+# DEPEND below
+RDEPEND="~sci-mathematics/pari-${PARI_VER}"
+DEPEND="${RDEPEND}
+ elibc_glibc? ( sys-apps/util-linux )"
+
+S_PARI=${WORKDIR}/pari-${PARI_VER}
+SRC_TEST=do
+
+src_prepare() {
+ # On 64-bit hardware, these files are needed in both the 64/ and 32/
+ # directories for the testsuite to pass.
+ cd "${S_PARI}"/src/test/
+ for t in analyz compat ellglobalred elliptic galois graph intnum kernel \
+ linear nfields number objets ploth polyser program qfbsolve rfrac \
+ round4 stark sumiter trans ; do
+ i="in/${t}"
+ o32="32/${t}"
+ o64="64/${t}"
+ [ -f "$i" -a ! -f "$o32" ] && cp -al "$i" "$o32"
+ [ -f "$i" -a ! -f "$o64" ] && cp -al "$i" "$o64"
+ done
+ perl-module_src_prepare
+}
+
+src_configure() {
+ # Unfortunately the assembly routines math-pari has for SPARC do not appear
+ # to be working at current. Perl cannot test math-pari or anything that
+ # pulls in the math-pari module as DynaLoader cannot load the resulting
+ # .so files math-pari generates. As such, we have to use the generic
+ # non-machine specific assembly methods here.
+ use sparc && myconf="${myconf} machine=none"
+
+ # This is a horrible, horrible hack - but on systems where the word-length
+ # of the kernel differs from that of userland, math-pari goes with the
+ # kernel size and then breaks :(
+ # This affects x32 systems and systems with a 64-bit kernel running a
+ # 32-bit userland. It like affects other architectures (primarily MIPS?)
+ # also, but this fix deals only with the Intel case.
+ # We're limited in what we can do here, because 'perl-module_src_configure'
+ # is a shell-function inherited from the 'perl-module' eclass, and we don't
+ # want to freeze-and-import a whole chunk of this script just to ensure
+ # that the configure stage detects the correct architecture. Instead, we
+ # cunningly define and export a shell-function named 'perl' which is called
+ # in place of the perl binary and which itself invokes the perl binary,
+ # but in the correct context. We then remove this ASAP since, let's face
+ # it, this is bound to be hugely fragile...
+ if use elibc_glibc; then
+ if use abi_x86_x32 || [[ "$( uname -m )" == "x86_64" && "$( getconf LONG_BIT )" != "64" ]]; then
+ export real_perl_path="$( type -pf perl 2>/dev/null )"
+ if [[ -x "${real_perl_path}" ]]; then
+ function perl() {
+ linux32 "${real_perl_path}" "${@}"
+ }
+ export -f perl
+ fi
+ fi
+ fi
+
+ perl-module_src_configure
+
+ unset perl real_perl_path
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" OTHERLDFLAGS="${LDFLAGS}"
+}