summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/config.sh1
-rw-r--r--meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch40
-rw-r--r--meta/recipes-devtools/perl/perl_5.14.2.bb3
3 files changed, 43 insertions, 1 deletions
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/config.sh b/meta/recipes-devtools/perl/perl-5.14.2/config.sh
index 0d4ca1cd91..d1db02e711 100644
--- a/meta/recipes-devtools/perl/perl-5.14.2/config.sh
+++ b/meta/recipes-devtools/perl/perl-5.14.2/config.sh
@@ -69,6 +69,7 @@ api_versionstring='5.14.0'
ar='ar'
archlib='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
archlibexp='@STAGINGDIR@@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
+archlib_exp='@LIBDIR@/perl/5.14.2/@ARCH@-thread-multi'
archname64=''
archname='@ARCH@-thread-multi'
archobjs=''
diff --git a/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch b/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch
new file mode 100644
index 0000000000..d912d0031e
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl-5.14.2/perl-archlib-exp.patch
@@ -0,0 +1,40 @@
+perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
+
+perl.c uses an ARCHLIB_EXP define to generate compile-time code that
+adds the archlibexp path to @INC during run-time initialization of a
+new perl interpreter.
+
+Because we've changed this value in a temporary way to make it
+possible to use ExtUtils::Embed in the target build (the temporary
+value in config.sh gets re-stripped out during packaging), the
+ARCHLIB_EXP value that gets generated still uses the temporary version
+instead of the original expected version (i.e. becauses it's in the
+generated config.h, it doesn't get stripped out during packaging like
+the others in config.sh).
+
+This creates an unmodified version called archlib_exp that gets used
+by a modified config_h.SH to get the correct value into config.h
+
+This patch uses an unmodified version of archlibexp called
+archlib_exp, introduced to config.sh, which is used to generate the
+correct value of ARCHLIB_EXP into config.h
+
+See YOCTO #3099 for more info.
+
+Upstream-Status:Inappropriate [embedded specific]
+
+Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
+
+Index: perl-5.14.2/config_h.SH
+===================================================================
+--- perl-5.14.2.orig/config_h.SH
++++ perl-5.14.2/config_h.SH
+@@ -996,7 +996,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#und
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+ #$d_archlib ARCHLIB "$archlib" /**/
+-#$d_archlib ARCHLIB_EXP "$archlibexp" /**/
++#$d_archlib ARCHLIB_EXP "$archlib_exp" /**/
+
+ /* ARCHNAME:
+ * This symbol holds a string representing the architecture name.
diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
index 09b2acb191..d9206d86d3 100644
--- a/meta/recipes-devtools/perl/perl_5.14.2.bb
+++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
# We need gnugrep (for -I)
DEPENDS = "virtual/db grep-native"
DEPENDS += "gdbm zlib"
-PR = "r10"
+PR = "r11"
# 5.10.1 has Module::Build built-in
PROVIDES += "libmodule-build-perl"
@@ -66,6 +66,7 @@ SRC_URI = "http://www.cpan.org/src/5.0/perl-${PV}.tar.gz \
file://cross-generate_uudmap.patch \
file://fix_bad_rpath.patch \
file://perl-build-in-t-dir.patch \
+ file://perl-archlib-exp.patch \
\
file://config.sh \
file://config.sh-32 \