From 55764a7c52979405d4d7c07fd92c3c5f64744494 Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Fri, 4 May 2007 01:24:59 +0000 Subject: perl: Extract common functionality from cpan and cpan_build classes into a cpan-base class and update cpan_build to work with the new perl layout that was added with perl 5.8.8. --- classes/cpan_build.bbclass | 47 ++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) (limited to 'classes/cpan_build.bbclass') diff --git a/classes/cpan_build.bbclass b/classes/cpan_build.bbclass index 0660ef9b82..63e716c099 100644 --- a/classes/cpan_build.bbclass +++ b/classes/cpan_build.bbclass @@ -1,16 +1,14 @@ # # This is for perl modules that use the new Build.PL build system # -INHIBIT_NATIVE_STAGE_INSTALL = "1" -FILES_${PN} += '${libdir}/perl5' +inherit cpan-base -DEPENDS += "perl-native" -RDEPENDS += "perl" +INHIBIT_NATIVE_STAGE_INSTALL = "1" # # We also need to have built libmodule-build-perl-native for # everything except libmodule-build-perl-native itself (which uses -# this class, but uses itself as the probider of +# this class, but uses itself as the provider of # libmodule-build-perl) # def cpan_build_dep_prepend(d): @@ -24,24 +22,29 @@ def cpan_build_dep_prepend(d): DEPENDS_prepend = "${@cpan_build_dep_prepend(d)}" -def is_crosscompiling(d): - import bb - if not bb.data.inherits_class('native', d): - return "yes" - return "no" - cpan_build_do_configure () { - if [ ${@is_crosscompiling(d)} == "yes" ]; then + if [ ${@is_target(d)} == "yes" ]; then # build for target . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh - perl Build.PL --installdirs vendor \ - --destdir ${D} \ - --install_path lib="${libdir}/perl5/site_perl/${version}" \ - --install_path arch="${libdir}/perl5/site_perl/${version}/${TARGET_SYS}" \ - --install_path script=${bindir} \ - --install_path bin=${bindir} \ - --install_path bindoc=${mandir}/man1 \ - --install_path libdoc=${mandir}/man3 + if [ "${IS_NEW_PERL}" = "yes" ]; then + perl Build.PL --installdirs vendor \ + --destdir ${D} \ + --install_path lib="${datadir}/perl5" \ + --install_path arch="${libdir}/perl5" \ + --install_path script=${bindir} \ + --install_path bin=${bindir} \ + --install_path bindoc=${mandir}/man1 \ + --install_path libdoc=${mandir}/man3 + else + perl Build.PL --installdirs vendor \ + --destdir ${D} \ + --install_path lib="${libdir}/perl5/site_perl/${version}" \ + --install_path arch="${libdir}/perl5/site_perl/${version}/${TARGET_SYS}" \ + --install_path script=${bindir} \ + --install_path bin=${bindir} \ + --install_path bindoc=${mandir}/man1 \ + --install_path libdoc=${mandir}/man3 + fi else # build for host perl Build.PL --installdirs site @@ -53,13 +56,13 @@ cpan_build_do_compile () { } cpan_build_do_install () { - if [ ${@is_crosscompiling(d)} == "yes" ]; then + if [ ${@is_target(d)} == "yes" ]; then perl Build install fi } do_stage_append () { - if [ ${@is_crosscompiling(d)} == "no" ]; then + if [ ${@is_target(d)} == "no" ]; then perl Build install fi } -- cgit v1.2.3