mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
meta/classes: adjust perl-related classes to the new recipes
This mostly means tweaking the paths to match upstream defaults. get_perl_arch() functions are taken from the patch by Jens Rehsack: http://lists.openembedded.org/pipermail/openembedded-core/2018-November/276546.html (From OE-Core rev: d6b36b1babb4d3e8d41278111e71c71fde9af39e) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
00b9e7011e
commit
d460892f32
|
|
@ -2,7 +2,7 @@
|
|||
# cpan-base providers various perl related information needed for building
|
||||
# cpan modules
|
||||
#
|
||||
FILES_${PN} += "${libdir}/perl ${datadir}/perl"
|
||||
FILES_${PN} += "${libdir}/perl5 ${datadir}/perl5"
|
||||
|
||||
DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
|
||||
RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
|
||||
|
|
@ -14,5 +14,5 @@ def is_target(d):
|
|||
return "yes"
|
||||
return "no"
|
||||
|
||||
PERLLIBDIRS = "${libdir}/perl"
|
||||
PERLLIBDIRS_class-native = "${libdir}/perl-native"
|
||||
PERLLIBDIRS = "${libdir}/perl5"
|
||||
PERLLIBDIRS_class-native = "${libdir}/perl5"
|
||||
|
|
|
|||
|
|
@ -10,10 +10,11 @@ EXTRA_PERLFLAGS ?= ""
|
|||
export PERLCONFIGTARGET = "${@is_target(d)}"
|
||||
|
||||
# Env var which tells perl where the perl include files are
|
||||
export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE"
|
||||
export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
|
||||
export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
|
||||
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${@get_perl_version(d)}/"
|
||||
export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE"
|
||||
export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}"
|
||||
export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
|
||||
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/"
|
||||
export PERLHOSTARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/${@get_perl_hostarch(d)}/"
|
||||
|
||||
cpan_do_configure () {
|
||||
yes '' | perl ${EXTRA_PERLFLAGS} Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1 PERL=$(which perl) ${EXTRA_CPANFLAGS}
|
||||
|
|
@ -27,7 +28,7 @@ cpan_do_configure () {
|
|||
[ -e Makefile ] || bbfatal "No Makefile was generated by Makefile.PL"
|
||||
|
||||
if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
|
||||
. ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh
|
||||
. ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh
|
||||
# Use find since there can be a Makefile generated for each Makefile.PL
|
||||
for f in `find -name Makefile.PL`; do
|
||||
f2=`echo $f | sed -e 's/.PL//'`
|
||||
|
|
|
|||
|
|
@ -7,14 +7,15 @@ EXTRA_CPAN_BUILD_FLAGS ?= ""
|
|||
|
||||
# Env var which tells perl if it should use host (no) or target (yes) settings
|
||||
export PERLCONFIGTARGET = "${@is_target(d)}"
|
||||
export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
|
||||
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${@get_perl_version(d)}/"
|
||||
export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
|
||||
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/"
|
||||
export PERLHOSTARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl5/${@get_perl_version(d)}/${@get_perl_hostarch(d)}/"
|
||||
export LD = "${CCLD}"
|
||||
|
||||
cpan_build_do_configure () {
|
||||
if [ "${@is_target(d)}" = "yes" ]; then
|
||||
# build for target
|
||||
. ${STAGING_LIBDIR}/perl/config.sh
|
||||
. ${STAGING_LIBDIR}/perl5/config.sh
|
||||
fi
|
||||
|
||||
perl Build.PL --installdirs vendor --destdir ${D} \
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
|
||||
PERL_OWN_DIR = ""
|
||||
|
||||
# Determine the staged version of perl from the perl configuration file
|
||||
# Assign vardepvalue, because otherwise signature is changed before and after
|
||||
|
|
@ -6,7 +6,7 @@ PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
|
|||
get_perl_version[vardepvalue] = "${PERL_OWN_DIR}"
|
||||
def get_perl_version(d):
|
||||
import re
|
||||
cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh')
|
||||
cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh')
|
||||
try:
|
||||
f = open(cfg, 'r')
|
||||
except IOError:
|
||||
|
|
@ -22,3 +22,45 @@ def get_perl_version(d):
|
|||
|
||||
PERLVERSION := "${@get_perl_version(d)}"
|
||||
PERLVERSION[vardepvalue] = ""
|
||||
|
||||
|
||||
# Determine the staged arch of perl from the perl configuration file
|
||||
# Assign vardepvalue, because otherwise signature is changed before and after
|
||||
# perl is built (from None to real version in config.sh).
|
||||
def get_perl_arch(d):
|
||||
import re
|
||||
cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh')
|
||||
try:
|
||||
f = open(cfg, 'r')
|
||||
except IOError:
|
||||
return None
|
||||
l = f.readlines();
|
||||
f.close();
|
||||
r = re.compile("^archname='([^']*)'")
|
||||
for s in l:
|
||||
m = r.match(s)
|
||||
if m:
|
||||
return m.group(1)
|
||||
return None
|
||||
|
||||
PERLARCH := "${@get_perl_arch(d)}"
|
||||
PERLARCH[vardepvalue] = ""
|
||||
|
||||
# Determine the staged arch of perl-native from the perl configuration file
|
||||
# Assign vardepvalue, because otherwise signature is changed before and after
|
||||
# perl is built (from None to real version in config.sh).
|
||||
def get_perl_hostarch(d):
|
||||
import re
|
||||
cfg = d.expand('${STAGING_LIBDIR_NATIVE}/perl5/config.sh')
|
||||
try:
|
||||
f = open(cfg, 'r')
|
||||
except IOError:
|
||||
return None
|
||||
l = f.readlines();
|
||||
f.close();
|
||||
r = re.compile("^archname='([^']*)'")
|
||||
for s in l:
|
||||
m = r.match(s)
|
||||
if m:
|
||||
return m.group(1)
|
||||
return None
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user