/[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.48 Revision 1.57
1# Copyright 1999-2003 Gentoo Technologies, Inc. 1# Copyright 1999-2004 Gentoo Technologies, Inc.
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.48 2003/07/25 21:08:44 rac Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.57 2004/03/05 10:30:33 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# 7#
7# 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
8# modules, and their incorporation into the Gentoo Linux system. 9# modules, and their incorporation into the Gentoo Linux system.
9 10
10ECLASS=perl-module 11ECLASS=perl-module
12 13
13EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm \ 14EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm \
14 src_compile src_install src_test \ 15 src_compile src_install src_test \
15 perlinfo updatepod 16 perlinfo updatepod
16 17
17eval `perl '-V:version'` 18
18newdepend ">=dev-lang/perl-5.8.0-r12" 19newdepend ">=dev-lang/perl-5.8.0-r12"
19SRC_PREP="no" 20SRC_PREP="no"
21SRC_TEST="skip"
20 22
23PERL_VERSION=""
24SITE_ARCH=""
21SITE_LIB="" 25SITE_LIB=""
22ARCH_LIB="" 26ARCH_LIB=""
23POD_DIR="" 27POD_DIR=""
28MMSIXELEVEN=""
24 29
25perl-module_src_prep() { 30getperlinfo() {
26 31 eval `perl '-V:version'`
27 SRC_PREP="yes" 32 PERL_VERSION=${version}
28 if [ "${style}" == "builder" ]; then
29 perl ${S}/Build.PL installdirs=vendor destdir=${D}
30 else
31 perl Makefile.PL INSTALLDIRS=vendor ${myconf} \
32 PREFIX=${D}/usr
33 fi
34
35}
36
37perl-module_src_compile() {
38
39 [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep
40 if [ "${style}" != "builder" ]; then
41 make ${mymake} || die "compilation failed"
42 fi
43
44}
45
46perl-module_src_test() {
47 if [ "${style}" == "builder" ]; then
48 perl ${S}/Build test
49 else
50 make test
51 fi
52
53}
54
55perl-module_src_install() {
56
57 perlinfo
58 dodir ${POD_DIR}
59
60 test -z ${mytargets} && mytargets="install"
61 eval `perl '-V:installsitearch'` 33 eval `perl '-V:installsitearch'`
62 SITE_ARCH=${installsitearch} 34 SITE_ARCH=${installsitearch}
63 eval `perl '-V:installarchlib'` 35 eval `perl '-V:installarchlib'`
64 ARCH_LIB=${installarchlib} 36 ARCH_LIB=${installarchlib}
37 eval `perl '-V:installarchlib'`
38 ARCH_LIB=${installarchlib}
39 eval `perl '-V:installsitearch'`
40 SITE_LIB=${installsitearch}
41# handling of DESTDIR changed in makemaker 6.11
42 MMSIXELEVEN=`perl -e 'use ExtUtils::MakeMaker; print( $ExtUtils::MakeMaker::VERSION ge "6.11" )'`
43}
44
45getperlinfo
46
47perl-module_src_prep() {
48 SRC_PREP="yes"
49 if [ "${style}" == "builder" ]; then
50 perl ${S}/Build.PL installdirs=vendor destdir=${D}
51 else
52 if [ "${MMSIXELEVEN}" ]; then
53 perl Makefile.PL ${myconf} \
54 PREFIX=/usr INSTALLDIRS=vendor DESTDIR=${D}
55 else
56 perl Makefile.PL ${myconf} \
57 PREFIX=${D}/usr INSTALLDIRS=vendor
58 fi
59 fi
60
61}
62
63perl-module_src_compile() {
64
65 [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep
66 if [ "${style}" != "builder" ]; then
67 make ${mymake} || die "compilation failed"
68 fi
69
70 if [ "${SRC_TEST}" == "do" ]; then
71 perl-module_src_test || die "test failed"
72 SRC_TEST="done"
73 fi
74}
75
76perl-module_src_test() {
77 if [ "${style}" == "builder" ]; then
78 perl ${S}/Build test
79 else
80 make test
81 fi
82
83}
84
85perl-module_src_install() {
86
87 perlinfo
88 dodir ${POD_DIR}
89
90 test -z ${mytargets} && mytargets="install"
65 91
66 if [ "${style}" == "builder" ]; then 92 if [ "${style}" == "builder" ]; then
67 perl ${S}/Build install 93 perl ${S}/Build install
68 else 94 else
95 if [ "${MMSIXELEVEN}" ]; then
96 make ${myinst} ${mytargets} || die
97 else
69 make \ 98 make \
70 PREFIX=${D}/usr \ 99 PREFIX=${D}/usr \
71 INSTALLMAN1DIR=${D}/usr/share/man/man1 \ 100 INSTALLMAN1DIR=${D}/usr/share/man/man1 \
72 INSTALLMAN2DIR=${D}/usr/share/man/man2 \ 101 INSTALLMAN2DIR=${D}/usr/share/man/man2 \
73 INSTALLMAN3DIR=${D}/usr/share/man/man3 \ 102 INSTALLMAN3DIR=${D}/usr/share/man/man3 \
74 INSTALLMAN4DIR=${D}/usr/share/man/man4 \ 103 INSTALLMAN4DIR=${D}/usr/share/man/man4 \
75 INSTALLMAN5DIR=${D}/usr/share/man/man5 \ 104 INSTALLMAN5DIR=${D}/usr/share/man/man5 \
76 INSTALLMAN6DIR=${D}/usr/share/man/man6 \ 105 INSTALLMAN6DIR=${D}/usr/share/man/man6 \
77 INSTALLMAN7DIR=${D}/usr/share/man/man7 \ 106 INSTALLMAN7DIR=${D}/usr/share/man/man7 \
78 INSTALLMAN8DIR=${D}/usr/share/man/man8 \ 107 INSTALLMAN8DIR=${D}/usr/share/man/man8 \
79 INSTALLSITEMAN1DIR=${D}/usr/share/man/man1 \ 108 INSTALLSITEMAN1DIR=${D}/usr/share/man/man1 \
80 INSTALLSITEMAN2DIR=${D}/usr/share/man/man2 \ 109 INSTALLSITEMAN2DIR=${D}/usr/share/man/man2 \
81 INSTALLSITEMAN3DIR=${D}/usr/share/man/man3 \ 110 INSTALLSITEMAN3DIR=${D}/usr/share/man/man3 \
82 INSTALLSITEMAN4DIR=${D}/usr/share/man/man4 \ 111 INSTALLSITEMAN4DIR=${D}/usr/share/man/man4 \
83 INSTALLSITEMAN5DIR=${D}/usr/share/man/man5 \ 112 INSTALLSITEMAN5DIR=${D}/usr/share/man/man5 \
84 INSTALLSITEMAN6DIR=${D}/usr/share/man/man6 \ 113 INSTALLSITEMAN6DIR=${D}/usr/share/man/man6 \
85 INSTALLSITEMAN7DIR=${D}/usr/share/man/man7 \ 114 INSTALLSITEMAN7DIR=${D}/usr/share/man/man7 \
86 INSTALLSITEMAN8DIR=${D}/usr/share/man/man8 \ 115 INSTALLSITEMAN8DIR=${D}/usr/share/man/man8 \
116 INSTALLVENDORMAN3DIR=${D}/usr/share/man/man3 \
87 INSTALLSITEARCH=${D}/${SITE_ARCH} \ 117 INSTALLSITEARCH=${D}/${SITE_ARCH} \
88 INSTALLSCRIPT=${D}/usr/bin \ 118 INSTALLSCRIPT=${D}/usr/bin \
89 ${myinst} \ 119 ${myinst} \
90 ${mytargets} || die 120 ${mytargets} || die
121 fi
91 fi 122 fi
92 123
93 if [ -f ${D}${ARCH_LIB}/perllocal.pod ]; 124 if [ -f ${D}${ARCH_LIB}/perllocal.pod ];
94 then 125 then
95 touch ${D}/${POD_DIR}/${P}.pod 126 touch ${D}/${POD_DIR}/${P}.pod
112 143
113 for FILE in `find ${D} -type f -name "*.html" -o -name ".packlist"`; do 144 for FILE in `find ${D} -type f -name "*.html" -o -name ".packlist"`; do
114 sed -i -e "s:${D}:/:g" ${FILE} 145 sed -i -e "s:${D}:/:g" ${FILE}
115 done 146 done
116 147
117 dodoc Change* MANIFEST* README* ${mydoc} 148 for doc in Change* MANIFEST* README*; do
149 [ -s "$doc" ] && dodoc $doc
150 done
151 dodoc ${mydoc}
118} 152}
119 153
120 154
121perl-module_pkg_setup() { 155perl-module_pkg_setup() {
122 156
146 180
147perlinfo() { 181perlinfo() {
148 182
149 if [ -f /usr/bin/perl ] 183 if [ -f /usr/bin/perl ]
150 then 184 then
151 eval `perl '-V:installarchlib'`
152 eval `perl '-V:installsitearch'`
153 ARCH_LIB=${installarchlib}
154 SITE_LIB=${installsitearch}
155
156 eval `perl '-V:version'`
157 POD_DIR="/usr/share/perl/gentoo-pods/${version}" 185 POD_DIR="/usr/share/perl/gentoo-pods/${version}"
158 fi 186 fi
159 187
160} 188}
161 189

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.57

  ViewVC Help
Powered by ViewVC 1.1.20