summaryrefslogtreecommitdiff
path: root/dev-perl/Math-Pari
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-perl/Math-Pari
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'dev-perl/Math-Pari')
-rw-r--r--dev-perl/Math-Pari/Manifest4
-rw-r--r--dev-perl/Math-Pari/Math-Pari-2.10.809.0-r2.ebuild80
-rw-r--r--dev-perl/Math-Pari/Math-Pari-2.30.523.ebuild76
-rw-r--r--dev-perl/Math-Pari/Math-Pari-2.30.528.ebuild81
-rw-r--r--dev-perl/Math-Pari/files/Math-Pari-2.10.809.0-no-dot-inc.patch31
-rw-r--r--dev-perl/Math-Pari/files/no-flto.patch74
-rw-r--r--dev-perl/Math-Pari/files/pari-2.3.5-no-dot-inc.patch61
-rw-r--r--dev-perl/Math-Pari/metadata.xml9
8 files changed, 416 insertions, 0 deletions
diff --git a/dev-perl/Math-Pari/Manifest b/dev-perl/Math-Pari/Manifest
new file mode 100644
index 000000000000..b28ec7de4657
--- /dev/null
+++ b/dev-perl/Math-Pari/Manifest
@@ -0,0 +1,4 @@
+DIST Math-Pari-2.01080900.zip 166396 BLAKE2B e4327d817cadc752e3471df873b1a4f2fe90efc18a9cbf195c6aa394f470fde9c1c32449b8e5237b5ee362ca0497e7295dc9c8dea7f41de8da17518a0573a768 SHA512 844324472632081e16d8c70e2f3b14a04cc125dc65ac1e4e75b495f7b83393cadc637c6b81d2e6657380b153a6d91eba4a437087481ffbd4c6c58c5da0e4d05b
+DIST Math-Pari-2.030523.tar.gz 230001 BLAKE2B bc4981655308610ae870b55adff811d573dcdab5675e3c3134fc75f6acf22aed83b60b3bcd5a76e2ba0aa39c72420a73c369e51236c0ef9fd64f0c12003cd854 SHA512 4f75a745111eed1c326270fc4cff5f7785fd353ffbbaf21a33215974671cdb2a4ff8d397a2df41b24002312a43993114a3620f5b6ed7eb6d4bdae9c4f62d671c
+DIST Math-Pari-2.030528.tar.gz 234042 BLAKE2B 9f897484f143214c86a7dd16b926996ca9cf9c7fd59216c427b964c9b0ba058364af2b4c48d4fbcf8f300e47608282ada86b6631c1968a6629812c725379d01d SHA512 a07e3b907f3cbb9b82f6bacfbdae8813a2a9f2eb89d571bd37b67528c01b16d92156b06412d12ad7007c568a921deca70a8e7092a5e7c5403985df620048bd34
+DIST pari-2.3.5.tar.gz 2018097 BLAKE2B b5f4f8bc83cd77aceab791263e1a2f0294d0663d354fea454bad8cac3cdbac9c4c8381cc83bc947d518522701c36e94ce1d6862125a9bfd3b17b1a31c9baabc8 SHA512 0e49e6310b4c76ef3370786a13aa8cbc5bb0b7dc84ec1665866d623e6284f45db8584eea759e8b5954dc9b5c8a3e866e77a377d18073ed33f11708a7e88a4cca
diff --git a/dev-perl/Math-Pari/Math-Pari-2.10.809.0-r2.ebuild b/dev-perl/Math-Pari/Math-Pari-2.10.809.0-r2.ebuild
new file mode 100644
index 000000000000..3544ef7fa3d3
--- /dev/null
+++ b/dev-perl/Math-Pari/Math-Pari-2.10.809.0-r2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=ILYAZ
+DIST_SECTION=modules
+DIST_VERSION=2.01080900
+DIST_A_EXT=zip
+inherit flag-o-matic perl-module toolchain-funcs
+
+PARI_VER=2.3.5
+
+DESCRIPTION="Perl interface to PARI"
+SRC_URI="${SRC_URI}
+ https://pari.math.u-bordeaux.fr/pub/pari/OLD/${PARI_VER%.*}/pari-${PARI_VER}.tar.gz"
+S_PARI="${WORKDIR}"/pari-${PARI_VER}
+
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~sparc x86"
+
+# 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
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}/no-flto.patch"
+ "${FILESDIR}/${P}-no-dot-inc.patch"
+)
+
+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/ || die
+
+ local t
+ 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}"
+
+ if [[ -f "${i}" && ! -f "${o32}" ]] ; then
+ cp -al "${i}" "${o32}" || die
+ fi
+
+ if [[ -f "$i" && ! -f "$o64" ]] ; then
+ cp -al "${i}" "${o64}" || die
+ fi
+ done
+
+ cd "${S_PARI}" || die
+ eapply "${FILESDIR}/pari-${PARI_VER}-no-dot-inc.patch"
+ cd "${S}" || die
+
+ perl-module_src_prepare
+}
+
+src_configure() {
+ # -Werror=strict-aliasing in bundled sci-mathematics/pari code copy
+ # https://bugs.gentoo.org/856112
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # 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"
+
+ perl-module_src_configure
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" OTHERLDFLAGS="${LDFLAGS}"
+}
diff --git a/dev-perl/Math-Pari/Math-Pari-2.30.523.ebuild b/dev-perl/Math-Pari/Math-Pari-2.30.523.ebuild
new file mode 100644
index 000000000000..0068966fe669
--- /dev/null
+++ b/dev-perl/Math-Pari/Math-Pari-2.30.523.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=ILYAZ
+DIST_SECTION=modules
+DIST_VERSION=2.030523
+inherit flag-o-matic perl-module toolchain-funcs
+
+PARI_VER=2.3.5
+
+DESCRIPTION="Perl interface to PARI"
+SRC_URI="${SRC_URI}
+ https://pari.math.u-bordeaux.fr/pub/pari/OLD/${PARI_VER%.*}/pari-${PARI_VER}.tar.gz"
+S_PARI="${WORKDIR}"/pari-${PARI_VER}
+
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~sparc x86"
+
+# 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
+
+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/ || die
+
+ local t
+ 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}"
+
+ if [[ -f "${i}" && ! -f "${o32}" ]] ; then
+ cp -al "${i}" "${o32}" || die
+ fi
+
+ if [[ -f "$i" && ! -f "$o64" ]] ; then
+ cp -al "${i}" "${o64}" || die
+ fi
+ done
+
+ cd "${S_PARI}" || die
+ eapply "${FILESDIR}/pari-${PARI_VER}-no-dot-inc.patch"
+ cd "${S}" || die
+
+ perl-module_src_prepare
+}
+
+src_configure() {
+ # -Werror=strict-aliasing in bundled sci-mathematics/pari code copy
+ # https://bugs.gentoo.org/856112
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # 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"
+
+ # Unfortunately the assembly routines for hppa hard-assume HPUX ...
+ use hppa && myconf="${myconf} machine=none"
+
+ perl-module_src_configure
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" OTHERLDFLAGS="${LDFLAGS}"
+}
diff --git a/dev-perl/Math-Pari/Math-Pari-2.30.528.ebuild b/dev-perl/Math-Pari/Math-Pari-2.30.528.ebuild
new file mode 100644
index 000000000000..fc98a40d820a
--- /dev/null
+++ b/dev-perl/Math-Pari/Math-Pari-2.30.528.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=ILYAZ
+DIST_SECTION=modules
+DIST_VERSION=2.030528
+inherit flag-o-matic perl-module toolchain-funcs
+
+PARI_VER=2.3.5
+
+DESCRIPTION="Perl interface to PARI"
+SRC_URI="
+ ${SRC_URI}
+ https://pari.math.u-bordeaux.fr/pub/pari/OLD/${PARI_VER%.*}/pari-${PARI_VER}.tar.gz
+"
+S_PARI="${WORKDIR}"/pari-${PARI_VER}
+
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~sparc x86"
+
+# 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
+
+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/ || die
+
+ local t
+ 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}"
+
+ if [[ -f "${i}" && ! -f "${o32}" ]] ; then
+ cp -al "${i}" "${o32}" || die
+ fi
+
+ if [[ -f "$i" && ! -f "$o64" ]] ; then
+ cp -al "${i}" "${o64}" || die
+ fi
+ done
+
+ cd "${S_PARI}" || die
+ eapply "${FILESDIR}/pari-${PARI_VER}-no-dot-inc.patch"
+ cd "${S}" || die
+
+ perl-module_src_prepare
+}
+
+src_configure() {
+ # bug #1234
+ append-cflags -std=gnu17
+
+ # -Werror=strict-aliasing in bundled sci-mathematics/pari code copy
+ # https://bugs.gentoo.org/856112
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # 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"
+
+ # Unfortunately the assembly routines for hppa hard-assume HPUX ...
+ use hppa && myconf="${myconf} machine=none"
+
+ perl-module_src_configure
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)" OTHERLDFLAGS="${LDFLAGS}"
+}
diff --git a/dev-perl/Math-Pari/files/Math-Pari-2.10.809.0-no-dot-inc.patch b/dev-perl/Math-Pari/files/Math-Pari-2.10.809.0-no-dot-inc.patch
new file mode 100644
index 000000000000..95ebcf9d18f0
--- /dev/null
+++ b/dev-perl/Math-Pari/files/Math-Pari-2.10.809.0-no-dot-inc.patch
@@ -0,0 +1,31 @@
+From 712cff175abfbf95428ed09a875a15f4047ce105 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentfredric@gmail.com>
+Date: Sun, 11 Jun 2017 13:22:46 +1200
+Subject: [PATCH] Fix "do" to forcibly use a relative path on Perl 5.26
+
+Reliance on "." in @INC was previously how this worked. But that
+becomes broken on Perl 5.26
+
+Resolves RT#120711 ( Well, at least the Math-Pari parts, the pari
+ parts themselves need additional fixing, and that's not viable
+ to really perform in Math::Pari )
+
+Bug: https://rt.cpan.org/Ticket/Display.html?id=120711
+---
+ test_eng/ex.t | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test_eng/ex.t b/test_eng/ex.t
+index a1a2286..0ad57ee 100644
+--- a/test_eng/ex.t
++++ b/test_eng/ex.t
+@@ -10,5 +10,5 @@ $dir1 = "CHANGE_ME";
+ $dir1 = "$dir/../$dir1" unless $dir1 =~ m|^([a-z]:)?[\\/]|i;
+ @ARGV = "$dir1/src/test/$long_bits/$name";
+ @ARGV = "$dir1/src/test/32/$name" unless -r $ARGV[0];
+-do 'test_eng/Testout.pm';
++do './test_eng/Testout.pm';
+ die if $@;
+--
+2.13.1
+
diff --git a/dev-perl/Math-Pari/files/no-flto.patch b/dev-perl/Math-Pari/files/no-flto.patch
new file mode 100644
index 000000000000..d3902ac5d470
--- /dev/null
+++ b/dev-perl/Math-Pari/files/no-flto.patch
@@ -0,0 +1,74 @@
+From c169041dfa888ec3815aa5bacc97bcc0f21dc318 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentfredric@gmail.com>
+Date: Sun, 11 Jun 2017 13:05:59 +1200
+Subject: [PATCH] Disable -flto as it breaks compile.
+
+LTO seems to be bad for static/shared libraries or something.
+
+Turning it off until somebody works out how to make it not cause
+a compile failure, on top of all the crap Pari does.
+---
+ Makefile.PL | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile.PL b/Makefile.PL
+index f3025bd..c32eb6a 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -42,18 +42,23 @@ Could not find GP/PARI build directory, please run Makefile.PL
+ with paridir=/directory option.
+ EOD
+
++my $optimize = $Config{optimize};
++my $ldflags = $Config{ldflags};
++
++s/(^|\s)-flto(\s|$)/$1$2/ for $optimize, $ldflags;
++
+ my $gcc_version
+ = defined($Config{gccversion}) ? ", gccversion=$Config{gccversion}" : "";
+ print <<EOP;
+ Setting up Math::Pari with Perl $] on $^O version $Config{osvers};
+ cc=$Config{cc}$gcc_version, cccdlflags='$Config{cccdlflags}',
+ ccflags='$Config{ccflags}',
+- optimize='$Config{optimize}',
+- ld=$Config{ld}, ldflags='$Config{ldflags}'.
++ optimize='$optimize',
++ ld=$Config{ld}, ldflags='$ldflags'.
+ EOP
+
+ if ($^O eq 'solaris' and $Config{cc} eq 'gcc'
+- and ( $Config{optimize} =~ s/(?<!\S)(-xarch=386|-xildoff)(?!\S)//g
++ and ( $optimize =~ s/(?<!\S)(-xarch=386|-xildoff)(?!\S)//g
+ or $Config{cccdlflags} =~ s/(?<!\S)-KPIC(?!\S)/-fPIC/ )) {
+ # Vendor's Perl has major problems with building extensions; try to fix this
+ # One way is to use perlgcc; but it does not work with 5.8.4
+@@ -61,7 +66,7 @@ if ($^O eq 'solaris' and $Config{cc} eq 'gcc'
+ print <<EOP;
+
+ ... Broken config of gcc-on-Solaris detected! I would try to work around this.
+-... Reset: cccdlflags --> '$Config{cccdlflags}', optimize -> '$Config{optimize}'.
++... Reset: cccdlflags --> '$Config{cccdlflags}', optimize -> '$optimize'.
+
+ EOP
+ }
+@@ -181,7 +186,7 @@ $define .= ' -DLONG_SHORTER_THAN_IV' if $perl_int_size > $longsize;
+
+ $define .= ' -Derr=pari_err'; # On linux it can get a wrong dynamic loading
+ $define .= ' -DHAVE_LADD' if $opts{have_ladd};
+-$define .= ' -DGCC_INLINE' if $Config{gccversion} and not $Config{optimize} =~ /-g\b/;
++$define .= ' -DGCC_INLINE' if $Config{gccversion} and not $optimize =~ /-g\b/;
+ $define .= ' -DHAVE_PARIPRIV' if -f "$paridir/src/headers/paripriv.h";
+ #$define .= ' -DNO_GRAPHICS_PARI' unless -f "$paridir/src/graph/plotgnuplot.c";
+
+@@ -200,6 +205,8 @@ my $extra_inc = extra_includes($paridir);
+ &WriteMakefile(
+ LIBS => $libs,
+ INC => $extra_inc . ' -I $(PARI_DIR)/src/headers -I $(PARI_DIR)/src -I ./libPARI',
++ OPTIMIZE => $optimize,
++ LDFLAGS => $ldflags,
+ NAME => 'Math::Pari',
+ ($common::parilib ? () :
+ (MYEXTLIB => 'libPARI/libPARI$(LIB_EXT)')),
+--
+2.13.1
+
diff --git a/dev-perl/Math-Pari/files/pari-2.3.5-no-dot-inc.patch b/dev-perl/Math-Pari/files/pari-2.3.5-no-dot-inc.patch
new file mode 100644
index 000000000000..cd34851a30fb
--- /dev/null
+++ b/dev-perl/Math-Pari/files/pari-2.3.5-no-dot-inc.patch
@@ -0,0 +1,61 @@
+From 4f1e00df5ea1e51042146f6277bb1af02f249cc3 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentfredric@gmail.com>
+Date: Sun, 11 Jun 2017 10:31:03 +1200
+Subject: [PATCH] Fix for 5.26 removal of '.' in @INC
+
+Previous scripts assumed CWD was in @INC and that "PARI::822" was in
+wherever CWD was.
+
+This fixes both of those, and the latter, because its not obvious
+from the build system where one should assume CWD to be.
+
+Instead, the absolute path of the directory of these scripts is
+inserted into @INC
+---
+ src/desc/gen_member | 4 ++++
+ src/desc/gen_proto | 4 ++++
+ src/desc/merge_822 | 4 ++++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/src/desc/gen_member b/src/desc/gen_member
+index 2f3cf52..66dea2b 100755
+--- a/src/desc/gen_member
++++ b/src/desc/gen_member
+@@ -1,4 +1,8 @@
+ #!/usr/bin/perl -w
++use File::Spec;
++use File::Basename qw( dirname );
++use lib dirname(File::Spec->rel2abs(__FILE__));
++
+ use PARI::822;
+
+ $class='member_functions';
+diff --git a/src/desc/gen_proto b/src/desc/gen_proto
+index 1b507fa..2fb4d3f 100755
+--- a/src/desc/gen_proto
++++ b/src/desc/gen_proto
+@@ -1,4 +1,8 @@
+ #!/usr/bin/perl -w
++use File::Spec;
++use File::Basename qw( dirname );
++use lib dirname(File::Spec->rel2abs(__FILE__));
++
+ use PARI::822;
+
+ $class=$ARGV[0];
+diff --git a/src/desc/merge_822 b/src/desc/merge_822
+index a02d612..9ca8252 100755
+--- a/src/desc/merge_822
++++ b/src/desc/merge_822
+@@ -1,4 +1,8 @@
+ #!/usr/bin/perl -w
++use File::Spec;
++use File::Basename qw( dirname );
++use lib dirname(File::Spec->rel2abs(__FILE__));
++
+ use PARI::822;
+
+ PARI::822::read(\%funcs,$_,1)
+--
+2.13.1
+
diff --git a/dev-perl/Math-Pari/metadata.xml b/dev-perl/Math-Pari/metadata.xml
new file mode 100644
index 000000000000..89c67f49bdb9
--- /dev/null
+++ b/dev-perl/Math-Pari/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>