| 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.83 2006/02/28 02:56:48 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.96 2006/06/12 20:11:39 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 |
| 9 | # modules, and their incorporation into the Gentoo Linux system. |
9 | # modules, and their incorporation into the Gentoo Linux system. |
| 10 | |
10 | |
| 11 | |
11 | |
| 12 | EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm src_compile src_install src_test perlinfo fixlocalpod updatepod |
12 | EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm src_compile src_install src_test |
| 13 | |
13 | |
| 14 | # 2005.04.28 mcummings |
14 | # 2005.04.28 mcummings |
| 15 | # Mounting problems with src_test functions has forced me to make the |
15 | # Mounting problems with src_test functions has forced me to make the |
| 16 | # compilation of perl modules honor the FEATURES maketest flag rather than what |
16 | # compilation of perl modules honor the FEATURES maketest flag rather than what |
| 17 | # is generally necessary. I've left a block to make sure we still need to set |
17 | # is generally necessary. I've left a block to make sure we still need to set |
| … | |
… | |
| 90 | perl-module_src_prep() { |
90 | perl-module_src_prep() { |
| 91 | |
91 | |
| 92 | perlinfo |
92 | perlinfo |
| 93 | |
93 | |
| 94 | export PERL_MM_USE_DEFAULT=1 |
94 | export PERL_MM_USE_DEFAULT=1 |
|
|
95 | # Disable ExtUtils::AutoInstall from prompting |
|
|
96 | export PERL_EXTUTILS_AUTOINSTALL="--skipdeps" |
| 95 | |
97 | |
| 96 | |
98 | |
| 97 | SRC_PREP="yes" |
99 | SRC_PREP="yes" |
| 98 | if [ -f ${S}/Build.PL ] && [ "${USE_BUILDER}" == "yes" ]; then |
100 | if [ -f Makefile.PL ] && [ ! ${PN} == "module-build" ]; then |
| 99 | einfo "Using Module::Build" |
|
|
| 100 | if [ -z ${BUILDER_VER} ]; then |
|
|
| 101 | eerror |
|
|
| 102 | eerror "Please post a bug on http://bugs.gentoo.org assigned to" |
|
|
| 103 | eerror "perl@gentoo.org - ${P} was added without a dependancy" |
|
|
| 104 | eerror "on dev-perl/module-build" |
|
|
| 105 | eerror "${BUILDER_VER}" |
|
|
| 106 | eerror |
|
|
| 107 | die |
|
|
| 108 | else |
|
|
| 109 | perl ${S}/Build.PL installdirs=vendor destdir=${D} libdoc= |
|
|
| 110 | fi |
|
|
| 111 | else |
|
|
| 112 | einfo "Using ExtUtils::MakeMaker" |
101 | einfo "Using ExtUtils::MakeMaker" |
| 113 | #perl Makefile.PL ${myconf} \ |
102 | #perl Makefile.PL ${myconf} \ |
| 114 | perl Makefile.PL ${myconf} INSTALLMAN3DIR='none'\ |
103 | perl Makefile.PL ${myconf} INSTALLMAN3DIR='none'\ |
| 115 | PREFIX=/usr INSTALLDIRS=vendor DESTDIR=${D} |
104 | 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 |
|
|
110 | if [ ! -f Build.PL ] && [ ! -f Makefile.PL ]; then |
|
|
111 | einfo "No Make or Build file detected..." |
|
|
112 | return |
| 116 | fi |
113 | fi |
| 117 | } |
114 | } |
| 118 | |
115 | |
| 119 | perl-module_src_compile() { |
116 | perl-module_src_compile() { |
| 120 | |
117 | |
| 121 | perlinfo |
118 | perlinfo |
| 122 | [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep |
119 | [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep |
| 123 | if [ -z ${BUILDER_VER} ]; then |
120 | if [ -f Makefile ]; then |
| 124 | make ${mymake} || die "compilation failed" |
121 | make ${mymake} || die "compilation failed" |
| 125 | else |
122 | elif [ -f Build ]; then |
| 126 | perl ${S}/Build build |
123 | perl Build build || die "compilation failed" |
| 127 | fi |
124 | fi |
| 128 | |
125 | |
| 129 | } |
126 | } |
| 130 | |
127 | |
| 131 | perl-module_src_test() { |
128 | perl-module_src_test() { |
| 132 | if [ "${SRC_TEST}" == "do" ]; then |
129 | if [ "${SRC_TEST}" == "do" ]; then |
| 133 | perlinfo |
130 | perlinfo |
| 134 | if [ -z ${BUILDER_VER} ]; then |
131 | if [ -f Makefile ]; then |
| 135 | make test || die "test failed" |
132 | make test || die "test failed" |
| 136 | else |
133 | elif [ -f Build ]; then |
| 137 | perl ${S}/Build test || die "test failed" |
134 | perl Build test || die "test failed" |
| 138 | fi |
135 | fi |
| 139 | fi |
136 | fi |
| 140 | } |
137 | } |
| 141 | |
138 | |
| 142 | perl-module_src_install() { |
139 | perl-module_src_install() { |
| 143 | |
140 | |
| 144 | perlinfo |
141 | perlinfo |
| 145 | |
142 | |
| 146 | test -z ${mytargets} && mytargets="install" |
143 | test -z ${mytargets} && mytargets="install" |
| 147 | |
144 | |
| 148 | if [ -z ${BUILDER_VER} ]; then |
145 | if [ -f Makefile ]; then |
| 149 | make ${myinst} ${mytargets} || die |
146 | make ${myinst} ${mytargets} || die |
| 150 | else |
147 | elif [ -f Build ]; then |
| 151 | perl ${S}/Build install |
148 | perl ${S}/Build install |
| 152 | fi |
149 | fi |
| 153 | |
150 | |
| 154 | fixlocalpod |
151 | fixlocalpod |
| 155 | |
152 | |
| … | |
… | |
| 177 | perlinfo |
174 | perlinfo |
| 178 | } |
175 | } |
| 179 | |
176 | |
| 180 | perl-module_pkg_postinst() { |
177 | perl-module_pkg_postinst() { |
| 181 | |
178 | |
|
|
179 | einfo "Man pages are not installed for most modules now." |
|
|
180 | einfo "Please use perldoc instead." |
| 182 | updatepod |
181 | updatepod |
| 183 | } |
182 | } |
| 184 | |
183 | |
| 185 | perl-module_pkg_prerm() { |
184 | perl-module_pkg_prerm() { |
| 186 | |
185 | |
| … | |
… | |
| 217 | local installvendorarch |
216 | local installvendorarch |
| 218 | eval `perl '-V:installvendorarch'` |
217 | eval `perl '-V:installvendorarch'` |
| 219 | VENDOR_ARCH=${installvendorarch} |
218 | VENDOR_ARCH=${installvendorarch} |
| 220 | |
219 | |
| 221 | if [ "${USE_BUILDER}" == "yes" ]; then |
220 | if [ "${USE_BUILDER}" == "yes" ]; then |
|
|
221 | if [ ! -f ${S}/Makefile.PL ] || [ ${PN} == "module-build" ]; then |
| 222 | if [ -f ${S}/Build.PL ]; then |
222 | if [ -f ${S}/Build.PL ]; then |
| 223 | if [ ${PN} == "module-build" ]; then |
223 | if [ ${PN} == "module-build" ]; then |
| 224 | BUILDER_VER="1" # A bootstrapping if you will |
224 | BUILDER_VER="1" # A bootstrapping if you will |
| 225 | else |
225 | else |
| 226 | BUILDER_VER=`perl -MModule::Build -e 'print "$Module::Build::VERSION;"' ` |
226 | BUILDER_VER=`perl -MModule::Build -e 'print "$Module::Build::VERSION;"' ` |
| 227 | fi |
227 | fi |
| 228 | fi |
228 | fi |
|
|
229 | fi |
| 229 | fi |
230 | fi |
| 230 | |
231 | |
| 231 | if [ -f /usr/bin/perl ] |
232 | if [ -f /usr/bin/perl ] |
| 232 | then |
233 | then |
| 233 | POD_DIR="/usr/share/perl/gentoo-pods/${version}" |
234 | POD_DIR="/usr/share/perl/gentoo-pods/${version}" |