summaryrefslogtreecommitdiff
path: root/perl-pdl
diff options
context:
space:
mode:
Diffstat (limited to 'perl-pdl')
-rw-r--r--perl-pdl/PKGBUILD50
-rw-r--r--perl-pdl/gsl_sf_ellint.pd.diff38
2 files changed, 88 insertions, 0 deletions
diff --git a/perl-pdl/PKGBUILD b/perl-pdl/PKGBUILD
new file mode 100644
index 000000000..9f19865e8
--- /dev/null
+++ b/perl-pdl/PKGBUILD
@@ -0,0 +1,50 @@
+pkgname=perl-pdl
+_pkgname='PDL'
+pkgver=2.015
+pkgrel=1
+pkgdesc="the Perl Data Language"
+arch=('x86_64' 'i686')
+url="http://pdl.perl.org/"
+license=('GPL' 'PerlArtistic')
+depends=('perl-devel-checklib' 'perl-astro-fits-header'
+'perl-convert-uu' 'perl-file-map' 'perl-inline-c' 'perl-module-compile'
+'hdf4' 'perl-gd')
+makedepends=('perl-extutils-f77' 'perl-test-exception' 'perl-test-warn' 'perl-test-deep' 'perl-file-map')
+options=('!emptydirs')
+source=("http://search.cpan.org/CPAN/authors/id/C/CH/CHM/${_pkgname}-${pkgver}.tar.gz"
+ "gsl_sf_ellint.pd.diff")
+sha256sums=('0b7ef32e443e62c62569b8092f507f1a035d990430c80bdcb263dc7a2e85b684'
+ '54f2096547bf2518ad4f8390897c81cc8b904a407b5cd07c8f8387a8a6a4c3fb')
+
+prepare() {
+
+ cd ${srcdir}/${_pkgname}-${pkgver}/Lib/GSL/SF/ellint
+ patch -p0 < ${srcdir}/gsl_sf_ellint.pd.diff
+
+}
+
+build() {
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \
+ PERL_AUTOINSTALL=--skipdeps \
+ PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \
+ PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \
+ MODULEBUILDRC=/dev/null
+
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ /usr/bin/perl Makefile.PL
+ make
+ )
+}
+
+check() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ ( export PERL_MM_USE_DEFAULT=1 PERL5LIB=""
+ make test
+ )
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make pure_install
+ find "$pkgdir" -name .packlist -o -name perllocal.pod -delete
+}
diff --git a/perl-pdl/gsl_sf_ellint.pd.diff b/perl-pdl/gsl_sf_ellint.pd.diff
new file mode 100644
index 000000000..9203d9df6
--- /dev/null
+++ b/perl-pdl/gsl_sf_ellint.pd.diff
@@ -0,0 +1,38 @@
+--- gsl_sf_ellint.pd_orig 2015-11-15 10:46:20 +1100
++++ gsl_sf_ellint.pd 2015-11-15 10:54:47 +1100
+@@ -82,6 +82,10 @@
+ Doc =>'Legendre form of incomplete elliptic integrals P(phi,k,n) = Integral[(1 + n Sin[t]^2)^(-1)/Sqrt[1 - k^2 Sin[t]^2], {t, 0, phi}]'
+ );
+
++my $v = `gsl-config --version`;
++
++if($v < 2.0) {
++
+ pp_def('gsl_sf_ellint_D',
+ GenericTypes => [D],
+ Pars=>'double phi(); double k(); double n();
+@@ -95,6 +99,24 @@
+ Doc =>'Legendre form of incomplete elliptic integrals D(phi,k,n)'
+ );
+
++}
++else {
++
++pp_def('gsl_sf_ellint_D',
++ GenericTypes => [D],
++ Pars=>'double phi(); double k();
++ double [o]y(); double [o]e()',
++ Code =>'
++gsl_sf_result r;
++GSLERR(gsl_sf_ellint_D_e,($phi(),$k(),GSL_PREC_DOUBLE,&r))
++$y() = r.val;
++$e() = r.err;
++',
++ Doc =>'Legendre form of incomplete elliptic integrals D(phi,k)'
++ );
++
++}
++
+ pp_def('gsl_sf_ellint_RC',
+ GenericTypes => [D],
+ Pars=>'double x(); double yy(); double [o]y(); double [o]e()',