Backport a fix for a serious bug from upstream, where pkgsrc's CFLAGS were being used to replace EU::CBuilder's ccflags, resulting in tests and modules failing in specific situations (e.g. on SunOS with ABI=32). https://rt.perl.org/rt3//Public/Bug/Display.html?id=89478 Bump PKGREVISION.diff -r1.178 -r1.179 pkgsrc/lang/perl5/Makefile
(fhajny)
@@ -1,20 +1,20 @@ | @@ -1,20 +1,20 @@ | |||
1 | # $NetBSD: Makefile,v 1.178 2011/12/08 22:43:49 hiramatsu Exp $ | 1 | # $NetBSD: Makefile,v 1.179 2012/02/23 13:00:23 fhajny Exp $ | |
2 | 2 | |||
3 | .include "license.mk" | 3 | .include "license.mk" | |
4 | .include "Makefile.common" | 4 | .include "Makefile.common" | |
5 | 5 | |||
6 | COMMENT= Practical Extraction and Report Language | 6 | COMMENT= Practical Extraction and Report Language | |
7 | PKGREVISION= 3 | 7 | PKGREVISION= 4 | |
8 | 8 | |||
9 | PKG_DESTDIR_SUPPORT= user-destdir | 9 | PKG_DESTDIR_SUPPORT= user-destdir | |
10 | 10 | |||
11 | CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ | 11 | CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ | |
12 | p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \ | 12 | p5-CGI-2.66{,nb*} p5-CGI-2.75{,nb*} p5-CGI-2.75.[0-2] \ | |
13 | p5-Tie-File-0.96{,nb*} \ | 13 | p5-Tie-File-0.96{,nb*} \ | |
14 | p5-Memoize-1.01{,nb*} \ | 14 | p5-Memoize-1.01{,nb*} \ | |
15 | p5-I18N-LangTags<0.35 \ | 15 | p5-I18N-LangTags<0.35 \ | |
16 | p5-Locale-Maketext-1.[0-9]*{,nb*} \ | 16 | p5-Locale-Maketext-1.[0-9]*{,nb*} \ | |
17 | p5-Locale-Maketext-Simple<0.21 \ | 17 | p5-Locale-Maketext-Simple<0.21 \ | |
18 | p5-Digest<=1.16 \ | 18 | p5-Digest<=1.16 \ | |
19 | p5-Digest-MD5<=2.39 \ | 19 | p5-Digest-MD5<=2.39 \ | |
20 | p5-Digest-SHA<2.48 | 20 | p5-Digest-SHA<2.48 |
@@ -1,20 +1,22 @@ | @@ -1,20 +1,22 @@ | |||
1 | $NetBSD: distinfo,v 1.83 2012/02/19 04:10:49 sbd Exp $ | 1 | $NetBSD: distinfo,v 1.84 2012/02/23 13:00:23 fhajny Exp $ | |
2 | 2 | |||
3 | SHA1 (perl-5.14.2.tar.gz) = df1549d65cdef2b20023af83ecaa2a024109a5ad | 3 | SHA1 (perl-5.14.2.tar.gz) = df1549d65cdef2b20023af83ecaa2a024109a5ad | |
4 | RMD160 (perl-5.14.2.tar.gz) = bed043edbebd69e1279e9a70424e2552389bea79 | 4 | RMD160 (perl-5.14.2.tar.gz) = bed043edbebd69e1279e9a70424e2552389bea79 | |
5 | Size (perl-5.14.2.tar.gz) = 15223598 bytes | 5 | Size (perl-5.14.2.tar.gz) = 15223598 bytes | |
6 | SHA1 (patch-aa) = 7578d0ee8fa20e055c50b8c617680b0d90cc5efa | 6 | SHA1 (patch-aa) = 7578d0ee8fa20e055c50b8c617680b0d90cc5efa | |
7 | SHA1 (patch-ab) = b6104a02aa6fbeda2340042a93c2382d1a1965bb | 7 | SHA1 (patch-ab) = b6104a02aa6fbeda2340042a93c2382d1a1965bb | |
8 | SHA1 (patch-ac) = c1893ea4cf4b89b03b3acc5dec9b5828d50c5dad | 8 | SHA1 (patch-ac) = c1893ea4cf4b89b03b3acc5dec9b5828d50c5dad | |
9 | SHA1 (patch-ah) = 6fe177646f0fc40f11f4b2b4f504ca45ddff1941 | 9 | SHA1 (patch-ah) = 6fe177646f0fc40f11f4b2b4f504ca45ddff1941 | |
10 | SHA1 (patch-aq) = 0afdf2d8a262ea09e2df6efae705e7227dc9f06f | 10 | SHA1 (patch-aq) = 0afdf2d8a262ea09e2df6efae705e7227dc9f06f | |
11 | SHA1 (patch-ca) = 51ef8888578ce7a724313d6f62e573ca92e455f7 | 11 | SHA1 (patch-ca) = 51ef8888578ce7a724313d6f62e573ca92e455f7 | |
12 | SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099 | 12 | SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099 | |
13 | SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee | 13 | SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee | |
14 | SHA1 (patch-cn) = a88fcb04b32c6e446d77b62cb6883a04f04e2e75 | 14 | SHA1 (patch-cn) = a88fcb04b32c6e446d77b62cb6883a04f04e2e75 | |
15 | SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975 | 15 | SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975 | |
16 | SHA1 (patch-cpan_Digest_Digest.pm) = bcd507631268608385a1a80d879c44cb2a057560 | 16 | SHA1 (patch-cpan_Digest_Digest.pm) = bcd507631268608385a1a80d879c44cb2a057560 | |
17 | SHA1 (patch-dist_ExtUtils_CBuilder_lib_ExtUtils_CBuilder_Base.pm) = 322af733b280a3f9c676dcbc890d8dc4f0e3880b | |||
18 | SHA1 (patch-dist_ExtUtils_CBuilder_t_04-base.t) = 362e6f2884fa225f541b22d8f44af1aa58859daf | |||
17 | SHA1 (patch-hints_netbsd.sh) = acbe28ff4b99d45e29e66003bdd370ba5aaaa999 | 19 | SHA1 (patch-hints_netbsd.sh) = acbe28ff4b99d45e29e66003bdd370ba5aaaa999 | |
18 | SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe | 20 | SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe | |
19 | SHA1 (patch-zd) = 15532739b4a582da322d3e51fc364905bacbcd7e | 21 | SHA1 (patch-zd) = 15532739b4a582da322d3e51fc364905bacbcd7e | |
20 | SHA1 (patch-ze) = 82f03439ab59aac4adfcb895ca22a0bbaaa0a6d1 | 22 | SHA1 (patch-ze) = 82f03439ab59aac4adfcb895ca22a0bbaaa0a6d1 |
$NetBSD: patch-dist_ExtUtils_CBuilder_lib_ExtUtils_CBuilder_Base.pm,v 1.1 2012/02/23 13:00:23 fhajny Exp $
EU::CBuilder shouldn't override ccflags with CFLAGS (1/2)
https://rt.perl.org/rt3//Public/Bug/Display.html?id=89478
--- dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm.orig 2011-09-26 09:44:34.000000000 +0000
+++ 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/\.[^.]*/);
$NetBSD: patch-dist_ExtUtils_CBuilder_t_04-base.t,v 1.1 2012/02/23 13:00:23 fhajny Exp $
EU::CBuilder shouldn't override ccflags with CFLAGS (2/2)
https://rt.perl.org/rt3//Public/Bug/Display.html?id=89478
--- dist/ExtUtils-CBuilder/t/04-base.t.orig 2011-09-26 09:44:34.000000000 +0000
+++ 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 );
@@ -328,6 +328,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) {