summaryrefslogtreecommitdiff
path: root/dev-perl/PDL
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-perl/PDL
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-perl/PDL')
-rw-r--r--dev-perl/PDL/Manifest8
-rw-r--r--dev-perl/PDL/PDL-2.17.0.ebuild120
-rw-r--r--dev-perl/PDL/files/PDL-2.17.0-dot-in-inc.patch142
-rw-r--r--dev-perl/PDL/files/PDL-2.17.0-fortran.patch22
-rw-r--r--dev-perl/PDL/files/PDL-2.17.0-makemakerfix.patch20
-rw-r--r--dev-perl/PDL/files/PDL-2.17.0-shared-hdf.patch44
-rw-r--r--dev-perl/PDL/files/perldl.conf110
-rw-r--r--dev-perl/PDL/metadata.xml216
8 files changed, 682 insertions, 0 deletions
diff --git a/dev-perl/PDL/Manifest b/dev-perl/PDL/Manifest
new file mode 100644
index 000000000000..ed08680f2888
--- /dev/null
+++ b/dev-perl/PDL/Manifest
@@ -0,0 +1,8 @@
+AUX PDL-2.17.0-dot-in-inc.patch 4818 BLAKE2B 66bc0257031727bb964dfe150db14b16da555bf73f79a6261c664247aec4182cb48c4deaba1d8a072db329f5df07d027eb615edd4144e390e253900dc0fb9b55 SHA512 4cfacdf069fd1a871de443a617f65c19ee114c4fd4b12822780f743663155798ea6e61e44512d4e470467494e145469b3952b83fecb66c1a00200a740f3ebf5c
+AUX PDL-2.17.0-fortran.patch 654 BLAKE2B 07bf6aa231476b20c400f1e3baf371d8d3228843d89327dc6c1ee9c96ceaaa2d3c63c27dac7bd6fa77c02ee9b8442343d76b90f7fcbd4337a00d9145dc737e31 SHA512 8d8826ac233e6558d1ce115a17b8ad258088ff5333a12ad16cef2985cb3721b8d5f068d5033d1ff462004607c4368507141cf9f7900a1b310f25987f118bd3d4
+AUX PDL-2.17.0-makemakerfix.patch 433 BLAKE2B 6a57d9703d95324ee64bd0c5ca5774f013eb9b9c6ac4bcc59d2c63c9e3ccb5b9a7cc33d7979deea61beec3a0b8f9ea22ca65a9cc1cc825da72cc5eb05fca9114 SHA512 6417ad04928ac2db65177cda1ad23ed699ff03bd4def669017a8fc4274aafa0e28e595f349d219d61104f0642feeb8d40b2cd459121fb2fc70be8ab2137c8d62
+AUX PDL-2.17.0-shared-hdf.patch 1737 BLAKE2B 8123226cc2fae7c8579b9af036f1802f0228efb66fa73b24788c78b9ea5034140b93ecae64fa3ef84153081ceebbbf1ffbf320fd8ccf0309695bf3554f095504 SHA512 bfa39a1742fa6420f03894e04e501c28a434f13cf863880d5f78988c7cfb341de5ca73f877a28bc1fe4b1e5351ced704b44bd4499b047cc51ec2f965acbeb26f
+AUX perldl.conf 2716 BLAKE2B 7cea3e06e00636c45d3ffaef5df236668aabdf52675a3447ef086cd3820df19fee4d6f1a0bd40a15d0374cebd6126a391647f973dd25803da01995cf58d6fe15 SHA512 ed05b5a5d8014a010093d1c03b90a72bc5629760a71f521988cfeaf70e6b59d9a4bfd8b4533a4dc3bcb46ba6fd3737cd7fb74ec086d3da8aac1b8239fa9ca8e5
+DIST PDL-2.017.tar.gz 2889414 BLAKE2B e49e0ee7e7fc3d95dd27098e8008930673cc4067331f2e4d9eecf8584fe717b15d5b4c7198548ea79a4543d94c1078f5e6eedd731b94d7ce062ab2841c32fc8d SHA512 b1c60b45427153928834619a59ef2213a0845564ae997e22fe202dfee281647edceb68bf3bfa6602ee69a7fd0cc69b7b61ccb74407f490d9fa40230f74599411
+EBUILD PDL-2.17.0.ebuild 3357 BLAKE2B 73980b4547cdf8762fd1836b0f4f33877bab425821a57be88b4d0bbd8f8f449e4afbd0ba4008cb5e3a9c25cbfab55a6e4648c21e0fbb3b68c09c0f40477bf600 SHA512 daaceda624f961bf493f8e0e7491887d9b87b3988f232787f4d6cbf72931b32e24ceb9a629754bcb4a1babe50fc09d2daa726379340169e1ba92432dc7f3f312
+MISC metadata.xml 14070 BLAKE2B 2b8815b4829438c60093b78dba17a5a9a8b25d235e74a46ee809fda26b9a147962afefdd4c0b3bf33c529bbc91d647342730685c4870a3532c3bdd8b04271f0f SHA512 1934d0426e3f14ae27f506e7b5b1960753f24514f28bd7d653e41a486694646be81fc39b16f36686f7b5a6c9a1905ec1a26d79790b98dd2c61b8b100d9287aa5
diff --git a/dev-perl/PDL/PDL-2.17.0.ebuild b/dev-perl/PDL/PDL-2.17.0.ebuild
new file mode 100644
index 000000000000..590562dee2a0
--- /dev/null
+++ b/dev-perl/PDL/PDL-2.17.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=CHM
+DIST_VERSION=2.017
+
+FORTRAN_NEEDED=fortran
+
+inherit perl-module eutils fortran-2
+
+DESCRIPTION="Perl Data Language for scientific computing"
+
+LICENSE="|| ( Artistic GPL-1+ ) public-domain PerlDL"
+SLOT="0"
+KEYWORDS="amd64 arm ppc x86"
+
+IUSE="+badval doc fortran gd gsl hdf netpbm pdl2 pgplot threads test"
+
+RDEPEND="sys-libs/ncurses:0=
+ app-arch/sharutils
+ dev-perl/Astro-FITS-Header
+ dev-perl/File-Map
+ >=dev-perl/Inline-0.680.0
+ >=dev-perl/Inline-C-0.620.0
+ dev-perl/Module-Compile
+ dev-perl/OpenGL
+ dev-perl/TermReadKey
+ || ( dev-perl/Term-ReadLine-Perl dev-perl/Term-ReadLine-Gnu )
+ >=virtual/perl-Data-Dumper-2.121.0
+ virtual/perl-Pod-Parser
+ virtual/perl-File-Spec
+ virtual/perl-File-Temp
+ virtual/perl-Filter-Simple
+ dev-perl/Filter
+ virtual/perl-Storable
+ >=virtual/perl-Text-Balanced-1.890.0
+
+ gd? ( media-libs/gd )
+ gsl? ( sci-libs/gsl )
+ hdf? ( sci-libs/hdf )
+ netpbm? ( media-libs/netpbm virtual/ffmpeg )
+ pdl2? (
+ >=dev-perl/Devel-REPL-1.3.11
+ || ( dev-perl/Term-ReadLine-Perl dev-perl/Term-ReadLine-Gnu )
+ )
+ pgplot? ( dev-perl/PGPLOT )
+"
+
+DEPEND="${RDEPEND}
+ >=virtual/perl-ExtUtils-MakeMaker-6.560.0
+ dev-perl/Devel-CheckLib
+ fortran? ( >=dev-perl/ExtUtils-F77-1.13 )
+ test? (
+ dev-perl/Test-Exception
+ dev-perl/Test-Warn
+ dev-perl/Test-Deep
+ )
+"
+
+mydoc="BUGS DEPENDENCIES DEVELOPMENT Known_problems MANIFEST* Release_Notes"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.17.0-makemakerfix.patch
+ "${FILESDIR}"/${PN}-2.17.0-fortran.patch # respect user choice for fortran compiler+flags, add pic
+ "${FILESDIR}"/${PN}-2.17.0-shared-hdf.patch # search for shared hdf instead of static
+ "${FILESDIR}"/${PN}-2.17.0-dot-in-inc.patch # fix broken Perl 5.26 compile due to @INC changes
+)
+
+pkg_setup() {
+ perl_set_version
+ use fortran && fortran-2_pkg_setup
+}
+
+src_prepare() {
+ perl-module_src_prepare
+ find . -name Makefile.PL -exec \
+ sed -i -e "s|/usr|${EPREFIX}/usr|g" {} \; || die
+}
+
+src_configure() {
+ sed -i \
+ -e '/USE_POGL/s/=>.*/=> 1,/' \
+ -e "/WITH_3D/s/=>.*/=> 1,/" \
+ -e "/HTML_DOCS/s/=>.*/=> $(use doc && echo 1 || echo 0),/" \
+ -e "/WITH_BADVAL/s/=>.*/=> $(use badval && echo 1|| echo 0),/" \
+ -e "/WITH_DEVEL_REPL/s/=>.*/=> $(use pdl2 && echo 1 || echo 0),/" \
+ -e "/WITH_GSL/s/=>.*/=> $(use gsl && echo 1 || echo 0),/" \
+ -e "/WITH_GD/s/=>.*/=> $(use gd && echo 1 || echo 0),/" \
+ -e "/WITH_HDF/s/=>.*/=> $(use hdf && echo 1 || echo 0),/" \
+ -e "/WITH_MINUIT/s/=>.*/=> $(use fortran && echo 1|| echo 0),/" \
+ -e "/WITH_PGPLOT/s/=>.*/=> $(use pgplot && echo 1 || echo 0),/" \
+ -e "/WITH_POSIX_THREADS/s/=>.*/=> $(use threads && echo 1 || echo 0),/" \
+ -e "/WITH_PROJ/s/=>.*/=> $(echo 0),/" \
+ -e "/WITH_SLATEC/s/=>.*/=> $(use fortran && echo 1|| echo 0),/" \
+ perldl.conf || die
+ perl-module_src_configure
+}
+
+src_test() {
+ MAKEOPTS+=" -j1" perl-module_src_test
+}
+
+src_install() {
+ perl-module_src_install
+ cp Doc/{scantree,mkhtmldoc}.pl "${D}"/${VENDOR_ARCH}/PDL/Doc || die
+}
+
+pkg_postinst() {
+ perl "${VENDOR_ARCH}/PDL/Doc/scantree.pl" || die
+ elog "Building perldl.db done. You can recreate this at any time"
+ elog "by running:"
+ elog "perl ${VENDOR_ARCH}/PDL/Doc/scantree.pl"
+}
+
+pkg_prerm() {
+ rm -rf "${EROOT}"/var/lib/pdl/html
+ rm -f "${EROOT}"/var/lib/pdl/{pdldoc.db,Index.pod}
+}
diff --git a/dev-perl/PDL/files/PDL-2.17.0-dot-in-inc.patch b/dev-perl/PDL/files/PDL-2.17.0-dot-in-inc.patch
new file mode 100644
index 000000000000..0007f47b91d5
--- /dev/null
+++ b/dev-perl/PDL/files/PDL-2.17.0-dot-in-inc.patch
@@ -0,0 +1,142 @@
+From 717a19da57ec9f8fc80d4824cad47a04200fc515 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentfredric@gmail.com>
+Date: Sat, 24 Jun 2017 17:27:27 +1200
+Subject: [PATCH] Backport fix for "." in @INC from 2.018
+
+2.018 has far too many changes to safely review in such a short amount
+of time. Fixing this trivial build issue gets us what is necessary
+for Perl 5.26 roll-out without lots of additional verification
+---
+ Basic/Core/Core.xs | 2 +-
+ Basic/Core/pdl.h.PL | 2 +-
+ Basic/Core/pdlconv.c.PL | 4 ++--
+ Basic/Core/pdlcore.c.PL | 4 ++--
+ Basic/Core/pdlcore.h.PL | 4 ++--
+ Basic/Core/pdlsimple.h.PL | 2 +-
+ Makefile.PL | 4 ++--
+ 7 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/Basic/Core/Core.xs b/Basic/Core/Core.xs
+index 5e95356..b38f14c 100644
+--- a/Basic/Core/Core.xs
++++ b/Basic/Core/Core.xs
+@@ -336,7 +336,7 @@ iscontig(x)
+
+ # using "perl" not $^X because that doesn't work on "perl in space"
+ # TODO: switching back to $^X since using "perl" is not a viable fix
+-INCLUDE_COMMAND: $^X -e "require q{Dev.pm}; PDL::Core::Dev::generate_core_flags()"
++INCLUDE_COMMAND: $^X -e "require q{./Dev.pm}; PDL::Core::Dev::generate_core_flags()"
+
+ #if 0
+ =begin windows_mmap
+diff --git a/Basic/Core/pdl.h.PL b/Basic/Core/pdl.h.PL
+index d2e9758..6e01445 100644
+--- a/Basic/Core/pdl.h.PL
++++ b/Basic/Core/pdl.h.PL
+@@ -6,7 +6,7 @@ use Config;
+ use File::Basename qw(&basename &dirname);
+
+ # how many variable types (ie PDL_Byte, ...) are there?
+-require 'Types.pm';
++require './Types.pm';
+ my $ntypes = $#PDL::Types::names;
+ my $PDL_DATATYPES = PDL::Types::datatypes_header();
+
+diff --git a/Basic/Core/pdlconv.c.PL b/Basic/Core/pdlconv.c.PL
+index 160e29b..62a57b0 100644
+--- a/Basic/Core/pdlconv.c.PL
++++ b/Basic/Core/pdlconv.c.PL
+@@ -7,9 +7,9 @@ use strict;
+ use Config;
+ use File::Basename qw(&basename &dirname);
+
+-require 'Dev.pm'; PDL::Core::Dev->import;
++require './Dev.pm'; PDL::Core::Dev->import;
+ use vars qw( %PDL_DATATYPES );
+-require 'Types.pm'; #for typesrtkeys
++require './Types.pm'; #for typesrtkeys
+
+ # This forces PL files to create target in same directory as PL file.
+ # This is so that make depend always knows where to find PL derivatives.
+diff --git a/Basic/Core/pdlcore.c.PL b/Basic/Core/pdlcore.c.PL
+index a602b6e..445cfb8 100644
+--- a/Basic/Core/pdlcore.c.PL
++++ b/Basic/Core/pdlcore.c.PL
+@@ -6,7 +6,7 @@ use strict;
+ use Config;
+ use File::Basename qw(&basename &dirname);
+
+-require 'Dev.pm'; PDL::Core::Dev->import;
++require './Dev.pm'; PDL::Core::Dev->import;
+ use vars qw( %PDL_DATATYPES );
+
+ # check for bad value support
+@@ -14,7 +14,7 @@ require './Config.pm'; # to load the PDL not the Perl one
+ die "No PDL::Config found" unless %PDL::Config;
+ my $bvalflag = $PDL::Config{WITH_BADVAL};
+ my $usenan = $PDL::Config{BADVAL_USENAN};
+-require 'Types.pm';
++require './Types.pm';
+ PDL::Types->import(':All');
+
+
+diff --git a/Basic/Core/pdlcore.h.PL b/Basic/Core/pdlcore.h.PL
+index 90469f0..760e6a1 100644
+--- a/Basic/Core/pdlcore.h.PL
++++ b/Basic/Core/pdlcore.h.PL
+@@ -11,7 +11,7 @@ use strict;
+ use Config;
+ use File::Basename qw(&basename &dirname);
+
+-require 'Dev.pm'; PDL::Core::Dev->import;
++require './Dev.pm'; PDL::Core::Dev->import;
+ use vars qw( %PDL_DATATYPES );
+
+ # version 2 is for versions after PDL 2.1.1
+@@ -349,7 +349,7 @@ double NaN_double;
+
+ # fortunately it looks like Types.pm.PL is processed before this
+ # file
+- require "Types.pm"; # ie PDL::Types
++ require "./Types.pm"; # ie PDL::Types
+
+ for (PDL::Types::typesrtkeys()) {
+ my $ctype = $PDL::Types::typehash{$_}{ctype};
+diff --git a/Basic/Core/pdlsimple.h.PL b/Basic/Core/pdlsimple.h.PL
+index e511913..43eb557 100644
+--- a/Basic/Core/pdlsimple.h.PL
++++ b/Basic/Core/pdlsimple.h.PL
+@@ -3,7 +3,7 @@
+ use Config;
+ use File::Basename qw(&basename &dirname);
+
+-require 'Types.pm';
++require './Types.pm';
+ my $PDL_DATATYPES = PDL::Types::datatypes_header();
+
+ # List explicitly here the variables you want Configure to
+diff --git a/Makefile.PL b/Makefile.PL
+index fc8d590..a94d895 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -226,7 +226,7 @@ sub check_f77conf {
+
+ sub make_Version_pm {
+ # Get Version from Basic/PDL.pm and generated Basic/Core/Version.pm from it
+- require 'Basic/PDL.pm';
++ require './Basic/PDL.pm';
+ # keep version info in $PDL::Config
+ $PDL::Config{PDL_BUILD_VERSION} = "$PDL::VERSION";
+
+@@ -376,7 +376,7 @@ make_Types_pm();
+ # this will make PDL::Core::Dev's functions available
+ # in Makefile.PL files in all subdirectories
+ # IMPORTANT: it has to be after make_Types_pm()
+-require "Basic/Core/Dev.pm"; PDL::Core::Dev->import();
++require "./Basic/Core/Dev.pm"; PDL::Core::Dev->import();
+
+ # only perform one test if required modules are missing
+ # the test will print an informational message and fail
+--
+2.13.1
+
diff --git a/dev-perl/PDL/files/PDL-2.17.0-fortran.patch b/dev-perl/PDL/files/PDL-2.17.0-fortran.patch
new file mode 100644
index 000000000000..8d02a2685cfa
--- /dev/null
+++ b/dev-perl/PDL/files/PDL-2.17.0-fortran.patch
@@ -0,0 +1,22 @@
+--- a/Lib/Minuit/Makefile.PL
++++ b/Lib/Minuit/Makefile.PL
+@@ -149,7 +149,7 @@
+ ("
+
+ minuitlib/$_\$(OBJ_EXT): minuitlib/$_.f
+- $mycompiler -c $hack_64bit -o minuitlib/$_\$(OBJ_EXT) $mycflags minuitlib/$_.f
++ \$(FC) \$(FFLAGS) -fPIC -c -o minuitlib/$_\$(OBJ_EXT) $mycflags minuitlib/$_.f
+ " )} @minuitfiles;
+
+ if (!defined($PDL::Config{MINUIT_LIB})){
+--- a/Lib/Slatec/Makefile.PL
++++ b/Lib/Slatec/Makefile.PL
+@@ -136,7 +136,7 @@
+ ("
+
+ slatec/$_\$(OBJ_EXT): slatec/$_.f
+- $mycompiler -c $hack_64bit -o slatec/$_\$(OBJ_EXT) $mycflags slatec/$_.f
++ \$(FC) \$(FFLAGS) -c -fPIC -o slatec/$_\$(OBJ_EXT) $mycflags slatec/$_.f
+ " )} @slatecfiles;
+
+ }
diff --git a/dev-perl/PDL/files/PDL-2.17.0-makemakerfix.patch b/dev-perl/PDL/files/PDL-2.17.0-makemakerfix.patch
new file mode 100644
index 000000000000..b564a95db3cd
--- /dev/null
+++ b/dev-perl/PDL/files/PDL-2.17.0-makemakerfix.patch
@@ -0,0 +1,20 @@
+--- a/Demos/BAD2_demo.pm.PL 2006/04/20 07:42:24 1.1
++++ b/Demos/BAD2_demo.pm.PL 2006/04/20 07:42:32
+@@ -3,6 +3,7 @@
+ # - requires both bad-value support and PGPLOT
+ #
+
++use blib;
+ use strict;
+
+ use Config;
+--- a/Demos/BAD_demo.pm.PL 2006/04/20 07:42:17 1.1
++++ b/Demos/BAD_demo.pm.PL 2006/04/20 07:42:38
+@@ -3,6 +3,7 @@
+ # - needed since we allow bad pixel handling to be switched off
+ #
+
++use blib;
+ use strict;
+
+ use Config;
diff --git a/dev-perl/PDL/files/PDL-2.17.0-shared-hdf.patch b/dev-perl/PDL/files/PDL-2.17.0-shared-hdf.patch
new file mode 100644
index 000000000000..0937b98864a4
--- /dev/null
+++ b/dev-perl/PDL/files/PDL-2.17.0-shared-hdf.patch
@@ -0,0 +1,44 @@
+diff -ruN PDL-2.017.orig/IO/HDF/Makefile.PL PDL-2.017/IO/HDF/Makefile.PL
+--- PDL-2.017.orig/IO/HDF/Makefile.PL 2016-09-23 12:43:47.000000000 +0200
++++ PDL-2.017/IO/HDF/Makefile.PL 2016-10-27 22:09:04.048315756 +0200
+@@ -56,25 +56,25 @@
+
+ # Look for the libs:
+ foreach my $libdir ( @HDF_lib_locations ) {
+- if (-e "$libdir/libdfalt.a" && !$found_df) {
++ if (-e "$libdir/libdfalt.$Config{so}" && !$found_df) {
+ $found_df = 1;
+ $hdf_lib_path = $libdir;
+ $hdf_libs = '-lmfhdfalt -ldfalt';
+- print "Found libdfalt.a at $libdir/libdfalt.a\n";
++ print "Found libdfalt.$Config{so} at $libdir/libdfalt.$Config{so}\n";
+ }
+
+- if (-e "$libdir/libdf.a" && !$found_df) {
++ if (-e "$libdir/libdf.$Config{so}" && !$found_df) {
+ $found_df = 1;
+ $hdf_lib_path = $libdir;
+ $hdf_libs = '-lmfhdf -ldf';
+- print "Found libdf.a at $libdir/libdf.a\n";
++ print "Found libdf.$Config{so} at $libdir/libdf.$Config{so}\n";
+ }
+
+- if (-e "$libdir/libhdf.a" && !$found_df) {
++ if (-e "$libdir/libhdf.$Config{so}" && !$found_df) {
+ $found_df = 1;
+ $hdf_lib_path = $libdir;
+ $hdf_libs = '-lmfhdf -lhdf -lxdr';
+- print "Found libhdf.a at $libdir/libhdf.a\n";
++ print "Found libhdf.$Config{so} at $libdir/libhdf.$Config{so}\n";
+ }
+
+ # Look for the szip library, which HDF >= 4.2r0 needs, but older versions don't!
+@@ -91,7 +91,7 @@
+ } # foreach $libdir...
+
+ unless( defined( $hdf_lib_path ) ) {
+- $msg .= "Cannot find hdf library, libdf.a.\n"
++ $msg .= "Cannot find hdf library, libdf.$Config{so}.\n"
+ . "Please add the correct library path to Makefile.PL or install HDF\n";
+ }
+
diff --git a/dev-perl/PDL/files/perldl.conf b/dev-perl/PDL/files/perldl.conf
new file mode 100644
index 000000000000..1fe24f3db6b0
--- /dev/null
+++ b/dev-perl/PDL/files/perldl.conf
@@ -0,0 +1,110 @@
+# -*-perl-*-
+
+# PDL Configuration options
+
+# You can edit this here or say 'perl Makefile.PL PDLCONF=file'
+# or use ~/.perldl.conf
+
+# Note in general "0" means False, "1" means "True" and "undef"
+# means "Try if possible (e.g. because the library is found)"
+
+%PDL_CONFIG = (
+
+# Use posix threading to make use of multiprocessor machines
+# undef -> try if possible
+# 0 -> don't use
+# true -> force use
+
+ WITH_POSIX_THREADS => undef,
+
+ MALLOCDBG => undef,
+# {
+# include => '-I/home/csoelle/tmp',
+# libs => '-L/home/csoelle/tmp -lmymalloc',
+# define => << 'EOD',
+##define malloc(n) dbgmalloc(n,__FILE__,__LINE__)
+##define free(p) dbgfree(p)
+#EOD
+# include => '',
+# libs => '-lefence',
+# define => '',
+# },
+
+# Do we want routines to handle bad values?
+# saying no will make PDL a bit faster
+# true -> yes
+# false -> no, undef -> no
+#
+ WITH_BADVAL => 0,
+# WITH_BADVAL => 1,
+
+# if WITH_BADVAL == 1, do we use NaN/Inf to represent badvalues
+# (not convinced setting this results in faster code)
+#
+ BADVAL_USENAN => 0,
+# BADVAL_USENAN => 1,
+
+# Try to build Graphics/TriD
+ WITH_3D => undef,
+#
+# For Mesa 3.2
+#
+ OPENGL_LIBS => '-L/usr/lib -lGL -lGLU -L/usr/X11R6/lib -lXext -lX11',
+#
+# Mesa need -DGL_GLEXT_LEGACY for glPolygonOffsetEXT amoung others
+#
+ OPENGL_DEFINE => '-DGL_GLEXT_LEGACY',
+ OPENGL_INC => '-I/usr/include',
+#
+#
+# For SGI GL
+#
+# OPENGL_LIBS => '-lGL -lGLU -lXext -lX11',
+# OPENGL_INC => '',
+# OPENGL_DEFINE => '',
+#
+# Let perl try to figure it out
+# OPENGL_LIBS => undef,
+# OPENGL_INC => undef,
+# OPENGL_DEFINE => undef,
+# Whether or not to build the Karma interface module
+
+ WITH_KARMA => undef, # Leave it up to PDL to decide
+ WHERE_KARMA => undef, # you may explicitly specify directory location
+
+# Whether or not to build the PDL::Slatec module
+# 0 -> don't use
+# true -> force use
+
+ WITH_SLATEC => undef, # Leave it up to PDL to decide
+
+# Whether or not to build the PDL::GSL module
+# 0 -> don't use
+# true -> force use
+
+ WITH_GSL => undef, # Leave it up to PDL to decide
+
+# Location to search for the GSL libs
+ GSL_LIBS => [ '/lib','/usr/lib','/usr/local/lib'],
+# Location to find GSL includes:
+ GSL_INC => '-I/usr/include/gsl -I/usr/local/include',
+
+# Whether or not to build the PDL::FFTW module
+# 0 -> don't use
+# true -> force use
+
+ WITH_FFTW => undef, # Leave it up to PDL to decide
+
+# Location to search for the FFTW libs
+ FFTW_LIBS => [ '/lib','/usr/lib','/usr/local/lib'],
+# Location to find FFTW includes:
+ FFTW_INC => ['/usr/include/','/usr/local/include'],
+
+# FFTW Numeric Precision Type to link in: (double or single precision)
+ FFTW_TYPE => 'double',
+
+);
+
+1; # Return OK status on 'require'
+
+
diff --git a/dev-perl/PDL/metadata.xml b/dev-perl/PDL/metadata.xml
new file mode 100644
index 000000000000..78148d2297ff
--- /dev/null
+++ b/dev-perl/PDL/metadata.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Perl Data Language gives standard perl the ability to compactly
+ store and speedily manipulate the large N-dimensional data arrays
+ which are the bread and butter of scientific computing. The idea
+ is to turn perl in to a free, array-oriented, numerical language
+ in the same sense as commercial packages like IDL and MatLab. One
+ can write simple perl expressions to manipulate entire numerical
+ arrays all at once.
+</longdescription>
+ <use>
+ <flag name="badval">Enable bad values support</flag>
+ <flag name="hdf">Enable HDF (version 4) format support</flag>
+ <flag name="netpbm">Enable NETPBM and MPEG support</flag>
+ <flag name="pdl2">Build pdf2 shell (requires Devel-REPL)</flag>
+ <flag name="pgplot">Enable PGPLOT plotting capabilities</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpan">PDL</remote-id>
+ <remote-id type="cpan-module">C::StructObj</remote-id>
+ <remote-id type="cpan-module">C::StructType</remote-id>
+ <remote-id type="cpan-module">C::Type</remote-id>
+ <remote-id type="cpan-module">C::Var</remote-id>
+ <remote-id type="cpan-module">Inline::MakePdlppInstallable</remote-id>
+ <remote-id type="cpan-module">Inline::Pdlpp</remote-id>
+ <remote-id type="cpan-module">NullHandle</remote-id>
+ <remote-id type="cpan-module">PDL</remote-id>
+ <remote-id type="cpan-module">PDL::Basic</remote-id>
+ <remote-id type="cpan-module">PDL::Bench</remote-id>
+ <remote-id type="cpan-module">PDL::CallExt</remote-id>
+ <remote-id type="cpan-module">PDL::Char</remote-id>
+ <remote-id type="cpan-module">PDL::Constants</remote-id>
+ <remote-id type="cpan-module">PDL::Core::Dev</remote-id>
+ <remote-id type="cpan-module">PDL::Dbg</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::Cartography_demo</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::General</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::PGPLOT_OO_demo</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::PGPLOT_demo</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::Routines</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::Transform_demo</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::TriD1</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::TriD2</remote-id>
+ <remote-id type="cpan-module">PDL::Demos::TriDGallery</remote-id>
+ <remote-id type="cpan-module">PDL::DiskCache</remote-id>
+ <remote-id type="cpan-module">PDL::Doc</remote-id>
+ <remote-id type="cpan-module">PDL::Doc::Perldl</remote-id>
+ <remote-id type="cpan-module">PDL::Exporter</remote-id>
+ <remote-id type="cpan-module">PDL::Filter::Gaussian</remote-id>
+ <remote-id type="cpan-module">PDL::Filter::LinPred</remote-id>
+ <remote-id type="cpan-module">PDL::Filter::LinSmooth</remote-id>
+ <remote-id type="cpan-module">PDL::Filter::Linear</remote-id>
+ <remote-id type="cpan-module">PDL::Filter::SavGol</remote-id>
+ <remote-id type="cpan-module">PDL::Fit::LM</remote-id>
+ <remote-id type="cpan-module">PDL::Fit::Linfit</remote-id>
+ <remote-id type="cpan-module">PDL::Fit::Polynomial</remote-id>
+ <remote-id type="cpan-module">PDL::Func</remote-id>
+ <remote-id type="cpan-module">PDL::GraphEvolver</remote-id>
+ <remote-id type="cpan-module">PDL::GraphEvolverOLD</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics2D</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::LUT</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::Limits</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::Limits::DSet</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::OpenGL::OO</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::OpenGL::Perl::OpenGL</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::PGPLOT</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::PGPLOT::Window</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::PGPLOTOptions</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::State</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ArcBall</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ArcBowl</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ArcCone</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Basic</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::BoundingBox</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ButtonControl</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ContourPolygonize</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Contours</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Control3D</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::CylindricalEquidistantAxes</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Description</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::EuclidAxes</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::EventHandler</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::GL::Window</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::GObject</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::GObject_Lattice</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::GPObject</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::GoBoard</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Graph</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Image</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Labels</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Lattice</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::LineStrip</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Lines</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::LinesFOOOLD</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Logo</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Material</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::MathGraph</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Mesh</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::OOGL</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Object</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::OneTransformation</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Points</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::PolarStereoAxes</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Polygonize</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::QuaterController</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Quaternion</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::SCLattice</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::SLattice</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::SLattice_S</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::STrigrid</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::STrigrid_S</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Scale</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ScaleController</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::SimpleController</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::SimpleScaler</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Spheres</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::StupidPolygonize</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Surface</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Transformation</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Translation</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::VRML</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::VRML::Parameter</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::VRML::URL</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::VRMLObject</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::ViewPort</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::TriD::Window</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::VRML</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::VRML::Protos</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::VRMLNode</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::VRMLPdlNode</remote-id>
+ <remote-id type="cpan-module">PDL::Graphics::VRMLProto</remote-id>
+ <remote-id type="cpan-module">PDL::IO::Dicom</remote-id>
+ <remote-id type="cpan-module">PDL::IO::Dumper</remote-id>
+ <remote-id type="cpan-module">PDL::IO::FITS</remote-id>
+ <remote-id type="cpan-module">PDL::IO::FastRaw</remote-id>
+ <remote-id type="cpan-module">PDL::IO::FlexRaw</remote-id>
+ <remote-id type="cpan-module">PDL::IO::HDF</remote-id>
+ <remote-id type="cpan-module">PDL::IO::Pic</remote-id>
+ <remote-id type="cpan-module">PDL::Interpolate</remote-id>
+ <remote-id type="cpan-module">PDL::Interpolate::Slatec</remote-id>
+ <remote-id type="cpan-module">PDL::Lite</remote-id>
+ <remote-id type="cpan-module">PDL::LiteF</remote-id>
+ <remote-id type="cpan-module">PDL::Lvalue</remote-id>
+ <remote-id type="cpan-module">PDL::Matrix</remote-id>
+ <remote-id type="cpan-module">PDL::MyInlineMod</remote-id>
+ <remote-id type="cpan-module">PDL::NiceSlice</remote-id>
+ <remote-id type="cpan-module">PDL::Opt::Simplex</remote-id>
+ <remote-id type="cpan-module">PDL::Options</remote-id>
+ <remote-id type="cpan-module">PDL::PP</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Access</remote-id>
+ <remote-id type="cpan-module">PDL::PP::BackCodeThreadLoop</remote-id>
+ <remote-id type="cpan-module">PDL::PP::BadAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::BadSwitch</remote-id>
+ <remote-id type="cpan-module">PDL::PP::BadVarAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Block</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Code</remote-id>
+ <remote-id type="cpan-module">PDL::PP::ComplexThreadLoop</remote-id>
+ <remote-id type="cpan-module">PDL::PP::GenericLoop</remote-id>
+ <remote-id type="cpan-module">PDL::PP::GentypeAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Ind</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Loop</remote-id>
+ <remote-id type="cpan-module">PDL::PP::MacroAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::NaNSupport</remote-id>
+ <remote-id type="cpan-module">PDL::PP::OtherAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PDLStateBadAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PPBadAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PdlAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PdlDimsObj</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PdlParObj</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PhysPointerAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::PointerAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::ReSizeAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::InsertName</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::MakeComp</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Returns</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Returns::EmptyString</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Returns::NULL</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Returns::One</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Returns::Zero</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Substitute</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Rule::Substitute::Usual</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Signature</remote-id>
+ <remote-id type="cpan-module">PDL::PP::SimpleThreadLoop</remote-id>
+ <remote-id type="cpan-module">PDL::PP::SizeAccess</remote-id>
+ <remote-id type="cpan-module">PDL::PP::ThreadLoop</remote-id>
+ <remote-id type="cpan-module">PDL::PP::TypeConv</remote-id>
+ <remote-id type="cpan-module">PDL::PP::Types</remote-id>
+ <remote-id type="cpan-module">PDL::Perldl2::Plugin::CleanErrors</remote-id>
+ <remote-id type="cpan-module">PDL::Perldl2::Plugin::NiceSlice</remote-id>
+ <remote-id type="cpan-module">PDL::Perldl2::Plugin::PDLCommands</remote-id>
+ <remote-id type="cpan-module">PDL::Perldl2::Plugin::PrintControl</remote-id>
+ <remote-id type="cpan-module">PDL::Perldl2::Profile::Perldl2</remote-id>
+ <remote-id type="cpan-module">PDL::Perldl2::Script</remote-id>
+ <remote-id type="cpan-module">PDL::Pod::Parser</remote-id>
+ <remote-id type="cpan-module">PDL::Pod::Select</remote-id>
+ <remote-id type="cpan-module">PDL::Pod::Usage</remote-id>
+ <remote-id type="cpan-module">PDL::PodParser</remote-id>
+ <remote-id type="cpan-module">PDL::Reduce</remote-id>
+ <remote-id type="cpan-module">PDL::Transform::Cartography</remote-id>
+ <remote-id type="cpan-module">StrHandle</remote-id>
+ <remote-id type="cpan-module">SymTab</remote-id>
+ <remote-id type="cpan-module">Win32::DDE::Netscape</remote-id>
+ <remote-id type="cpan-module">XS</remote-id>
+ </upstream>
+</pkgmetadata>