Files
poky/meta/recipes-devtools/perl/perl-native_5.14.3.bb
Richard Purdie 5e42796675 recipes: Remove PR = r0 from all recipes
Remove all PR = "r0" from all .bb files in oe-core. This was done
with the command sed -e '/^PR.*=.*r0\"/d' recipes*/*/*.bb -i

We've switching to the PR server, PR bumps are no longer needed and
this saves people either accidentally bumping them or forgetting to
remove the lines (r0 is the default anyway).

(From OE-Core rev: 58ae94f1b06d0e6234413dbf9869bde85f154c85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-30 14:52:04 +00:00

121 lines
3.7 KiB
BlitzBasic

DESCRIPTION = "Perl is a popular scripting language."
HOMEPAGE = "http://www.perl.org/"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0"
LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
file://Artistic;md5=f921793d03cc6d63ec4b15e9be8fd3f8"
# 5.10.1 has Module::Build built-in
PROVIDES += "libmodule-build-perl-native"
SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
file://Configure-multilib.patch \
file://perl-configpm-switch.patch \
file://native-nopacklist.patch \
file://native-perlinc.patch \
file://MM_Unix.pm.patch \
file://debian/errno_ver.diff \
file://dynaloaderhack.patch \
file://perl-build-in-t-dir.patch"
SRC_URI[md5sum] = "f6a3d878c688d111b495c87db56c5be5"
SRC_URI[sha256sum] = "03638a4f01bc26b81231233671524b4163849a3a9ea5cc2397293080c4ea339f"
S = "${WORKDIR}/perl-${PV}"
inherit native
NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
export LD="${CCLD}"
do_configure () {
./Configure \
-Dcc="${CC}" \
-Dcflags="${CFLAGS}" \
-Dldflags="${LDFLAGS}" \
-Dcf_by="Open Embedded" \
-Dprefix=${prefix} \
-Dvendorprefix=${prefix} \
-Dvendorprefix=${prefix} \
-Dsiteprefix=${prefix} \
\
-Dbin=${STAGING_BINDIR}/${PN} \
-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 \
-Duselargefiles \
-Dnoextensions=ODBM_File \
-Ud_dosuid \
-Ui_db \
-Ui_ndbm \
-Ui_gdbm \
-Di_shadow \
-Di_syslog \
-Duseperlio \
-Dman3ext=3pm \
-Dsed=/bin/sed \
-Uafs \
-Ud_csh \
-Uusesfio \
-Uusenm -des
}
do_install () {
oe_runmake 'DESTDIR=${D}' install
# We need a hostperl link for building perl
ln -sf perl${PV} ${D}${bindir}/hostperl
ln -sf perl ${D}${libdir}/perl5
install -d ${D}${libdir}/perl/${PV}/CORE \
${D}${datadir}/perl/${PV}/ExtUtils
# Save native config
install config.sh ${D}${libdir}/perl
install lib/Config.pm ${D}${libdir}/perl/${PV}/
install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/
# perl shared library headers
for i in av.h bitcount.h config.h cop.h cv.h dosish.h embed.h embedvar.h \
EXTERN.h fakesdio.h fakethr.h form.h gv.h handy.h hv.h INTERN.h \
intrpvar.h iperlsys.h keywords.h l1_char_class_tab.h malloc_ctl.h \
metaconfig.h mg.h mydtrace.h nostdio.h opcode.h op.h opnames.h \
op_reg_common.h overload.h pad.h parser.h patchlevel.h perlapi.h \
perl.h perlio.h perliol.h perlsdio.h perlsfio.h perlvars.h \
perly.h pp.h pp_proto.h proto.h reentr.h regcharclass.h regcomp.h \
regexp.h regnodes.h scope.h sv.h thread.h time64_config.h \
time64.h uconfig.h unixish.h utf8.h utfebcdic.h util.h \
uudmap.h warnings.h XSUB.h
do
install $i ${D}${libdir}/perl/${PV}/CORE
done
create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/${PV}:${STAGING_LIBDIR}/perl/'
create_wrapper ${D}${bindir}/perl${PV} PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/${PV}:${STAGING_LIBDIR}/perl/'
}
SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
perl_sysroot_create_wrapper () {
mkdir -p ${SYSROOT_DESTDIR}${bindir}
# Create a wrapper that /usr/bin/env perl will use to get perl-native.
# This MUST live in the normal bindir.
cat > ${SYSROOT_DESTDIR}${bindir}/../nativeperl << EOF
#!/bin/sh
realpath=\`readlink -fn \$0\`
exec \`dirname \$realpath\`/perl-native/perl "\$@"
EOF
chmod 0755 ${SYSROOT_DESTDIR}${bindir}/../nativeperl
cat ${SYSROOT_DESTDIR}${bindir}/../nativeperl
}