mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
This patch fixes some issues in classes providing cpan module build support: * add support even for xs modules with more than 3 levels as B::Hooks::End::Of::Scope or Math::Random::ISAAC::XS * correct handling of Module::Build (as far as stolen from pkgsrc and my humble knowledge) * configure to install to vendor_libs as default, even when inherited do_install remains unused (overwritten do_install) (From OE-Core rev: 6948d2bd35cda57f520f0180a6bb43cc70262f41) Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
60 lines
2.1 KiB
Plaintext
60 lines
2.1 KiB
Plaintext
#
|
|
# cpan-base providers various perl related information needed for building
|
|
# cpan modules
|
|
#
|
|
FILES_${PN} += "${libdir}/perl ${datadir}/perl"
|
|
|
|
DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}"
|
|
RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}"
|
|
|
|
PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}"
|
|
|
|
# Determine the staged version 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).
|
|
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')
|
|
try:
|
|
f = open(cfg, 'r')
|
|
except IOError:
|
|
return None
|
|
l = f.readlines();
|
|
f.close();
|
|
r = re.compile("^version='(\d*\.\d*\.\d*)'")
|
|
for s in l:
|
|
m = r.match(s)
|
|
if m:
|
|
return m.group(1)
|
|
return None
|
|
|
|
# Determine where the library directories are
|
|
def perl_get_libdirs(d):
|
|
libdir = d.getVar('libdir', True)
|
|
if is_target(d) == "no":
|
|
libdir += '/perl-native'
|
|
libdir += '/perl'
|
|
return libdir
|
|
|
|
def is_target(d):
|
|
if not bb.data.inherits_class('native', d):
|
|
return "yes"
|
|
return "no"
|
|
|
|
PERLLIBDIRS := "${@perl_get_libdirs(d)}"
|
|
PERLVERSION := "${@get_perl_version(d)}"
|
|
PERLVERSION[vardepvalue] = ""
|
|
|
|
FILES_${PN}-dbg += "${PERLLIBDIRS}/auto/*/.debug \
|
|
${PERLLIBDIRS}/auto/*/*/.debug \
|
|
${PERLLIBDIRS}/auto/*/*/*/.debug \
|
|
${PERLLIBDIRS}/auto/*/*/*/*/.debug \
|
|
${PERLLIBDIRS}/auto/*/*/*/*/*/.debug \
|
|
${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/.debug \
|
|
${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/.debug \
|
|
${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/.debug \
|
|
${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/*/.debug \
|
|
${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/*/*/.debug \
|
|
"
|