[oe-commits] org.oe.dev perl 5.8.8: Fixes for uclibc and libxml-parser-perl.

lenehan commit openembedded-commits at lists.openembedded.org
Wed May 30 12:57:57 UTC 2007


perl 5.8.8: Fixes for uclibc and libxml-parser-perl.
* Stage the headers from perl
* Modify cpan.bbclass to use the appropriate headers.
* Remove prototypes as well as disabling functions that uclibc doesn't
  support.
* Bump PR on libxml-parser-perl to force it to be rebuilt.
Previously it was always using the headers from native-perl, since the
headers were the same for native and target... but that's only true in the
case of glibc, for uclibc the headers are different.

Author: lenehan at openembedded.org
Branch: org.openembedded.dev
Revision: 077d4c675ec4c8e5510e74f9033fd6c1079b78c6
ViewMTN: http://monotone.openembedded.org/revision.psp?id=077d4c675ec4c8e5510e74f9033fd6c1079b78c6
Files:
1
classes/cpan.bbclass
packages/perl/libxml-parser-perl_2.34.bb
packages/perl/perl_5.8.8.bb
Diffs:

#
# mt diff -re62647a6783eedb866e744644d5cc4f986706277 -r077d4c675ec4c8e5510e74f9033fd6c1079b78c6
#
# 
# 
# patch "classes/cpan.bbclass"
#  from [d83738a5c38c8ff1f884ca6ae9bb6a82d043e554]
#    to [cd258e21fdaede306e71cf91fa3a8052ca827961]
# 
# patch "packages/perl/libxml-parser-perl_2.34.bb"
#  from [d8bf821ace8e984b313969d1eadf87818b85ccec]
#    to [9fe85cf758444af63185e9cfaffa8e9c253451ce]
# 
# patch "packages/perl/perl_5.8.8.bb"
#  from [7cea0b09573540d2e8acfde49e5d0c19364d5d8f]
#    to [4573953f05cda38dd3645d6d73f7be9b47b42490]
# 
============================================================
--- classes/cpan.bbclass	d83738a5c38c8ff1f884ca6ae9bb6a82d043e554
+++ classes/cpan.bbclass	cd258e21fdaede306e71cf91fa3a8052ca827961
@@ -9,7 +9,7 @@ export PERLCONFIGTARGET = "${@is_target(
 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"
+export PERL_INC = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}/CORE"
 
 cpan_do_configure () {
 	yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS}
============================================================
--- packages/perl/libxml-parser-perl_2.34.bb	d8bf821ace8e984b313969d1eadf87818b85ccec
+++ packages/perl/libxml-parser-perl_2.34.bb	9fe85cf758444af63185e9cfaffa8e9c253451ce
@@ -1,7 +1,7 @@ DEPENDS += "expat-native"
 SECTION = "libs"
 LICENSE = "Artistic"
 DEPENDS += "expat-native"
-PR = "r9"
+PR = "r10"
 
 SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-${PV}.tar.gz"
 
============================================================
--- packages/perl/perl_5.8.8.bb	7cea0b09573540d2e8acfde49e5d0c19364d5d8f
+++ packages/perl/perl_5.8.8.bb	4573953f05cda38dd3645d6d73f7be9b47b42490
@@ -5,7 +5,7 @@ DEPENDS = "virtual/db perl-native grep-n
 PRIORITY = "optional"
 # We need gnugrep (for -I)
 DEPENDS = "virtual/db perl-native grep-native"
-PR = "r18"
+PR = "r19"
 
 # Major part of version
 PVM = "5.8"
@@ -58,10 +58,15 @@ do_configure() {
         # Fixups for uclibc
         if [ "${TARGET_OS}" = "linux-uclibc" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then
                 sed -i -e "s,\(d_crypt_r=\)'define',\1'undef',g" \
+                       -e "s,\(crypt_r_proto=\)'\w+',\1'0',g" \
                        -e "s,\(d_getnetbyname_r=\)'define',\1'undef',g" \
+                       -e "s,\(getnetbyname_r_proto=\)'\w+',\1'0',g" \
                        -e "s,\(d_getnetbyaddr_r=\)'define',\1'undef',g" \
+                       -e "s,\(getnetbyaddr_r_proto=\)'\w+',\1'0',g" \
                        -e "s,\(d_getnetent_r=\)'define',\1'undef',g" \
+                       -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \
                        -e "s,\(d_sockatmark=\)'define',\1'undef',g" \
+                       -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \
                     config.sh-${TARGET_ARCH}-${TARGET_OS}
         fi
 
@@ -121,9 +126,25 @@ do_stage() {
         fi
 }
 do_stage() {
-        install -d ${STAGING_DIR}/${HOST_SYS}/perl/
+        install -d ${STAGING_DIR}/${HOST_SYS}/perl \
+                   ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV} \
+                   ${STAGING_LIBDIR}/perl/${PV}/CORE
+        # target config, used by cpan.bbclass to extract version information
         install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/
+        # target configuration, used by native perl when cross-compiling
         install lib/Config_heavy.pl ${STAGING_DIR}/${BUILD_SYS}/lib/perl/${PV}/Config_heavy-target.pl
+        # perl shared library headers
+        for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \
+                 uconfig.h XSUB.h cc_runtime.h embedvar.h handy.h opnames.h \
+                 perliol.h pp_proto.h regnodes.h unixish.h config.h EXTERN.h \
+                 hv.h malloc_ctl.h pad.h perlsdio.h proto.h scope.h utf8.h \
+                 cop.h fakesdio.h INTERN.h mg.h patchlevel.h perlsfio.h \
+                 reentr.h sv.h utfebcdic.h cv.h fakethr.h intrpvar.h \
+                 nostdio.h perlapi.h perlvars.h reentr.inc thrdvar.h util.h \
+                 dosish.h form.h iperlsys.h opcode.h perl.h perly.h regcomp.h \
+                 thread.h warnings.h; do
+            install $i ${STAGING_LIBDIR}/perl/${PV}/CORE
+        done
 }
 
 PACKAGES = "perl-dbg perl perl-misc perl-lib perl-dev perl-pod perl-doc"






More information about the Openembedded-commits mailing list