summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Veller <tove@gentoo.org>2009-05-08 05:46:34 +0000
committerTorsten Veller <tove@gentoo.org>2009-05-08 05:46:34 +0000
commit71946f6fff288db7859b5063196037f22317c478 (patch)
treeea8ecad5d3d10a88518c1a834bfeec52a0bca6eb /dev-lang
parentMigrate to EAPI=2. Removed old version. (diff)
downloadgentoo-2-71946f6fff288db7859b5063196037f22317c478.tar.gz
gentoo-2-71946f6fff288db7859b5063196037f22317c478.tar.bz2
gentoo-2-71946f6fff288db7859b5063196037f22317c478.zip
Fix h2ph to handle system headers with quotes
(Portage version: 2.2_rc33/cvs/Linux i686)
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/perl/ChangeLog6
-rw-r--r--dev-lang/perl/files/perl-fix_h2ph_include_quote.patch61
-rw-r--r--dev-lang/perl/perl-5.8.8-r6.ebuild6
3 files changed, 71 insertions, 2 deletions
diff --git a/dev-lang/perl/ChangeLog b/dev-lang/perl/ChangeLog
index d599619e39cb..7b08613a2a1d 100644
--- a/dev-lang/perl/ChangeLog
+++ b/dev-lang/perl/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-lang/perl
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.278 2009/04/26 11:19:56 bluebird Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.279 2009/05/08 05:46:34 tove Exp $
+
+ 08 May 2009; Torsten Veller <tove@gentoo.org>
+ +files/perl-fix_h2ph_include_quote.patch, perl-5.8.8-r6.ebuild:
+ Fix h2ph to handle system headers with quotes
26 Apr 2009; Friedrich Oslage <bluebird@gentoo.org>
+files/perl-5.8.8-lib32.patch, files/perl-5.8.8-lib64.patch,
diff --git a/dev-lang/perl/files/perl-fix_h2ph_include_quote.patch b/dev-lang/perl/files/perl-fix_h2ph_include_quote.patch
new file mode 100644
index 000000000000..a71fbe6e293b
--- /dev/null
+++ b/dev-lang/perl/files/perl-fix_h2ph_include_quote.patch
@@ -0,0 +1,61 @@
+Subject: Fix h2ph with double-quote-delimited #include directives.
+
+Allow the quote mark delimiter also for those #include directives chased with "h2ph -a".
+
+Debian bug #479762.
+
+Also add the directory prefix of the current file when the quote syntax is
+used; 'require' will only look in @INC, not the current directory.
+
+Upstream change 33835.
+--- a/utils/h2ph.PL
++++ b/utils/h2ph.PL
+@@ -85,7 +85,7 @@ sub reindent($) {
+ }
+
+ my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
+-my ($incl, $incl_type, $next);
++my ($incl, $incl_type, $incl_quote, $next);
+ while (defined (my $file = next_file())) {
+ if (-l $file and -d $file) {
+ link_if_possible($file) if ($opt_l);
+@@ -186,9 +186,10 @@ while (defined (my $file = next_file())) {
+ print OUT $t,"unless(defined(\&$name)) {\n sub $name () {\t",$new,";}\n}\n";
+ }
+ }
+- } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) {
++ } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
+ $incl_type = $1;
+- $incl = $2;
++ $incl_quote = $2;
++ $incl = $3;
+ if (($incl_type eq 'include_next') ||
+ ($opt_e && exists($bad_file{$incl}))) {
+ $incl =~ s/\.h$/.ph/;
+@@ -221,6 +222,10 @@ while (defined (my $file = next_file())) {
+ "warn(\$\@) if \$\@;\n");
+ } else {
+ $incl =~ s/\.h$/.ph/;
++ # copy the prefix in the quote syntax (#include "x.h") case
++ if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~ m|^(.*)/|) {
++ $incl = "$1/$incl";
++ }
+ print OUT $t,"require '$incl';\n";
+ }
+ } elsif (/^ifdef\s+(\w+)/) {
+@@ -724,8 +729,13 @@ sub queue_includes_from
+ $line .= <HEADER>;
+ }
+
+- if ($line =~ /^#\s*include\s+<(.*?)>/) {
+- push(@ARGV, $1) unless $Is_converted{$1};
++ if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) {
++ my ($delimiter, $new_file) = ($1, $2);
++ # copy the prefix in the quote syntax (#include "x.h") case
++ if ($delimiter eq q{"} && $file =~ m|^(.*)/|) {
++ $new_file = "$1/$new_file";
++ }
++ push(@ARGV, $new_file) unless $Is_converted{$new_file};
+ }
+ }
+ close HEADER;
diff --git a/dev-lang/perl/perl-5.8.8-r6.ebuild b/dev-lang/perl/perl-5.8.8-r6.ebuild
index 4907b07a8989..0f6d73dd8507 100644
--- a/dev-lang/perl/perl-5.8.8-r6.ebuild
+++ b/dev-lang/perl/perl-5.8.8-r6.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.8-r6.ebuild,v 1.3 2009/04/26 11:19:56 bluebird Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/perl-5.8.8-r6.ebuild,v 1.4 2009/05/08 05:46:34 tove Exp $
inherit eutils flag-o-matic toolchain-funcs multilib
@@ -143,6 +143,10 @@ src_unpack() {
# Patch from bug 168312, thanks Peter!
has_version '>sys-kernel/linux-headers-2.6.20' && epatch "${FILESDIR}"/${P}-asm-page-h-compile-failure.patch
+ # Also add the directory prefix of the current file when the quote syntax is
+ # used; 'require' will only look in @INC, not the current directory.
+ epatch "${FILESDIR}"/${PN}-fix_h2ph_include_quote.patch
+
# perlcc fix patch - bug #181229
epatch "${FILESDIR}"/${P}-perlcc.patch