From 39611c22b7715ebba0f61c7a32a237373243d699 Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 30 May 2007 06:55:33 +0000 Subject: 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. --- classes/cpan.bbclass | 3 +++ packages/perl/perl-5.8.8/native-perlinc.patch | 16 ++++++++++++++++ packages/perl/perl-native_5.8.8.bb | 5 +++-- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 packages/perl/perl-5.8.8/native-perlinc.patch 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}" -- cgit v1.2.3