]> code.ossystems Code Review - openembedded-core.git/commitdiff
perl: sync with OE
authorMarcin Juszkiewicz <hrw@openedhand.com>
Wed, 30 May 2007 09:33:32 +0000 (09:33 +0000)
committerMarcin Juszkiewicz <hrw@openedhand.com>
Wed, 30 May 2007 09:33:32 +0000 (09:33 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1816 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/packages/perl/libxml-parser-perl-native_2.34.bb
meta/packages/perl/libxml-parser-perl_2.34.bb
meta/packages/perl/perl-5.8.8/generate-sh.patch
meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch [new file with mode: 0644]
meta/packages/perl/perl-5.8.8/native-perlinc.patch [new file with mode: 0644]
meta/packages/perl/perl-native_5.8.8.bb
meta/packages/perl/perl_5.8.8.bb

index d3629cba8b83e05b5429dc07186c1ad6d2d267ce..8932656171bde6b8a1994aa179f5790d2b6030be 100644 (file)
@@ -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}'"
index 89947376e64fe36cec135cca3883143cbf92acd6..0b0cd750b07258b8ed620d22773abcbd4fb87644 100644 (file)
@@ -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"
index 4c2b0bd752039d3a2c44ce16d8a0ea517a2fab96..50ce00b42f98b0559da1f38410fc4d011948959e 100644 (file)
@@ -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 (file)
index 0000000..1f15474
--- /dev/null
@@ -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 (file)
index 0000000..aea38a0
--- /dev/null
@@ -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"))
index c9d9b51771248e89cef185d9e92754740254356a..d4896daa12ba488cc1387700a24a3aa1654250d4 100644 (file)
@@ -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 = ""
index c8e7afebc7dccf2c6d616e91f75e5e75be8c1d78..42a376c3236ebf78cbc3fc701ba0d03daa6aa9d2 100644 (file)
@@ -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"