diff options
-rw-r--r-- | meta/packages/perl/libxml-parser-perl-native_2.34.bb | 7 | ||||
-rw-r--r-- | meta/packages/perl/libxml-parser-perl_2.34.bb | 11 | ||||
-rw-r--r-- | meta/packages/perl/perl-5.8.8/generate-sh.patch | 40 | ||||
-rw-r--r-- | meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch | 13 | ||||
-rw-r--r-- | meta/packages/perl/perl-5.8.8/native-perlinc.patch | 16 | ||||
-rw-r--r-- | meta/packages/perl/perl-native_5.8.8.bb | 20 | ||||
-rw-r--r-- | meta/packages/perl/perl_5.8.8.bb | 6 |
7 files changed, 99 insertions, 14 deletions
diff --git a/meta/packages/perl/libxml-parser-perl-native_2.34.bb b/meta/packages/perl/libxml-parser-perl-native_2.34.bb index d3629cba8..893265617 100644 --- a/meta/packages/perl/libxml-parser-perl-native_2.34.bb +++ b/meta/packages/perl/libxml-parser-perl-native_2.34.bb @@ -1,5 +1,8 @@ SECTION = "libs" -require libxml-parser-perl_${PV}.bb + inherit native + +require libxml-parser-perl_${PV}.bb + DEPENDS = "perl-native expat-native" -RDEPENDS = "perl-native" +EXTRA_CPANFLAGS += " EXPATINCPATH='${STAGING_INCDIR}' EXPATLIBPATH='${STAGING_LIBDIR}'" diff --git a/meta/packages/perl/libxml-parser-perl_2.34.bb b/meta/packages/perl/libxml-parser-perl_2.34.bb index 89947376e..0b0cd750b 100644 --- a/meta/packages/perl/libxml-parser-perl_2.34.bb +++ b/meta/packages/perl/libxml-parser-perl_2.34.bb @@ -1,6 +1,15 @@ SECTION = "libs" -SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-2.34.tar.gz" LICENSE = "Artistic" +DEPENDS += "expat-native" +PR = "r9" + +SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz" + S = "${WORKDIR}/XML-Parser-${PV}" +EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}" + inherit cpan + +FILES_${PN} = "${PERLLIBDIRS}/auto/XML/Parser/Expat/* \ + ${PERLLIBDIRS}/XML" diff --git a/meta/packages/perl/perl-5.8.8/generate-sh.patch b/meta/packages/perl/perl-5.8.8/generate-sh.patch index 4c2b0bd75..50ce00b42 100644 --- a/meta/packages/perl/perl-5.8.8/generate-sh.patch +++ b/meta/packages/perl/perl-5.8.8/generate-sh.patch @@ -1,16 +1,46 @@ Use the ld flags from the supplied configuration file. For sh we need the flags that specify to build PIC code so that the shared libraries work. ---- perl-5.8.7/Cross/generate_config_sh~ 2006-09-25 16:34:09.000000000 +1000 -+++ perl-5.8.7/Cross/generate_config_sh 2006-09-25 16:34:09.000000000 +1000 -@@ -19,8 +19,8 @@ +Index: perl-5.8.8/Cross/generate_config_sh +=================================================================== +--- perl-5.8.8.orig/Cross/generate_config_sh 2003-09-05 18:31:08.000000000 +1000 ++++ perl-5.8.8/Cross/generate_config_sh 2007-05-30 09:12:50.000000000 +1000 +@@ -19,10 +19,10 @@ $callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]]; $callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]]; $callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]]; -$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; -$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; +-$callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; +-$callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; +#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; +#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; - $callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; - $callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; ++$callbacks->{'ccflags'} = [\&simple_process_insert, ["CFLAGS", "-fno-strict-aliasing -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; ++$callbacks->{'ccflags_uselargefiles'} = [\&simple_process_insert, ["CFLAGS", "-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; $callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]]; + $callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]]; + $callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]]; +@@ -105,6 +105,23 @@ + + } + ++# Insert env var into the variables value ++sub simple_process_insert { ++ my $key = shift; ++ my $value = shift; ++ my $envvar = $callbacks->{$key}->[1][0]; ++ ++ if ($ENV{$envvar}) { ++ # Strip quotes from value ++ $value =~ s/^\'//; ++ $value =~ s/\'$//; ++ # Remove -I/usr/local/... from the value ++ $value =~ s#\W-I/usr/local/\w+\W##g; ++ # Prepend env var (OE setting) to value ++ print("$key=\'$ENV{$envvar} $value\'\n"); ++ } ++} ++ + sub library_munge { + my $key = shift; + my $value = shift; diff --git a/meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch b/meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch new file mode 100644 index 000000000..1f1547437 --- /dev/null +++ b/meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch @@ -0,0 +1,13 @@ +Index: perl-5.8.8/makedepend.SH +=================================================================== +--- perl-5.8.8.orig/makedepend.SH 2007-05-24 12:06:52.000000000 +1000 ++++ perl-5.8.8/makedepend.SH 2007-05-24 12:27:33.000000000 +1000 +@@ -128,7 +128,7 @@ + *.y) filebase=`basename $file .y` ;; + esac + case "$file" in +- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;; ++ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;; + *) finc= ;; + esac + $echo "Finding dependencies for $filebase$_o." diff --git a/meta/packages/perl/perl-5.8.8/native-perlinc.patch b/meta/packages/perl/perl-5.8.8/native-perlinc.patch new file mode 100644 index 000000000..aea38a0b5 --- /dev/null +++ b/meta/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/meta/packages/perl/perl-native_5.8.8.bb b/meta/packages/perl/perl-native_5.8.8.bb index c9d9b5177..d4896daa1 100644 --- a/meta/packages/perl/perl-native_5.8.8.bb +++ b/meta/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 = "r7" +PR = "r10" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}" @@ -12,7 +12,9 @@ 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 \ + file://native-makedepend-dash.patch;patch=1" S = "${WORKDIR}/perl-${PV}" @@ -26,7 +28,16 @@ do_configure () { -Dcf_by="Open Embedded" \ -Dprefix=${prefix} \ -Dvendorprefix=${prefix} \ - -Dsiteprefix=${prefix}/local \ + -Dvendorprefix=${prefix} \ + -Dsiteprefix=${prefix} \ + \ + -Dprivlib=${STAGING_LIBDIR}/perl/${PV} \ + -Darchlib=${STAGING_LIBDIR}/perl/${PV} \ + -Dvendorlib=${STAGING_LIBDIR}/perl/${PV} \ + -Dvendorarch=${STAGING_LIBDIR}/perl/${PV} \ + -Dsitelib=${STAGING_LIBDIR}/perl/${PV} \ + -Dsitearch=${STAGING_LIBDIR}/perl/${PV} \ + \ -Duseshrplib \ -Dusethreads \ -Duseithreads \ @@ -50,6 +61,9 @@ do_configure () { do_stage_append() { # We need a hostperl link for building perl ln -sf ${STAGING_BINDIR_NATIVE}/perl${PV} ${STAGING_BINDIR_NATIVE}/hostperl + # Store native config in non-versioned directory + install -d ${STAGING_DIR}/${HOST_SYS}/perl + install config.sh ${STAGING_DIR}/${HOST_SYS}/perl } PARALLEL_MAKE = "" diff --git a/meta/packages/perl/perl_5.8.8.bb b/meta/packages/perl/perl_5.8.8.bb index c8e7afebc..42a376c32 100644 --- a/meta/packages/perl/perl_5.8.8.bb +++ b/meta/packages/perl/perl_5.8.8.bb @@ -5,7 +5,7 @@ LICENSE = "Artistic|GPL" PRIORITY = "optional" # We need gnugrep (for -I) DEPENDS = "virtual/db perl-native grep-native" -PR = "r16" +PR = "r18" # Major part of version PVM = "5.8" @@ -37,7 +37,7 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \ HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}" # Where to find .so files - use the -native versions not those from the target build -export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl5/${PV}/${BUILD_ARCH}-${BUILD_OS}-thread-multi/" +export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/" do_configure() { # Make hostperl in build directory be the native perl @@ -123,7 +123,7 @@ do_install() { do_stage() { install -d ${STAGING_DIR}/${HOST_SYS}/perl/ install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/ - install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl5/${PV}/Config_heavy-target.pl + install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/Config_heavy-target.pl } PACKAGES = "perl-dbg perl perl-misc perl-lib perl-dev perl-pod perl-doc" |