diff options
author | Jamie Lenehan <lenehan@twibble.org> | 2007-05-30 06:55:33 +0000 |
---|---|---|
committer | Jamie Lenehan <lenehan@twibble.org> | 2007-05-30 06:55:33 +0000 |
commit | 39611c22b7715ebba0f61c7a32a237373243d699 (patch) | |
tree | fb48cba1963c436294d1f7490f5655a269b5138c | |
parent | b6b6af9be48002cb4a978aa93a827d1b6d11efad (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.bbclass | 3 | ||||
-rw-r--r-- | packages/perl/perl-5.8.8/native-perlinc.patch | 16 | ||||
-rw-r--r-- | packages/perl/perl-native_5.8.8.bb | 5 |
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}" |