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

Contents of /eclass/perl-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.64 - (hide annotations) (download)
Mon Aug 2 18:45:37 2004 UTC (10 years, 1 month ago) by rac
Branch: MAIN
Changes since 1.63: +3 -1 lines
Add PERL_MM_USE_DEFAULT to src_prep (thanks moonflux)

1 vapier 1.63 # Copyright 1999-2004 Gentoo Foundation
2 vapier 1.30 # Distributed under the terms of the GNU General Public License v2
3 rac 1.64 # $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.63 2004/06/25 00:39:48 vapier Exp $
4 vapier 1.33 #
5 seemant 1.1 # Author: Seemant Kulleen <seemant@gentoo.org>
6 mcummings 1.57 # Maintained by the Perl herd <perl@gentoo.org>
7 vapier 1.33 #
8 seemant 1.1 # The perl-module eclass is designed to allow easier installation of perl
9     # modules, and their incorporation into the Gentoo Linux system.
10 seemant 1.3
11 danarmak 1.14 ECLASS=perl-module
12 seemant 1.35 INHERITED="${INHERITED} ${ECLASS}"
13 danarmak 1.13
14 seemant 1.35 EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm \
15 seemant 1.37 src_compile src_install src_test \
16     perlinfo updatepod
17 seemant 1.1
18 rac 1.61 # 2004.05.10 rac
19     # block on makemaker versions earlier than that in the 5.8.2 core. in
20     # actuality, this should be handled in the perl ebuild, so every perl
21     # ebuild should block versions of MakeMaker older than the one it
22     # carries. in the meantime, since we have dumped support for MakeMaker
23     # <6.11 and the associated broken DESTDIR handling, block here to save
24     # people from sandbox trouble.
25 rac 1.62 #
26     # 2004.05.25 rac
27     # for the same reasons, make the perl dep >=5.8.2 to get everybody
28     # with 5.8.0 and its 6.03 makemaker up to a version that can
29     # understand DESTDIR
30 mcummings 1.57
31 rac 1.62 DEPEND=">=dev-lang/perl-5.8.2 !<dev-perl/ExtUtils-MakeMaker-6.17"
32 azarah 1.11 SRC_PREP="no"
33 rac 1.55 SRC_TEST="skip"
34 azarah 1.11
35 mcummings 1.57 PERL_VERSION=""
36     SITE_ARCH=""
37 seemant 1.35 SITE_LIB=""
38     ARCH_LIB=""
39     POD_DIR=""
40    
41 aliz 1.15 perl-module_src_prep() {
42 rac 1.60
43     perlinfo
44    
45 rac 1.64 export PERL_MM_USE_DEFAULT=1
46    
47 azarah 1.11 SRC_PREP="yes"
48 mcummings 1.43 if [ "${style}" == "builder" ]; then
49 rac 1.48 perl ${S}/Build.PL installdirs=vendor destdir=${D}
50 mcummings 1.43 else
51 rac 1.60 perl Makefile.PL ${myconf} \
52     PREFIX=/usr INSTALLDIRS=vendor DESTDIR=${D}
53 mcummings 1.43 fi
54 azarah 1.11 }
55    
56 aliz 1.15 perl-module_src_compile() {
57 seemant 1.6
58 aliz 1.15 [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep
59 mcummings 1.43 if [ "${style}" != "builder" ]; then
60     make ${mymake} || die "compilation failed"
61     fi
62    
63 rac 1.55 if [ "${SRC_TEST}" == "do" ]; then
64     perl-module_src_test || die "test failed"
65     SRC_TEST="done"
66     fi
67 seemant 1.8 }
68    
69 aliz 1.15 perl-module_src_test() {
70 mcummings 1.43 if [ "${style}" == "builder" ]; then
71     perl ${S}/Build test
72     else
73     make test
74     fi
75 seemant 1.1 }
76    
77 aliz 1.15 perl-module_src_install() {
78 seemant 1.12
79 seemant 1.35 perlinfo
80 seemant 1.1 dodir ${POD_DIR}
81    
82 seemant 1.9 test -z ${mytargets} && mytargets="install"
83 mcummings 1.31
84 mcummings 1.43 if [ "${style}" == "builder" ]; then
85     perl ${S}/Build install
86     else
87 rac 1.51 make ${myinst} ${mytargets} || die
88 mcummings 1.43 fi
89 mcummings 1.20
90     if [ -f ${D}${ARCH_LIB}/perllocal.pod ];
91     then
92 seemant 1.27 touch ${D}/${POD_DIR}/${P}.pod
93     sed -e "s:${D}::g" \
94     ${D}${ARCH_LIB}/perllocal.pod >> ${D}/${POD_DIR}/${P}.pod
95     touch ${D}/${POD_DIR}/${P}.pod.arch
96     cat ${D}/${POD_DIR}/${P}.pod >>${D}/${POD_DIR}/${P}.pod.arch
97     rm -f ${D}/${ARCH_LIB}/perllocal.pod
98 mcummings 1.20 fi
99 seemant 1.1
100 mcummings 1.20 if [ -f ${D}${SITE_LIB}/perllocal.pod ];
101     then
102 seemant 1.27 touch ${D}/${POD_DIR}/${P}.pod
103     sed -e "s:${D}::g" \
104     ${D}${SITE_LIB}/perllocal.pod >> ${D}/${POD_DIR}/${P}.pod
105     touch ${D}/${POD_DIR}/${P}.pod.site
106     cat ${D}/${POD_DIR}/${P}.pod >>${D}/${POD_DIR}/${P}.pod.site
107     rm -f ${D}/${SITE_LIB}/perllocal.pod
108 mcummings 1.20 fi
109 mcummings 1.38
110     for FILE in `find ${D} -type f -name "*.html" -o -name ".packlist"`; do
111 mcummings 1.42 sed -i -e "s:${D}:/:g" ${FILE}
112 mcummings 1.38 done
113 seemant 1.1
114 lanius 1.53 for doc in Change* MANIFEST* README*; do
115     [ -s "$doc" ] && dodoc $doc
116     done
117     dodoc ${mydoc}
118 seemant 1.35 }
119    
120    
121     perl-module_pkg_setup() {
122    
123     perlinfo
124     }
125    
126    
127     perl-module_pkg_preinst() {
128    
129     perlinfo
130     }
131    
132     perl-module_pkg_postinst() {
133    
134     updatepod
135     }
136    
137     perl-module_pkg_prerm() {
138    
139     updatepod
140     }
141    
142     perl-module_pkg_postrm() {
143    
144     updatepod
145     }
146    
147     perlinfo() {
148    
149     if [ -f /usr/bin/perl ]
150     then
151     POD_DIR="/usr/share/perl/gentoo-pods/${version}"
152     fi
153 mcummings 1.58 eval `perl '-V:version'`
154     PERL_VERSION=${version}
155     eval `perl '-V:installsitearch'`
156     SITE_ARCH=${installsitearch}
157     eval `perl '-V:installarchlib'`
158     ARCH_LIB=${installarchlib}
159     eval `perl '-V:installarchlib'`
160     ARCH_LIB=${installarchlib}
161     eval `perl '-V:installsitearch'`
162     SITE_LIB=${installsitearch}
163 seemant 1.35 }
164    
165     updatepod() {
166     perlinfo
167    
168     if [ -d "${POD_DIR}" ]
169     then
170     for FILE in `find ${POD_DIR} -type f -name "*.pod.arch"`; do
171     cat ${FILE} >> ${ARCH_LIB}/perllocal.pod
172     rm -f ${FILE}
173     done
174     for FILE in `find ${POD_DIR} -type f -name "*.pod.site"`; do
175     cat ${FILE} >> ${SITE_LIB}/perllocal.pod
176     rm -f ${FILE}
177     done
178     fi
179 seemant 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20