summaryrefslogtreecommitdiffstats
path: root/meta/packages/perl
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/perl')
-rw-r--r--meta/packages/perl/libxml-parser-perl-native_2.34.bb7
-rw-r--r--meta/packages/perl/libxml-parser-perl_2.34.bb11
-rw-r--r--meta/packages/perl/perl-5.8.8/generate-sh.patch40
-rw-r--r--meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch13
-rw-r--r--meta/packages/perl/perl-5.8.8/native-perlinc.patch16
-rw-r--r--meta/packages/perl/perl-native_5.8.8.bb20
-rw-r--r--meta/packages/perl/perl_5.8.8.bb6
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 d3629cba8b..8932656171 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 @@
1SECTION = "libs" 1SECTION = "libs"
2require libxml-parser-perl_${PV}.bb 2
3inherit native 3inherit native
4
5require libxml-parser-perl_${PV}.bb
6
4DEPENDS = "perl-native expat-native" 7DEPENDS = "perl-native expat-native"
5RDEPENDS = "perl-native" 8EXTRA_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 89947376e6..0b0cd750b0 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 @@
1SECTION = "libs" 1SECTION = "libs"
2SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-2.34.tar.gz"
3LICENSE = "Artistic" 2LICENSE = "Artistic"
3DEPENDS += "expat-native"
4PR = "r9"
5
6SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz"
7
4S = "${WORKDIR}/XML-Parser-${PV}" 8S = "${WORKDIR}/XML-Parser-${PV}"
5 9
10EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
11
6inherit cpan 12inherit cpan
13
14FILES_${PN} = "${PERLLIBDIRS}/auto/XML/Parser/Expat/* \
15 ${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 4c2b0bd752..50ce00b42f 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 @@
1Use the ld flags from the supplied configuration file. For sh we need the 1Use the ld flags from the supplied configuration file. For sh we need the
2flags that specify to build PIC code so that the shared libraries work. 2flags that specify to build PIC code so that the shared libraries work.
3 3
4--- perl-5.8.7/Cross/generate_config_sh~ 2006-09-25 16:34:09.000000000 +1000 4Index: perl-5.8.8/Cross/generate_config_sh
5+++ perl-5.8.7/Cross/generate_config_sh 2006-09-25 16:34:09.000000000 +1000 5===================================================================
6@@ -19,8 +19,8 @@ 6--- perl-5.8.8.orig/Cross/generate_config_sh 2003-09-05 18:31:08.000000000 +1000
7+++ perl-5.8.8/Cross/generate_config_sh 2007-05-30 09:12:50.000000000 +1000
8@@ -19,10 +19,10 @@
7 $callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]]; 9 $callbacks->{'ar'} = [\&simple_process, ["AR", "arm-linux-ar"]];
8 $callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]]; 10 $callbacks->{'archname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
9 $callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]]; 11 $callbacks->{'cc'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
10-$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 12-$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
11-$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 13-$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
14-$callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
15-$callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
12+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 16+#$callbacks->{'cccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
13+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]]; 17+#$callbacks->{'ccdlflags'} = [\&simple_process, ["CFLAGS", ""]];
14 $callbacks->{'ccflags'} = [\&simple_process, ["CFLAGS", "-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; 18+$callbacks->{'ccflags'} = [\&simple_process_insert, ["CFLAGS", "-fno-strict-aliasing -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
15 $callbacks->{'ccflags_uselargefiles'} = [\&simple_process, ["CFLAGS", "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]]; 19+$callbacks->{'ccflags_uselargefiles'} = [\&simple_process_insert, ["CFLAGS", "-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]];
16 $callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]]; 20 $callbacks->{'ccname'} = [\&simple_process, ["CC", "arm-linux-gcc"]];
21 $callbacks->{'cpp'} = [\&simple_process, ["CCP", "arm-linux-cpp"]];
22 $callbacks->{'cppflags'} = [\&simple_process, ["CCPFLAGS", "-fno-strict-aliasing"]];
23@@ -105,6 +105,23 @@
24
25 }
26
27+# Insert env var into the variables value
28+sub simple_process_insert {
29+ my $key = shift;
30+ my $value = shift;
31+ my $envvar = $callbacks->{$key}->[1][0];
32+
33+ if ($ENV{$envvar}) {
34+ # Strip quotes from value
35+ $value =~ s/^\'//;
36+ $value =~ s/\'$//;
37+ # Remove -I/usr/local/... from the value
38+ $value =~ s#\W-I/usr/local/\w+\W##g;
39+ # Prepend env var (OE setting) to value
40+ print("$key=\'$ENV{$envvar} $value\'\n");
41+ }
42+}
43+
44 sub library_munge {
45 my $key = shift;
46 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 0000000000..1f15474377
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.8/native-makedepend-dash.patch
@@ -0,0 +1,13 @@
1Index: perl-5.8.8/makedepend.SH
2===================================================================
3--- perl-5.8.8.orig/makedepend.SH 2007-05-24 12:06:52.000000000 +1000
4+++ perl-5.8.8/makedepend.SH 2007-05-24 12:27:33.000000000 +1000
5@@ -128,7 +128,7 @@
6 *.y) filebase=`basename $file .y` ;;
7 esac
8 case "$file" in
9- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
10+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
11 *) finc= ;;
12 esac
13 $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 0000000000..aea38a0b56
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.8/native-perlinc.patch
@@ -0,0 +1,16 @@
1Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
2===================================================================
3--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:16:47.000000000 +1000
4+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:18:12.000000000 +1000
5@@ -1597,6 +1597,11 @@
6 $self->{PERL_LIB} ||= $Config{privlibexp};
7 $self->{PERL_ARCHLIB} ||= $Config{archlibexp};
8 $self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
9+ # Check for environment override so we'll find the headers in the correct place
10+ if (defined $ENV{PERL_INC})
11+ {
12+ $self->{PERL_INC} = $ENV{PERL_INC};
13+ }
14 my $perl_h;
15
16 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 c9d9b51771..d4896daa12 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/"
3SECTION = "libs" 3SECTION = "libs"
4LICENSE = "Artistic|GPL" 4LICENSE = "Artistic|GPL"
5DEPENDS = "virtual/db-native gdbm-native" 5DEPENDS = "virtual/db-native gdbm-native"
6PR = "r7" 6PR = "r10"
7 7
8FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}" 8FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/perl-${PV}"
9 9
@@ -12,7 +12,9 @@ SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
12 file://Configure-multilib.patch;patch=1 \ 12 file://Configure-multilib.patch;patch=1 \
13 file://perl-configpm-switch.patch;patch=1 \ 13 file://perl-configpm-switch.patch;patch=1 \
14 file://native-nopacklist.patch;patch=1 \ 14 file://native-nopacklist.patch;patch=1 \
15 file://native-no-gdbminc.patch;patch=1" 15 file://native-no-gdbminc.patch;patch=1 \
16 file://native-perlinc.patch;patch=1 \
17 file://native-makedepend-dash.patch;patch=1"
16 18
17S = "${WORKDIR}/perl-${PV}" 19S = "${WORKDIR}/perl-${PV}"
18 20
@@ -26,7 +28,16 @@ do_configure () {
26 -Dcf_by="Open Embedded" \ 28 -Dcf_by="Open Embedded" \
27 -Dprefix=${prefix} \ 29 -Dprefix=${prefix} \
28 -Dvendorprefix=${prefix} \ 30 -Dvendorprefix=${prefix} \
29 -Dsiteprefix=${prefix}/local \ 31 -Dvendorprefix=${prefix} \
32 -Dsiteprefix=${prefix} \
33 \
34 -Dprivlib=${STAGING_LIBDIR}/perl/${PV} \
35 -Darchlib=${STAGING_LIBDIR}/perl/${PV} \
36 -Dvendorlib=${STAGING_LIBDIR}/perl/${PV} \
37 -Dvendorarch=${STAGING_LIBDIR}/perl/${PV} \
38 -Dsitelib=${STAGING_LIBDIR}/perl/${PV} \
39 -Dsitearch=${STAGING_LIBDIR}/perl/${PV} \
40 \
30 -Duseshrplib \ 41 -Duseshrplib \
31 -Dusethreads \ 42 -Dusethreads \
32 -Duseithreads \ 43 -Duseithreads \
@@ -50,6 +61,9 @@ do_configure () {
50do_stage_append() { 61do_stage_append() {
51 # We need a hostperl link for building perl 62 # We need a hostperl link for building perl
52 ln -sf ${STAGING_BINDIR_NATIVE}/perl${PV} ${STAGING_BINDIR_NATIVE}/hostperl 63 ln -sf ${STAGING_BINDIR_NATIVE}/perl${PV} ${STAGING_BINDIR_NATIVE}/hostperl
64 # Store native config in non-versioned directory
65 install -d ${STAGING_DIR}/${HOST_SYS}/perl
66 install config.sh ${STAGING_DIR}/${HOST_SYS}/perl
53} 67}
54 68
55PARALLEL_MAKE = "" 69PARALLEL_MAKE = ""
diff --git a/meta/packages/perl/perl_5.8.8.bb b/meta/packages/perl/perl_5.8.8.bb
index c8e7afebc7..42a376c323 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"
5PRIORITY = "optional" 5PRIORITY = "optional"
6# We need gnugrep (for -I) 6# We need gnugrep (for -I)
7DEPENDS = "virtual/db perl-native grep-native" 7DEPENDS = "virtual/db perl-native grep-native"
8PR = "r16" 8PR = "r18"
9 9
10# Major part of version 10# Major part of version
11PVM = "5.8" 11PVM = "5.8"
@@ -37,7 +37,7 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
37HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}" 37HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}"
38 38
39# Where to find .so files - use the -native versions not those from the target build 39# Where to find .so files - use the -native versions not those from the target build
40export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl5/${PV}/${BUILD_ARCH}-${BUILD_OS}-thread-multi/" 40export PERLHOSTLIB = "${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/"
41 41
42do_configure() { 42do_configure() {
43 # Make hostperl in build directory be the native perl 43 # Make hostperl in build directory be the native perl
@@ -123,7 +123,7 @@ do_install() {
123do_stage() { 123do_stage() {
124 install -d ${STAGING_DIR}/${HOST_SYS}/perl/ 124 install -d ${STAGING_DIR}/${HOST_SYS}/perl/
125 install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/ 125 install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/
126 install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl5/${PV}/Config_heavy-target.pl 126 install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/Config_heavy-target.pl
127} 127}
128 128
129PACKAGES = "perl-dbg perl perl-misc perl-lib perl-dev perl-pod perl-doc" 129PACKAGES = "perl-dbg perl perl-misc perl-lib perl-dev perl-pod perl-doc"