diff options
-rw-r--r-- | meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch | 42 | ||||
-rw-r--r-- | meta/recipes-devtools/perl/perl-native_5.14.2.bb | 5 | ||||
-rw-r--r-- | meta/recipes-devtools/perl/perl_5.14.2.bb | 3 |
3 files changed, 47 insertions, 3 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch new file mode 100644 index 0000000000..16064ede92 --- /dev/null +++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-build-in-t-dir.patch @@ -0,0 +1,42 @@ +Upstream-Status:Pending + +Perl cannot cross build in a path containing a directory that has the +name of "t". As an example, you can make the perl build fail with +"mkdir -p /tmp/build/t", go to the directory, unpack the sources, +configure and cross build. + +You get an error like the following: + pod/buildtoc: no pods at pod/buildtoc line 305. + make[1]: *** [pod/perltoc.pod] Error 255 + +The fix is to strip off the top directory that you are building in and +then execute all the same logic as before against the path relative to +the build directory. + +Signed-off-by: Jason Wessel <jason.wessel@windriver.com> +--- + pod/buildtoc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/pod/buildtoc ++++ b/pod/buildtoc +@@ -274,8 +274,10 @@ if ($Build{toc}) { + find \&getpods => abs_from_top('lib/'); + + sub getpods { ++ my $Top = $FindBin::Bin; + if (/\.p(od|m)$/) { + my $file = $File::Find::name; ++ $file =~ s!^$Top!!; + return if $file =~ qr!/lib/Pod/Functions.pm\z!; # Used only by pod itself + return if $file =~ m!(?:^|/)t/!; + return if $file =~ m!lib/Attribute/Handlers/demo/!; +@@ -283,7 +285,7 @@ if ($Build{toc}) { + return if $file =~ m!lib/Math/BigInt/t/!; + return if $file =~ m!/Devel/PPPort/[Hh]arness|lib/Devel/Harness!i; + return if $file =~ m!XS/(?:APItest|Typemap)!; +- my $pod = $file; ++ my $pod = $file = $File::Find::name; + return if $pod =~ s/pm$/pod/ && -e $pod; + unless (open my $f, '<', $_) { + warn "$0: bogus <$file>: $!"; diff --git a/meta/recipes-devtools/perl/perl-native_5.14.2.bb b/meta/recipes-devtools/perl/perl-native_5.14.2.bb index c904c377ac..df8f0584ad 100644 --- a/meta/recipes-devtools/perl/perl-native_5.14.2.bb +++ b/meta/recipes-devtools/perl/perl-native_5.14.2.bb @@ -4,7 +4,7 @@ SECTION = "libs" LICENSE = "Artistic-1.0 | GPL-1.0" LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8" -PR = "r0" +PR = "r1" LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8" @@ -14,7 +14,8 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ file://perl-configpm-switch.patch \ file://native-nopacklist.patch \ file://native-perlinc.patch \ - file://MM_Unix.pm.patch" + file://MM_Unix.pm.patch \ + file://perl-build-in-t-dir.patch" SRC_URI[md5sum] = "3306fbaf976dcebdcd49b2ac0be00eb9" SRC_URI[sha256sum] = "6488359573bd7d41761bf935f66f827dc220fb3df961ef9b775d51fbd66548d3" diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb index 809fc72d33..2452a4407e 100644 --- a/meta/recipes-devtools/perl/perl_5.14.2.bb +++ b/meta/recipes-devtools/perl/perl_5.14.2.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \ # We need gnugrep (for -I) DEPENDS = "virtual/db grep-native" DEPENDS += "gdbm zlib" -PR = "r6" +PR = "r7" # 5.10.1 has Module::Build built-in PROVIDES += "libmodule-build-perl" @@ -65,6 +65,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \ file://perl-enable-gdbm.patch \ file://cross-generate_uudmap.patch \ file://fix_bad_rpath.patch \ + file://perl-build-in-t-dir.patch \ \ file://config.sh \ file://config.sh-32 \ |