Thu Feb 23 13:00:23 2012 UTC ()
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.


(fhajny)
diff -r1.178 -r1.179 pkgsrc/lang/perl5/Makefile
diff -r1.83 -r1.84 pkgsrc/lang/perl5/distinfo
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-dist_ExtUtils_CBuilder_lib_ExtUtils_CBuilder_Base.pm
diff -r0 -r1.1 pkgsrc/lang/perl5/patches/patch-dist_ExtUtils_CBuilder_t_04-base.t

cvs diff -r1.178 -r1.179 pkgsrc/lang/perl5/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/perl5/Makefile 2011/12/08 22:43:49 1.178
+++ pkgsrc/lang/perl5/Makefile 2012/02/23 13:00:23 1.179
@@ -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
6COMMENT= Practical Extraction and Report Language 6COMMENT= Practical Extraction and Report Language
7PKGREVISION= 3 7PKGREVISION= 4
8 8
9PKG_DESTDIR_SUPPORT= user-destdir 9PKG_DESTDIR_SUPPORT= user-destdir
10 10
11CONFLICTS= perl-base-[0-9]* perl-thread-[0-9]* \ 11CONFLICTS= 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

cvs diff -r1.83 -r1.84 pkgsrc/lang/perl5/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/perl5/distinfo 2012/02/19 04:10:49 1.83
+++ pkgsrc/lang/perl5/distinfo 2012/02/23 13:00:23 1.84
@@ -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
3SHA1 (perl-5.14.2.tar.gz) = df1549d65cdef2b20023af83ecaa2a024109a5ad 3SHA1 (perl-5.14.2.tar.gz) = df1549d65cdef2b20023af83ecaa2a024109a5ad
4RMD160 (perl-5.14.2.tar.gz) = bed043edbebd69e1279e9a70424e2552389bea79 4RMD160 (perl-5.14.2.tar.gz) = bed043edbebd69e1279e9a70424e2552389bea79
5Size (perl-5.14.2.tar.gz) = 15223598 bytes 5Size (perl-5.14.2.tar.gz) = 15223598 bytes
6SHA1 (patch-aa) = 7578d0ee8fa20e055c50b8c617680b0d90cc5efa 6SHA1 (patch-aa) = 7578d0ee8fa20e055c50b8c617680b0d90cc5efa
7SHA1 (patch-ab) = b6104a02aa6fbeda2340042a93c2382d1a1965bb 7SHA1 (patch-ab) = b6104a02aa6fbeda2340042a93c2382d1a1965bb
8SHA1 (patch-ac) = c1893ea4cf4b89b03b3acc5dec9b5828d50c5dad 8SHA1 (patch-ac) = c1893ea4cf4b89b03b3acc5dec9b5828d50c5dad
9SHA1 (patch-ah) = 6fe177646f0fc40f11f4b2b4f504ca45ddff1941 9SHA1 (patch-ah) = 6fe177646f0fc40f11f4b2b4f504ca45ddff1941
10SHA1 (patch-aq) = 0afdf2d8a262ea09e2df6efae705e7227dc9f06f 10SHA1 (patch-aq) = 0afdf2d8a262ea09e2df6efae705e7227dc9f06f
11SHA1 (patch-ca) = 51ef8888578ce7a724313d6f62e573ca92e455f7 11SHA1 (patch-ca) = 51ef8888578ce7a724313d6f62e573ca92e455f7
12SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099 12SHA1 (patch-ch) = 5b6a89c82e158bab0a5f06add48c28e600678099
13SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee 13SHA1 (patch-ck) = 5c381db130cdf4c315678e2d65380eaaa3065fee
14SHA1 (patch-cn) = a88fcb04b32c6e446d77b62cb6883a04f04e2e75 14SHA1 (patch-cn) = a88fcb04b32c6e446d77b62cb6883a04f04e2e75
15SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975 15SHA1 (patch-cp) = 0b22d334df24d128142855464bf6dd61d4d82975
16SHA1 (patch-cpan_Digest_Digest.pm) = bcd507631268608385a1a80d879c44cb2a057560 16SHA1 (patch-cpan_Digest_Digest.pm) = bcd507631268608385a1a80d879c44cb2a057560
 17SHA1 (patch-dist_ExtUtils_CBuilder_lib_ExtUtils_CBuilder_Base.pm) = 322af733b280a3f9c676dcbc890d8dc4f0e3880b
 18SHA1 (patch-dist_ExtUtils_CBuilder_t_04-base.t) = 362e6f2884fa225f541b22d8f44af1aa58859daf
17SHA1 (patch-hints_netbsd.sh) = acbe28ff4b99d45e29e66003bdd370ba5aaaa999 19SHA1 (patch-hints_netbsd.sh) = acbe28ff4b99d45e29e66003bdd370ba5aaaa999
18SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe 20SHA1 (patch-ta) = 51a3e02148e78eaab882125f859e59add39a4fbe
19SHA1 (patch-zd) = 15532739b4a582da322d3e51fc364905bacbcd7e 21SHA1 (patch-zd) = 15532739b4a582da322d3e51fc364905bacbcd7e
20SHA1 (patch-ze) = 82f03439ab59aac4adfcb895ca22a0bbaaa0a6d1 22SHA1 (patch-ze) = 82f03439ab59aac4adfcb895ca22a0bbaaa0a6d1

File Added: pkgsrc/lang/perl5/patches/Attic/patch-dist_ExtUtils_CBuilder_lib_ExtUtils_CBuilder_Base.pm
$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/\.[^.]*/);

File Added: pkgsrc/lang/perl5/patches/Attic/patch-dist_ExtUtils_CBuilder_t_04-base.t
$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) {