summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2007-05-30 06:55:33 +0000
committerJamie Lenehan <lenehan@twibble.org>2007-05-30 06:55:33 +0000
commit39611c22b7715ebba0f61c7a32a237373243d699 (patch)
treefb48cba1963c436294d1f7490f5655a269b5138c
parentb6b6af9be48002cb4a978aa93a827d1b6d11efad (diff)
perl 5.8.8: Patch MakeMaker in perl-native to check for PERL_INC in the
environment and use that instead of the configured location of PERL_INC. Without this PERL_INC for non-native recipes ends up pointing at where the headers will be located on the target. In theory we could override this in cpan class when calling build.PL but for some packages, such as libxml-parser-perl, that only fixes the top-level makefile and is not propagated to the sub-makefiles. This change results in MakeMaker always picking up the correct staged location of the include files without effecting where they expect to be found on the target.
-rw-r--r--classes/cpan.bbclass3
-rw-r--r--packages/perl/perl-5.8.8/native-perlinc.patch16
-rw-r--r--packages/perl/perl-native_5.8.8.bb5
3 files changed, 22 insertions, 2 deletions
diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass
index 3b1a2b72ca..4fff5974c1 100644
--- a/classes/cpan.bbclass
+++ b/classes/cpan.bbclass
@@ -8,6 +8,9 @@ EXTRA_CPANFLAGS ?= ""
# Env var which tells perl if it should use host (no) or target (yes) settings
export PERLCONFIGTARGET = "${@is_target(d)}"
+# Env var which tells perl where the perl include files are
+export PERL_INC = "${STAGING_DIR}/${BUILD_SYS}/lib/perl/${@get_perl_version(d)}/CORE"
+
cpan_do_configure () {
yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS}
if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
diff --git a/packages/perl/perl-5.8.8/native-perlinc.patch b/packages/perl/perl-5.8.8/native-perlinc.patch
new file mode 100644
index 0000000000..aea38a0b56
--- /dev/null
+++ b/packages/perl/perl-5.8.8/native-perlinc.patch
@@ -0,0 +1,16 @@
+Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
+===================================================================
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:16:47.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:18:12.000000000 +1000
+@@ -1597,6 +1597,11 @@
+ $self->{PERL_LIB} ||= $Config{privlibexp};
+ $self->{PERL_ARCHLIB} ||= $Config{archlibexp};
+ $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
++ # Check for environment override so we'll find the headers in the correct place
++ if (defined $ENV{PERL_INC})
++ {
++ $self->{PERL_INC} = $ENV{PERL_INC};
++ }
+ my $perl_h;
+
+ if (not -f ($perl_h = $self->catfile($self->{PERL_INC},"perl.h"))
diff --git a/packages/perl/perl-native_5.8.8.bb b/packages/perl/perl-native_5.8.8.bb
index 782a61fafe..de7e4ffa3f 100644
--- a/packages/perl/perl-native_5.8.8.bb
+++ b/packages/perl/perl-native_5.8.8.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.perl.org/"
SECTION = "libs"
LICENSE = "Artistic|GPL"
DEPENDS = "virtual/db-native gdbm-native"
-PR = "r8"
+PR = "r9"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}"
@@ -12,7 +12,8 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
file://Configure-multilib.patch;patch=1 \
file://perl-configpm-switch.patch;patch=1 \
file://native-nopacklist.patch;patch=1 \
- file://native-no-gdbminc.patch;patch=1"
+ file://native-no-gdbminc.patch;patch=1 \
+ file://native-perlinc.patch;patch=1"
S = "${WORKDIR}/perl-${PV}"