summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/perl/perl-native_5.22.1.bb
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linux.intel.com>2016-11-24 15:06:04 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-11-30 15:48:08 +0000
commit066ac716e397e685e429095e2899227c89852122 (patch)
tree090b2c3b91bcf69d85e281ed7072c0554a282515 /meta/recipes-devtools/perl/perl-native_5.22.1.bb
parent50f5c4e9113513bf63e5adf77f091d8bf5831fc4 (diff)
downloadpoky-066ac716e397e685e429095e2899227c89852122.tar.gz
perl: Upgrade to 5.24.0
Configuration changes, Simple changes was made to bump version and api version, related to floating point handling now the configuration needs the inf, mantisa and nan bytes. The new version comes with the support of API calls like memmem and {new,free,use}locale also structure for handle siginfo supported by glibc and musl. Finally use64bit{int, all} was disable because the previous configure_args don't come with them and cases some tests to fail related to bignum's and shared memory respectively. This doesn't means that perl couldn't use 64-bit data types, it means that don't stores by default into a 64 bit that is good for embedded space purposes. Modules changes, Some core modules are now deprecated in order to use the core ones like version-vpp and version-regex inside module-extutils-makemaker. For full review see perl-rdepends.inc file. Patches rebased, - perl/debian/errno_ver.diff - perl/dynaloaderhack.patch - perl/Makefile.SH.patch - perl/config.s - perl/dynaloaderhack.patch - perl/perl-test-customized.patch Patches removed, comes with the upgrade now: - perl/perl-remove-nm-from-libswanted.patch - perl/perl-fix-CVE-2015-8607.patch - perl/perl-fix-CVE-2016-2381.patch Test, The upgrade was test using ptest the suite is fixed now. The pod2man and pod2text installation required now for some tests. Buildhistory was use to review the changes and only diff changes related to modules commented above. (From OE-Core rev: add5e5982f010e13e3ad25690f01d5e4e391daf9) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/perl/perl-native_5.22.1.bb')
-rw-r--r--meta/recipes-devtools/perl/perl-native_5.22.1.bb128
1 files changed, 0 insertions, 128 deletions
diff --git a/meta/recipes-devtools/perl/perl-native_5.22.1.bb b/meta/recipes-devtools/perl/perl-native_5.22.1.bb
deleted file mode 100644
index 1c21522be1..0000000000
--- a/meta/recipes-devtools/perl/perl-native_5.22.1.bb
+++ /dev/null
@@ -1,128 +0,0 @@
1require perl.inc
2
3EXTRA_OEMAKE = "-e MAKEFLAGS="
4
5SRC_URI += "\
6 file://Configure-multilib.patch \
7 file://perl-configpm-switch.patch \
8 file://native-nopacklist.patch \
9 file://native-perlinc.patch \
10 file://MM_Unix.pm.patch \
11 file://debian/errno_ver.diff \
12 file://dynaloaderhack.patch \
13 file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
14 file://perl-remove-nm-from-libswanted.patch \
15 "
16
17SRC_URI[md5sum] = "6671e4829cbaf9cecafa9a84f141b0a3"
18SRC_URI[sha256sum] = "9e87317d693ce828095204be0d09af8d60b8785533fadea1a82b6f0e071e5c79"
19
20inherit native
21
22NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
23
24export LD="${CCLD}"
25
26do_configure () {
27 ./Configure \
28 -Dcc="${CC}" \
29 -Dcflags="${CFLAGS}" \
30 -Dldflags="${LDFLAGS}" \
31 -Dcf_by="Open Embedded" \
32 -Dprefix=${prefix} \
33 -Dvendorprefix=${prefix} \
34 -Dsiteprefix=${prefix} \
35 \
36 -Dbin=${STAGING_BINDIR}/${PN} \
37 -Dprivlib=${STAGING_LIBDIR}/perl/${PV} \
38 -Darchlib=${STAGING_LIBDIR}/perl/${PV} \
39 -Dvendorlib=${STAGING_LIBDIR}/perl/vendor_perl/${PV} \
40 -Dvendorarch=${STAGING_LIBDIR}/perl/vendor_perl/${PV} \
41 -Dsitelib=${STAGING_LIBDIR}/perl/site_perl/${PV} \
42 -Dsitearch=${STAGING_LIBDIR}/perl/site_perl/${PV} \
43 \
44 -Duseshrplib \
45 -Dusethreads \
46 -Duseithreads \
47 -Duselargefiles \
48 -Dnoextensions=ODBM_File \
49 -Ud_dosuid \
50 -Ui_db \
51 -Ui_ndbm \
52 -Ui_gdbm \
53 -Ui_gdbm_ndbm \
54 -Ui_gdbmndbm \
55 -Di_shadow \
56 -Di_syslog \
57 -Duseperlio \
58 -Dman3ext=3pm \
59 -Dsed=/bin/sed \
60 -Uafs \
61 -Ud_csh \
62 -Uusesfio \
63 -Uusenm -des
64}
65
66do_install () {
67 oe_runmake 'DESTDIR=${D}' install
68
69 # We need a hostperl link for building perl
70 ln -sf perl${PV} ${D}${bindir}/hostperl
71
72 ln -sf perl ${D}${libdir}/perl5
73
74 install -d ${D}${libdir}/perl/${PV}/CORE \
75 ${D}${datadir}/perl/${PV}/ExtUtils
76
77 # Save native config
78 install config.sh ${D}${libdir}/perl
79 install lib/Config.pm ${D}${libdir}/perl/${PV}/
80 install lib/ExtUtils/typemap ${D}${libdir}/perl/${PV}/ExtUtils/
81
82 # perl shared library headers
83 # reference perl 5.20.0-1 in debian:
84 # https://packages.debian.org/experimental/i386/perl/filelist
85 for i in av.h bitcount.h charclass_invlists.h config.h cop.h cv.h dosish.h \
86 embed.h embedvar.h EXTERN.h fakesdio.h feature.h form.h git_version.h \
87 gv.h handy.h hv_func.h hv.h inline.h INTERN.h intrpvar.h iperlsys.h \
88 keywords.h l1_char_class_tab.h malloc_ctl.h metaconfig.h mg_data.h \
89 mg.h mg_raw.h mg_vtable.h mydtrace.h nostdio.h opcode.h op.h \
90 opnames.h op_reg_common.h overload.h pad.h parser.h patchlevel.h \
91 perlapi.h perl.h perlio.h perliol.h perlsdio.h perlvars.h perly.h \
92 pp.h pp_proto.h proto.h reentr.h regcharclass.h regcomp.h regexp.h \
93 regnodes.h scope.h sv.h thread.h time64_config.h time64.h uconfig.h \
94 unicode_constants.h unixish.h utf8.h utfebcdic.h util.h uudmap.h \
95 vutil.h warnings.h XSUB.h
96 do
97 install $i ${D}${libdir}/perl/${PV}/CORE
98 done
99
100 # Those wrappers mean that perl installed from sstate (which may change
101 # path location) works and that in the nativesdk case, the SDK can be
102 # installed to a different location from the one it was built for.
103 create_wrapper ${D}${bindir}/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/site_perl/${PV}:${STAGING_LIBDIR}/perl/vendor_perl/${PV}:${STAGING_LIBDIR}/perl/${PV}'
104 create_wrapper ${D}${bindir}/perl${PV} PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl/site_perl/${PV}:${STAGING_LIBDIR}/perl/vendor_perl/${PV}:${STAGING_LIBDIR}/perl/${PV}'
105
106 # Use /usr/bin/env nativeperl for the perl script.
107 for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
108 sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
109 done
110}
111
112SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
113
114perl_sysroot_create_wrapper () {
115 mkdir -p ${SYSROOT_DESTDIR}${bindir}
116 # Create a wrapper that /usr/bin/env perl will use to get perl-native.
117 # This MUST live in the normal bindir.
118 cat > ${SYSROOT_DESTDIR}${bindir}/../nativeperl << EOF
119#!/bin/sh
120realpath=\`readlink -fn \$0\`
121exec \`dirname \$realpath\`/perl-native/perl "\$@"
122EOF
123 chmod 0755 ${SYSROOT_DESTDIR}${bindir}/../nativeperl
124 cat ${SYSROOT_DESTDIR}${bindir}/../nativeperl
125}
126
127# Fix the path in sstate
128SSTATE_SCAN_FILES += "*.pm *.pod *.h *.pl *.sh"