summaryrefslogtreecommitdiff
path: root/testing/perl
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-06-24 23:06:35 +0000
committerroot <root@rshg047.dnsready.net>2011-06-24 23:06:35 +0000
commit71f58605e914de11f3a9b7cc2f27b0c52fb8d4ba (patch)
tree948002f901215fa91b99058ec3bfc4a51475018d /testing/perl
parent7347bb994a41d021c83e97b503f577f2399302e7 (diff)
Fri Jun 24 23:06:35 UTC 2011
Diffstat (limited to 'testing/perl')
-rw-r--r--testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch83
-rw-r--r--testing/perl/ChangeLog5
-rw-r--r--testing/perl/PKGBUILD27
-rw-r--r--testing/perl/perlbin.csh17
-rwxr-xr-xtesting/perl/perlbin.sh15
5 files changed, 128 insertions, 19 deletions
diff --git a/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
new file mode 100644
index 000000000..1404460df
--- /dev/null
+++ b/testing/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
@@ -0,0 +1,83 @@
+From bb249b0b26c2e79a6f55355ef94889070f07fd21 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Thu, 28 Apr 2011 09:18:54 +0300
+Subject: [PATCH] Append CFLAGS and LDFLAGS to their Config.pm counterparts in
+ EU::CBuilder
+
+Since ExtUtils::CBuilder 0.27_04 (bleadperl commit 06e8058f27e4),
+CFLAGS and LDFLAGS from the environment have overridden the Config.pm
+ccflags and ldflags settings. This can cause binary incompatibilities
+between the core Perl and extensions built with EU::CBuilder.
+
+Append to the Config.pm values rather than overriding them.
+---
+ .../lib/ExtUtils/CBuilder/Base.pm | 6 +++-
+ dist/ExtUtils-CBuilder/t/04-base.t | 25 +++++++++++++++++++-
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
+index b572312..2255c51 100644
+--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
++++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
+@@ -40,11 +40,13 @@ sub new {
+ $self->{config}{$k} = $v unless exists $self->{config}{$k};
+ }
+ $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
+- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
++ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
++ if defined $ENV{CFLAGS};
+ $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
+ $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
+ $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
+- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
++ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
++ if defined $ENV{LDFLAGS};
+
+ unless ( exists $self->{config}{cxx} ) {
+ my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+diff --git a/dist/ExtUtils-CBuilder/t/04-base.t b/dist/ExtUtils-CBuilder/t/04-base.t
+index c3bf6b5..1bb15aa 100644
+--- a/dist/ExtUtils-CBuilder/t/04-base.t
++++ b/dist/ExtUtils-CBuilder/t/04-base.t
+@@ -1,7 +1,7 @@
+ #! perl -w
+
+ use strict;
+-use Test::More tests => 50;
++use Test::More tests => 64;
+ use Config;
+ use Cwd;
+ use File::Path qw( mkpath );
+@@ -326,6 +326,29 @@ is_deeply( $mksymlists_args,
+ "_prepare_mksymlists_args(): got expected arguments for Mksymlists",
+ );
+
++my %testvars = (
++ CFLAGS => 'ccflags',
++ LDFLAGS => 'ldflags',
++);
++
++while (my ($VAR, $var) = each %testvars) {
++ local $ENV{$VAR};
++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
++ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
++ like($base->{config}{$var}, qr/\Q$Config{$var}/,
++ "honours $var from Config.pm");
++
++ $ENV{$VAR} = "-foo -bar";
++ $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
++ ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
++ isa_ok( $base, 'ExtUtils::CBuilder::Base' );
++ like($base->{config}{$var}, qr/\Q$ENV{$VAR}/,
++ "honours $VAR from the environment");
++ like($base->{config}{$var}, qr/\Q$Config{$var}/,
++ "doesn't override $var from Config.pm with $VAR from the environment");
++}
++
+ #####
+
+ for ($source_file, $object_file, $lib_file) {
+--
+1.7.4.4
+
diff --git a/testing/perl/ChangeLog b/testing/perl/ChangeLog
index fd53c2560..9add39e20 100644
--- a/testing/perl/ChangeLog
+++ b/testing/perl/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-22 Angel Velasquez <angvp@archlinux.org>
+ * Added a patch for ExtUtils doesnt overwrite CFLAGS and LDFLAGS
+ * Fixed #FS22197, FS#22441, FS#24767
+ * Rebuilt perl 5.14.1-2 against db 5.2.28
+
2011-06-16 Angel Velasquez <angvp@archlinux.org>
* Fixed #FS24660
* Rebuilt against db 5.2.28
diff --git a/testing/perl/PKGBUILD b/testing/perl/PKGBUILD
index b00377dc1..8f6af76c0 100644
--- a/testing/perl/PKGBUILD
+++ b/testing/perl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 127611 2011-06-17 06:29:52Z angvp $
+# $Id: PKGBUILD 128400 2011-06-23 21:11:34Z angvp $
# 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.0
-pkgrel=2
+pkgver=5.14.1
+pkgrel=1
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64)
license=('GPL' 'PerlArtistic')
@@ -13,11 +13,16 @@ url="http://www.perl.org"
groups=('base')
depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh')
changelog=ChangeLog
-source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 perlbin.sh)
+source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
+perlbin.sh
+perlbin.csh
+0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch)
install=perl.install
options=('!makeflags' '!purge')
-md5sums=('e7457deea78330c5f8eebb2fd2a45479'
- 'f86eb0dba1638ca6d1c8fff1b06c2a71')
+md5sums=('97cd306a2c22929cc141a09568f43bb0'
+ '5ed2542fdb9a60682f215bd33701e61a'
+ 'd76445605c49886c77734446247e439d'
+ 'c25d86206d649046538c3daab7874564')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -41,7 +46,9 @@ build() {
-Dsitescript=/usr/bin/site_perl \
-Dvendorscript=/usr/bin/vendor_perl \
-Dinc_version_list=none \
- -Dman1ext=1perl -Dman3ext=3perl ${arch_opts}
+ -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
}
package() {
@@ -68,9 +75,12 @@ package() {
-e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
-i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm
- # Profile script so set paths to perl scripts.
+ # Profile script to set paths to perl scripts.
install -D -m755 ${srcdir}/perlbin.sh \
${pkgdir}/etc/profile.d/perlbin.sh
+ # Profile script to set paths to perl scripts on csh. (FS#22441)
+ install -D -m755 ${srcdir}/perlbin.csh \
+ ${pkgdir}/etc/profile.d/perlbin.csh
(cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
(cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed)
@@ -91,4 +101,3 @@ package() {
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/testing/perl/perlbin.csh b/testing/perl/perlbin.csh
new file mode 100644
index 000000000..cc0d5d553
--- /dev/null
+++ b/testing/perl/perlbin.csh
@@ -0,0 +1,17 @@
+# Set path to perl scriptdirs if they exist
+# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
+# Added /usr/bin/*_perl dirs for scripts
+# Remove /usr/lib/perl5/*_perl/bin in next release
+
+[ -d /usr/bin/site_perl ] && setenv PATH ${PATH}:/usr/bin/site_perl
+[ -d /usr/lib/perl5/site_perl/bin ] && setenv PATH
+${PATH}:/usr/lib/perl5/site_perl/bin
+
+[ -d /usr/bin/vendor_perl ] && setenv PATH ${PATH}:/usr/bin/vendor_perl
+[ -d /usr/lib/perl5/vendor_perl/bin ] && setenv PATH
+${PATH}:/usr/lib/perl5/vendor_perl/bin
+
+[ -d /usr/bin/core_perl ] && setenv PATH ${PATH}:/usr/bin/core_perl
+
+# If you have modules in non-standard directories you can add them here.
+#export PERLLIB=dir1:dir2
diff --git a/testing/perl/perlbin.sh b/testing/perl/perlbin.sh
index 09811a8b4..20f830436 100755
--- a/testing/perl/perlbin.sh
+++ b/testing/perl/perlbin.sh
@@ -3,18 +3,13 @@
# Added /usr/bin/*_perl dirs for scripts
# Remove /usr/lib/perl5/*_perl/bin in next release
-[ -d /usr/bin/site_perl ] &&
- PATH=$PATH:/usr/bin/site_perl
-[ -d /usr/lib/perl5/site_perl/bin ] &&
- PATH=$PATH:/usr/lib/perl5/site_perl/bin
+[ -d /usr/bin/site_perl ] && PATH=$PATH:/usr/bin/site_perl
+[ -d /usr/lib/perl5/site_perl/bin ] && PATH=$PATH:/usr/lib/perl5/site_perl/bin
-[ -d /usr/bin/vendor_perl ] &&
- PATH=$PATH:/usr/bin/vendor_perl
-[ -d /usr/lib/perl5/vendor_perl/bin ] &&
- PATH=$PATH:/usr/lib/perl5/vendor_perl/bin
+[ -d /usr/bin/vendor_perl ] && PATH=$PATH:/usr/bin/vendor_perl
+[ -d /usr/lib/perl5/vendor_perl/bin ] && PATH=$PATH:/usr/lib/perl5/vendor_perl/bin
-[ -d /usr/bin/core_perl ] &&
- PATH=$PATH:/usr/bin/core_perl
+[ -d /usr/bin/core_perl ] && PATH=$PATH:/usr/bin/core_perl
export PATH