path: root/meta/classes/cpan.bbclass
AgeCommit message (Collapse)Author
2021-08-02Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/ <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <>
2019-01-11meta/classes: adjust perl-related classes to the new recipesAlexander Kanavin
This mostly means tweaking the paths to match upstream defaults. get_perl_arch() functions are taken from the patch by Jens Rehsack: (From OE-Core rev: d6b36b1babb4d3e8d41278111e71c71fde9af39e) Signed-off-by: Alexander Kanavin <> Signed-off-by: Richard Purdie <>
2018-11-14cpan.bbclass: avoid newer MakeMaker run perl.realJens Rehsack
In newer versions of ExtUtils::MakeMaker, the location of the perl binary to run is determined differently which results in finding ${bindir}/perl.real instead of ${bindir}/perl (From OE-Core rev: 362bd36cbec052d2a37710498c901b699dcf5ca7) Signed-off-by: Jens Rehsack <> Signed-off-by: Richard Purdie <>
2018-08-28cpan.bbclass: make RPATH fix more generalJens Rehsack
Extract a general version of RPATH fix for from 292471701 libxml-parser-perl: fix "...contains bad RPATH" into cpan.bbclass to catch most errors reported by Khem Raj via Genrally, Perl 5 toolchain deals with cross-compile sysroots as if a dependency is installed at an exostic place on a server. This issue needs to be addressed wider into the community. (From OE-Core rev: a5439ff9627d309f6980947f5ee573d85e672228) Signed-off-by: Jens Rehsack <> Signed-off-by: Richard Purdie <>
2018-08-23cpan.bbclass: adopt to recent EU::MMJens Rehsack
The modern the time, the improvements in ExtUtils::MakeMaker. Nowadays, .packlist and perllocal.pod aren't touched anymore when appropriate flags set during configure stage. Controlling the flags globally avoids dual-life recipes need share patching. Further: remove prepending ${PERL_ARCHLIB} in PERL5LIB - it's wrong (search order is site_lib, vendor_lib, core) - and ${PERL_ARCHLIB} contains core libpath only ... (From OE-Core rev: 2e61533e7c1b1cfd49dc771e907207f11a15c44f) Signed-off-by: Jens Rehsack <> Signed-off-by: Richard Purdie <>
2015-10-29perl: fix Perl5 module buildsJens Rehsack
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 <> Signed-off-by: Ross Burton <> Signed-off-by: Richard Purdie <>
2014-08-28cpan.bbclass: matches more linesRobert Yang
Fixed: - There might be a space between "#!" and "/pat/to/usr/bin/perl", e.g.: "#! /usr/bin/perl", now also matches it. - There might be the lines like the following in the body: eval 'exec /path/to/usr/bin/perl-native/perl -S $0 ${1+"$@"}' Now we only check "#! */path/to/usr/bin/perl" to make sure it is a perl script, but match and fix the lines in both header and body. (From OE-Core rev: 0d2e2ac137465885a1d55103010ccfdec579f1ce) Signed-off-by: Robert Yang <> Signed-off-by: Richard Purdie <>
2013-07-29cpan.bbclass: Fail unless Makefile.PL generates MakefileOlof Johansson
Makefile.PLs can exit with success without generating a Makefile, e.g. in cases of missing configure time dependencies. This is considered a best practice by See: * * (From OE-Core rev: 0a2dffefc6fbca37ce9604117cebc2f7d4abc1c6) Signed-off-by: Olof Johansson <> Signed-off-by: Saul Wold <> Signed-off-by: Richard Purdie <>
2013-04-29cpan.bbclass: use '|' as sed separator for entry with pathsMarcin Juszkiewicz
With normal toolchain it works. But fails badly when external Linaro toolchain is used. And this is why: -e "s/^\(CCFLAGS =.*\)/\1 -isystem/home/hrw/devel/canonical/aarch64/openembedded/build/linaro-tcwg/gcc-linaro-aarch64-linux-gnu-4.7-2013.04-20130415_linux//aarch64-linux-gnu/include -O2 -pipe -g -feliminate-unused-debug-types/" \ (From OE-Core rev: f6244a9d3da7c301f19efc114c2aaf39e5eec299) Signed-off-by: Marcin Juszkiewicz <> Signed-off-by: Saul Wold <> Signed-off-by: Richard Purdie <>
2012-07-17cpan.bbclass: Fix CCFLAGS.Xin Ouyang
We should not just replace CCFLAGS with CFLAGS while compiling, because this may cause run-time errors with perl's Tested on qemux86 with new libnet-libidn-perl bb recipe: root@qemux86:~# perl -e "use Net::LibIDN" Not a CODE reference at /usr/lib/perl/5.14.2// line 213. END failed--call queue aborted at /usr/lib/perl/vendor_perl/5.14.2//Net/ line 213. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. (From OE-Core rev: 855211ae7a224f96663862d4a0e58a90d945dd48) Signed-off-by: Xin Ouyang <> Signed-off-by: Saul Wold <> Signed-off-by: Richard Purdie <>
2012-06-05cpan.bbclass: Fix config error while patches to Makefile.PLXin Ouyang
If there is a patch to Makefile.PL, a Makefile.PL but no Makefile will be placed in ${B}/.pc/xxx.patch/ after do_patch. And no Makefile will be generated for *this* Makefile.PL. While do_configure, the original code tries to sed Makefiles matching with each Makefile.PL in {B}, so this would fail. (From OE-Core rev: 7c99105d70a16aa9e42429224abed28743e627b2) Signed-off-by: Xin Ouyang <> Signed-off-by: Richard Purdie <>
2011-09-07cpan.bbclass: fix native perl issueSaul Wold
(From OE-Core rev: acfe8c657dd2496ae8669ce69def96a0b04d061c) Signed-off-by: Saul Wold <> Signed-off-by: Richard Purdie <>
2011-07-21cpan.bbclass: Perform more mangling for perl pathTom Rini
On hosts where we may already be past the #! limit this is required and this is safe on the target as well. This is be7fe31 in Related to this we now bump all PRs for recipes that inherit cpan. Note that in we mangle for perl but here we use the new nativeperl script. (From OE-Core rev: 682a213dc732074985bf86f508305fc6eafe18d9) Signed-off-by: Tom Rini <> Signed-off-by: Richard Purdie <>
2011-06-09cpan.bbclass, cpan-base.bbclas: update them for the perlnative changeDexuan Cui
Since perl-native now populates into its own dir, here we need change accordingly. Signed-off-by: Dexuan Cui <>
2011-04-24cpan.bbclass: export PERLHOSTLIB for perl modulesNitin A Kamble
This makes sure that native perl .so can get loaded at the buildtime, and avoids following kind of errors while building perl modules: Nitin A Kamble <> 2011/04/20 + perl Makefile.PL EXPATLIBPATH=/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib EXPATINCPATH=/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/include *** Module name IN: /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ *** Module name OUT: /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ *** Module name IN: /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ *** Module name OUT: /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ Can't load '/disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/auto/Fcntl/' for module Fcntl: /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/auto/Fcntl/ wrong ELF class: ELFCLASS32 at /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ line 79. at /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ line 215 BEGIN failed--compilation aborted at /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/ line 216. Compilation failed in require at /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/File/ line 146. BEGIN failed--compilation aborted at /disk0/pokybuild/build0/tmp/sysroots/qemux86/usr/lib/perl/5.12.2/File/ line 146. Compilation failed in require at inc/Devel/ line 12. BEGIN failed--compilation aborted at inc/Devel/ line 12. Compilation failed in require at Makefile.PL line 5. BEGIN failed--compilation aborted at Makefile.PL line 5. ERROR: Function 'do_configure' failed (see /disk0/pokybuild/build0/tmp/work/i586-poky-linux/libxml-parser-perl-2.40-r0/temp/log.do_configure.16956 for further information) (From OE-Core rev: 485e41f618286d048162fea0077f314e2ff4f4da) Signed-off-by: Nitin A Kamble <> Signed-off-by: Richard Purdie <>
2011-01-12cpan.bbclass: add a new parameter EXTRA_PERLFLAGSNitin A Kamble
We use host perl while building target perl modules. When some of the prebuilt perl modules such as scalar::util are used in the build process directly or indirectly, perl needs to load the arch specific .so library file. If perl can not find the .so library files, then perl tries to use the target pm files which ends up in circular perl module depedancy causing build time perl invocation to fail. Adding this new parameter viz EXTRA_PERLFLAGS to cpan.bbclass allows perl module recipes to specify the location of such host .so files for hostperl, so that build time invocation of perl does not fail. Signed-off-by: Nitin A Kamble <>
2011-01-12cpan.bbclass: use LIBDIR instead of DATADIRNitin A Kamble
perl 5.12.2 does not use /usr/share/perl path, and all that stuff goes in /usr/lib/perl. This commit fixes cpan class which depends on /usr/share/perl. cpan.base/build.bbclass: change /usr/lib/perl5 to /usr/lib/perl Signed-off-by: Nitin A Kamble <>
2010-07-22Finally deprecate all legacy do_stage functions. This changes the existing ↵Richard Purdie
warning into a fatal error if any legacy do_stage functions are found. Signed-off-by: Richard Purdie <>
2009-11-18perl: Update from and convert to use do_install for stagingRichard Purdie
Signed-off-by: Richard Purdie <>
2009-11-16perl: Standardise locationRichard Purdie
Signed-off-by: Richard Purdie <>
2008-04-01cpan.bbclass: remove bashismsMarcin Juszkiewicz
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-03-19cpan.bbclass: Fix native staging functions (sync with Purdie
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-11-12Remove hardcoded staging layout assumptionsRichard Purdie
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-05-30cpan.bbclass: sync another fix from OE - this time for uclibc modeMarcin Juszkiewicz
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-05-30cpan classes: sync Perl with OEMarcin Juszkiewicz
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-05-09cpan.bbclass: Add perl to DEPENDSRichard Purdie
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-11-20classes: Sync with OE - mainly quoting fixes or other minor updatesRichard Purdie
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-08-27classes: Sync with OERichard Purdie
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966
2006-07-21Rename /openembedded/ -> /meta/Richard Purdie
git-svn-id: 311d38ba-8fff-0310-9ca6-ca027cbcb966