From 4845fa55fc30c9660261fe49f645829824a40753 Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Wed, 30 May 2007 12:48:58 +0000 Subject: 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. --- classes/cpan.bbclass | 2 +- packages/perl/libxml-parser-perl_2.34.bb | 2 +- packages/perl/perl_5.8.8.bb | 25 +++++++++++++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass index 4fff5974c1..3250528c7a 100644 --- a/classes/cpan.bbclass +++ b/classes/cpan.bbclass @@ -9,7 +9,7 @@ EXTRA_CPANFLAGS ?= "" 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} diff --git a/packages/perl/libxml-parser-perl_2.34.bb b/packages/perl/libxml-parser-perl_2.34.bb index 0b0cd750b0..46ce6512ca 100644 --- a/packages/perl/libxml-parser-perl_2.34.bb +++ b/packages/perl/libxml-parser-perl_2.34.bb @@ -1,7 +1,7 @@ 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" diff --git a/packages/perl/perl_5.8.8.bb b/packages/perl/perl_5.8.8.bb index 42a376c323..d603c9d67d 100644 --- a/packages/perl/perl_5.8.8.bb +++ b/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 = "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_install() { 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" -- cgit 1.2.3-korg