/[gentoo-x86]/eclass/perl-module.eclass
Gentoo

Diff of /eclass/perl-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.96 Revision 1.97
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.96 2006/06/12 20:11:39 mcummings Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.97 2006/06/14 00:31:44 mcummings Exp $
4# 4#
5# Author: Seemant Kulleen <seemant@gentoo.org> 5# Author: Seemant Kulleen <seemant@gentoo.org>
6# Maintained by the Perl herd <perl@gentoo.org> 6# Maintained by the Perl herd <perl@gentoo.org>
7# 7#
8# The perl-module eclass is designed to allow easier installation of perl 8# The perl-module eclass is designed to allow easier installation of perl
58# Fix for proper handling of $mydoc - thanks to stkn for noticing we were 58# Fix for proper handling of $mydoc - thanks to stkn for noticing we were
59# bombing out there 59# bombing out there
60# 60#
61# 2005.07.19 mcummings 61# 2005.07.19 mcummings
62# Providing an override var for the use of Module::Build. While it is being 62# Providing an override var for the use of Module::Build. While it is being
63# incorporated in more and more modules, not module authors have working 63# incorporated in more and more modules, not all module authors have working
64# Build.PL's in place. The override is to allow for a fallback to the "classic" 64# Build.PL's in place. The override is to allow for a fallback to the "classic"
65# Makfile.PL - example is Class::MethodMaker, which provides a Build.PL that is 65# Makfile.PL - example is Class::MethodMaker, which provides a Build.PL that is
66# severely broken. 66# severely broken.
67# 67#
68# 2006.02.11 mcummings 68# 2006.02.11 mcummings
69# Per a conversation with solar, adding a change to the dep/rdep lines for 69# Per a conversation with solar, adding a change to the dep/rdep lines for
70# minimal. Should fix bug 68367 and bug 83622, as well as other embedded builds 70# minimal. Should fix bug 68367 and bug 83622, as well as other embedded builds
71# that use perl components without providing perl 71# that use perl components without providing perl
72#
73# 2006.06.13 mcummings
74# I've reordered and extended the logic on when to invoke module-build versus
75# MakeMaker. The problem that has arisen is that some modules provide a
76# Makefile.PL that passes all arguments on to a Build.PL - including PREFIX,
77# which causes module-build to build with a target of /usr/usr/
78# (how broken is that?). Current logic is if there is a Build.PL and we aren't
79# overriding, use it; otherwise use the Makefile.PL; otherwise return (maybe we
80# want all the functionality of the perl-module eclass without needing to
81# compile??).
72 82
73 83
74IUSE="minimal" 84IUSE="minimal"
75DEPEND=">=dev-lang/perl-5.8.2 !<perl-core/ExtUtils-MakeMaker-6.17" 85DEPEND=">=dev-lang/perl-5.8.2 !<perl-core/ExtUtils-MakeMaker-6.17"
76RDEPEND="!minimal? ( ${DEPEND} )" 86RDEPEND="!minimal? ( ${DEPEND} )"
77SRC_PREP="no" 87SRC_PREP="no"
78SRC_TEST="skip" 88SRC_TEST="skip"
79USE_BUILDER="yes" 89PREFER_BUILDPL="yes"
80 90
81PERL_VERSION="" 91PERL_VERSION=""
82SITE_ARCH="" 92SITE_ARCH=""
83SITE_LIB="" 93SITE_LIB=""
84VENDOR_LIB="" 94VENDOR_LIB=""
95 # Disable ExtUtils::AutoInstall from prompting 105 # Disable ExtUtils::AutoInstall from prompting
96 export PERL_EXTUTILS_AUTOINSTALL="--skipdeps" 106 export PERL_EXTUTILS_AUTOINSTALL="--skipdeps"
97 107
98 108
99 SRC_PREP="yes" 109 SRC_PREP="yes"
110 if [ "${PREFER_BUILDPL}" == "yes" ] && ( [ -f Build.PL ] || [ ${PN} == "module-build" ] ); then
111 einfo "Using Module::Build"
112 perl Build.PL --installdirs=vendor --destdir=${D} --libdoc= || die "Unable to build! (are you using USE=\"build\"?)"
100 if [ -f Makefile.PL ] && [ ! ${PN} == "module-build" ]; then 113 elif [ -f Makefile.PL ] && [ ! ${PN} == "module-build" ]; then
101 einfo "Using ExtUtils::MakeMaker" 114 einfo "Using ExtUtils::MakeMaker"
102 #perl Makefile.PL ${myconf} \ 115 #perl Makefile.PL ${myconf} \
103 perl Makefile.PL ${myconf} INSTALLMAN3DIR='none'\ 116 perl Makefile.PL ${myconf} INSTALLMAN3DIR='none'\
104 PREFIX=/usr INSTALLDIRS=vendor DESTDIR=${D} || die "Unable to build! (are you using USE=\"build\"?)" 117 PREFIX=/usr INSTALLDIRS=vendor DESTDIR=${D} || die "Unable to build! (are you using USE=\"build\"?)"
105 fi
106 if [ -f Build.PL ] && ( [ ! -f Makefile.PL ] || [ ${PN} == "module-build" ]); then
107 einfo "Using Module::Build"
108 perl Build.PL --installdirs=vendor --destdir=${D} --libdoc= || die "Unable to build! (are you using USE=\"build\"?)"
109 fi 118 fi
110 if [ ! -f Build.PL ] && [ ! -f Makefile.PL ]; then 119 if [ ! -f Build.PL ] && [ ! -f Makefile.PL ]; then
111 einfo "No Make or Build file detected..." 120 einfo "No Make or Build file detected..."
112 return 121 return
113 fi 122 fi
215 224
216 local installvendorarch 225 local installvendorarch
217 eval `perl '-V:installvendorarch'` 226 eval `perl '-V:installvendorarch'`
218 VENDOR_ARCH=${installvendorarch} 227 VENDOR_ARCH=${installvendorarch}
219 228
220 if [ "${USE_BUILDER}" == "yes" ]; then 229 if [ "${PREFER_BUILDPL}" == "yes" ]; then
221 if [ ! -f ${S}/Makefile.PL ] || [ ${PN} == "module-build" ]; then 230 if [ ! -f ${S}/Makefile.PL ] || [ ${PN} == "module-build" ]; then
222 if [ -f ${S}/Build.PL ]; then 231 if [ -f ${S}/Build.PL ]; then
223 if [ ${PN} == "module-build" ]; then 232 if [ ${PN} == "module-build" ]; then
224 BUILDER_VER="1" # A bootstrapping if you will 233 BUILDER_VER="1" # A bootstrapping if you will
225 else 234 else

Legend:
Removed from v.1.96  
changed lines
  Added in v.1.97

  ViewVC Help
Powered by ViewVC 1.1.20