From 5e8a6a470237711ad18f12dde87deea6f2b8b0e0 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Jun 2011 23:10:39 +0000 Subject: Wed Jun 29 23:10:38 UTC 2011 --- ...GS-and-LDFLAGS-to-their-Config.pm-counter.patch | 83 +++++++++++ core/perl/ChangeLog | 16 +++ core/perl/PKGBUILD | 151 ++++----------------- core/perl/perlbin.csh | 17 +++ core/perl/perlbin.sh | 15 +- 5 files changed, 144 insertions(+), 138 deletions(-) create mode 100644 core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch create mode 100644 core/perl/perlbin.csh (limited to 'core/perl') diff --git a/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch b/core/perl/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch new file mode 100644 index 000000000..1404460df --- /dev/null +++ b/core/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 +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/core/perl/ChangeLog b/core/perl/ChangeLog index 2de069d5d..9add39e20 100644 --- a/core/perl/ChangeLog +++ b/core/perl/ChangeLog @@ -1,3 +1,19 @@ +2011-06-22 Angel Velasquez + * 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 + * Fixed #FS24660 + * Rebuilt against db 5.2.28 + +2011-05-16 Angel Velasquez + * perl 5.14.0 + * Removed patch for h2ph warning from 5.12.3 + * Removed provides array, you can use corelist -v 5.14.0 to know the + modules included with the perl core, through Module::CoreList (thx j3nnn1 + for the tip) + 2010-11-07 kevin * perl 5.12.2-1 diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD index 37f3a0e91..8f6af76c0 100644 --- a/core/perl/PKGBUILD +++ b/core/perl/PKGBUILD @@ -1,136 +1,28 @@ -# $Id: PKGBUILD 107935 2011-01-27 21:58:49Z angvp $ -# Maintainer: kevin +# $Id: PKGBUILD 128400 2011-06-23 21:11:34Z angvp $ +# Maintainer: Angel Velasquez +# Contributor: kevin # Contributor: judd # Contributor: francois pkgname=perl -pkgver=5.12.3 +pkgver=5.14.1 pkgrel=1 pkgdesc="A highly capable, feature-rich programming language" arch=(i686 x86_64) license=('GPL' 'PerlArtistic') url="http://www.perl.org" groups=('base') -depends=('gdbm' 'db>=4.8' 'coreutils' 'glibc' 'sh') +depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh') changelog=ChangeLog -source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 perlbin.sh fix-h2ph-and-tests.patch) +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 -provides=( -perl-archive-extract=0.38 -perl-archive-tar=1.54 -perl-attribute-handlers=0.87 -perl-autodie=2.06_01 -perl-autoloader=5.70 -perl-base=2.15 -perl-b-debug=1.12 -perl-bignum=0.23 -perl-b-lint=1.11_01 -perl-cgi=3.49 -perl-class-isa=0.36 -perl-compress-raw-bzip2=2.024 -perl-compress-raw-zlib=2.024 -perl-constant=1.20 -perl-cpan=1.94_56 -perl-cpanplus=0.90 -perl-cpanplus-dist-build=0.46 -perl-data-dumper=2.125 -perl-db_file=1.820 -perl-devel-dprof=20080331.00 -perl-devel-peek=1.04 -perl-devel-ppport=3.19 -perl-digest=1.16 -perl-digest-md5=2.39 -perl-digest-sha=5.47 -perl-encode=2.39 -perl-encoding-warnings=0.11 -perl-exporter=5.64_01 -perl-extutils-cbuilder=0.27 -perl-extutils-command=1.16 -perl-extutils-constant=0.22 -perl-extutils-embed=1.28 -perl-extutils-install=1.55 -perl-extutils-makemaker=6.56 -perl-extutils-manifest=1.57 -perl-extutils-parsexs=2.21 -perl-file-fetch=0.24 -perl-file-path=2.08_01 -perl-file-temp=0.22 -perl-filter=1.37 -perl-filter-simple=0.84 -perl-getopt-long=2.38 -perl-if=0.05 -perl-io=1.25_02 -perl-io-compress=2.024 -perlio-via-quotedprint=0.06 -perl-io-zlib=1.10 -perl-ipc-cmd=0.54 -perl-ipc-sysv=2.01 -perl-libnet=1.22 -perl-locale-codes=2.07 -perl-locale-maketext=1.14 -perl-locale-maketext-simple=0.21 -perl-log-message=0.02 -perl-log-message-simple=0.06 -perl-math-bigint=1.89_01 -perl-math-bigint-fastcalc=0.19 -perl-math-bigrat=0.24 -perl-math-complex=1.56 -perl-memoize=1.01_03 -perl-mime-base64=3.08 -perl-module-build=0.3603 -perl-module-corelist=2.29 -perl-module-load=0.16 -perl-module-load-conditional=0.34 -perl-module-loaded=0.06 -perl-module-pluggable=3.9 -perl-net-ping=2.36 -perl-next=0.64 -perl-object-accessor=0.36 -perl-package-constants=0.02 -perl-params-check=0.26 -perl-parent=0.223 -perl-parse-cpan-meta=1.40 -perl-pathtools=3.31 -perl-pod-escapes=1.04 -perl-pod-latex=0.58 -perl-podlators=2.3.1 -perl-pod-parser=1.37 -perl-pod-perldoc=3.15_02 -perl-pod-plainer=1.02 -perl-pod-simple=3.14 -perl-safe=2.27 -perl-scalar-list-utils=1.22 -perl-selfloader=1.17 -perl-shell=0.72_01 -perl-storable=2.22 -perl-switch=2.16 -perl-sys-syslog=0.27 -perl-term-ansicolor=2.02 -perl-term-cap=1.12 -perl-term-ui=0.20 -perl-test=1.25_02 -perl-test-harness=3.17 -perl-test-simple=0.94 -perl-text-balanced=2.02 -perl-text-parsewords=3.27 -perl-text-soundex=3.03_01 -perl-text-tabs+wraps=2009.0305 -perl-thread-queue=2.11 -perl-threads=1.75 -perl-thread-semaphore=2.09 -perl-threads-shared=1.32 -perl-tie-file=0.97_02 -perl-tie-refhash=1.38 -perl-time-hires=1.9719 -perl-time-local=1.1901_01 -perl-time-piece=1.15_01 -perl-unicode-collate=0.52_01 -perl-unicode-normalize=1.03 -perl-version=0.82 -perl-win32=0.39 -perl-win32api-file=0.1101 -perl-xsloader=0.10 -) options=('!makeflags' '!purge') +md5sums=('97cd306a2c22929cc141a09568f43bb0' + '5ed2542fdb9a60682f215bd33701e61a' + 'd76445605c49886c77734446247e439d' + 'c25d86206d649046538c3daab7874564') build() { cd ${srcdir}/${pkgname}-${pkgver} @@ -154,9 +46,9 @@ build() { -Dsitescript=/usr/bin/site_perl \ -Dvendorscript=/usr/bin/vendor_perl \ -Dinc_version_list=none \ - -Dman1ext=1perl -Dman3ext=3perl ${arch_opts} - #-Dotherlibdirs=/usr/lib/perl5/site_perl/5.10.1:/usr/share/perl5/site_perl/5.10.1:/usr/lib/perl5/current:/usr/lib/perl5/site_perl/current \ - patch -Np1 -i $srcdir/fix-h2ph-and-tests.patch + -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() { @@ -183,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) @@ -202,7 +97,7 @@ 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 } -md5sums=('72f3f7e1c700e79bbf9d9279ca5b42d9' - 'f86eb0dba1638ca6d1c8fff1b06c2a71' - '294b5311cbfc50e7dcffbee85854da38') diff --git a/core/perl/perlbin.csh b/core/perl/perlbin.csh new file mode 100644 index 000000000..cc0d5d553 --- /dev/null +++ b/core/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/core/perl/perlbin.sh b/core/perl/perlbin.sh index 09811a8b4..20f830436 100755 --- a/core/perl/perlbin.sh +++ b/core/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 -- cgit v1.2.3-54-g00ecf