summaryrefslogtreecommitdiff
path: root/core/perl
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-04 00:01:23 +0000
committerroot <root@rshg054.dnsready.net>2012-06-04 00:01:23 +0000
commit1e6588d64f084decf287a58b7ff93ff0ce4d0446 (patch)
tree29bf5b8778e1eb67871d9e6e8bb6e205bdde5db7 /core/perl
parent80053e720288b6205a59c52c1b31c14a0f830989 (diff)
Mon Jun 4 00:01:23 UTC 2012
Diffstat (limited to 'core/perl')
-rw-r--r--core/perl/PKGBUILD22
-rw-r--r--core/perl/provides.pl31
2 files changed, 28 insertions, 25 deletions
diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD
index 94d9c623f..58b94e7fb 100644
--- a/core/perl/PKGBUILD
+++ b/core/perl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 159280 2012-05-20 20:41:32Z bluewind $
+# $Id: PKGBUILD 160587 2012-06-02 10:54:59Z bluewind $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: kevin <kevin.archlinux.org>
# Contributor: judd <jvinet.zeroflux.org>
# Contributor: francois <francois.archlinux.org>
pkgname=perl
-pkgver=5.14.2
-pkgrel=7
+pkgver=5.16.0
+pkgrel=2
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64)
license=('GPL' 'PerlArtistic')
@@ -16,17 +16,13 @@ changelog=ChangeLog
source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
perlbin.sh
perlbin.csh
-provides.pl
-digest_eval_hole.diff
-0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch)
+provides.pl)
install=perl.install
options=('makeflags' '!purge')
-md5sums=('04a4c5d3c1f9f19d77daff8e8cd19a26'
+md5sums=('15a2f95fb27231e10998240f13acf961'
'5ed2542fdb9a60682f215bd33701e61a'
'1f0cbbee783e8a6d32f01be5118e0d5e'
- '31fc0b5bb4935414394c5cfbec2cb8e5'
- '490852b3d77c3b3866d0d75f5fbf5c5d'
- 'c25d86206d649046538c3daab7874564')
+ '999c3eea6464860704abbb055a0f0896')
# workaround to let the integrity check find the correct provides array
if [[ ${0##*/} = "parse_pkgbuilds.sh" ]]; then
@@ -44,8 +40,6 @@ build() {
arch_opts=""
fi
- patch -Np1 -i $srcdir/digest_eval_hole.diff
-
./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \
-Dprefix=/usr -Dinstallprefix=${pkgdir}/usr -Dvendorprefix=/usr \
-Dprivlib=/usr/share/perl5/core_perl \
@@ -60,7 +54,6 @@ build() {
-Dinc_version_list=none \
-Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \
-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}"
- patch -Np1 -i $srcdir/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
make
}
@@ -120,7 +113,4 @@ package() {
done
find $pkgdir/usr/lib -name *.pod -delete
find $pkgdir -name .packlist -delete
- # Add /usr/lib/perl5/core_perl/CORE/ to standard library path (FS#24660)
- install -dv ${pkgdir}/etc/ld.so.conf.d
- echo "/usr/lib/perl5/core_perl/CORE" > ${pkgdir}/etc/ld.so.conf.d/perl.conf
}
diff --git a/core/perl/provides.pl b/core/perl/provides.pl
index 3bf369577..d2cdc762e 100644
--- a/core/perl/provides.pl
+++ b/core/perl/provides.pl
@@ -1,9 +1,16 @@
# provides.pl
##
# Script for printing out a provides list of every CPAN distribution
-# that is bundled with perl.
+# that is bundled with perl. You can run it before building perl
+# or you can run it after building perl. Required modules are in core
+# for perl 5.13 and above. It might be nice if this didn't require
+# HTTP::Tiny and maybe just used wget or curl.
#
-# Justin Davis <jrcd83@gmail.com>
+# This script uses HTTP::Tiny to query Tatsuhiko Miyagawa's webapp at
+# cpanmetadb.plackperl.org to cross-reference module files to their
+# providing CPAN distribution. Thank you Miyagawa!
+#
+# - Justin "juster" Davis <jrcd83@gmail.com>
use warnings 'FATAL' => 'all';
use strict;
@@ -13,21 +20,26 @@ package Common;
sub evalver
{
my ($path, $mod) = @_;
- $mod ||= "";
open my $fh, '<', $path or die "open $path: $!";
- while (<$fh>) {
- next unless /\s*(?:\$${mod}::|\$)VERSION\s*=\s*(.+)/;
- my $ver = eval $1;
+ my $m = ($mod
+ ? qr/(?:\$${mod}::VERSION|\$VERSION)/
+ : qr/\$VERSION/);
+
+ while (my $ln = <$fh>) {
+ next unless $ln =~ /\s*$m\s*=\s*.+/;
+ chomp $ln;
+ my $ver = do { no strict; eval $ln };
return $ver unless $@;
- warn qq{$path:$. bad version string "$ver"\n};
+ die qq{$path:$. bad version string in "$ln"\n};
}
close $fh;
return undef;
}
+
#-----------------------------------------------------------------------------
package Dists;
@@ -143,7 +155,7 @@ use File::stat;
sub cpan_provider
{
my ($module) = @_;
- my $url = "http://cpanmetadb.appspot.com/v1.0/package/$module";
+ my $url = "http://cpanmetadb.plackperl.org/v1.0/package/$module";
my $http = HTTP::Tiny->new;
my $resp = $http->get($url);
return undef unless $resp->{'success'};
@@ -169,6 +181,7 @@ sub find
my @modfiles;
my $finder = sub {
return unless /[.]pm\z/;
+ return if m{\Q$libdir\E[^/]+/t/}; # ignore testing modules
push @modfiles, $_;
};
findfile({ 'no_chdir' => 1, 'wanted' => $finder }, $libdir);
@@ -194,7 +207,7 @@ sub find
$mod =~ s{\A$libdir}{};
$mod =~ s{/}{::}g;
- my $ver = Common::evalver($path) || q{};
+ my $ver = Common::evalver($path, $mod) || q{};
push @mods, [ $mod, $ver ];
}