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

Contents of /eclass/perl-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.36 - (hide annotations) (download)
Fri May 30 12:47:28 2003 UTC (11 years, 1 month ago) by mcummings
Branch: MAIN
Changes since 1.35: +1 -2 lines
Since we are now at perl 5.8 and MakeMaker has been removed from portage, the dep for MakeMaker is no longer needed

1 vapier 1.33 # Copyright 1999-2003 Gentoo Technologies, Inc.
2 vapier 1.30 # Distributed under the terms of the GNU General Public License v2
3 mcummings 1.36 # $Header: /home/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.35 2003/05/30 08:13:44 seemant Exp $
4 vapier 1.33 #
5 seemant 1.1 # Author: Seemant Kulleen <seemant@gentoo.org>
6 vapier 1.33 #
7 seemant 1.1 # The perl-module eclass is designed to allow easier installation of perl
8     # modules, and their incorporation into the Gentoo Linux system.
9 seemant 1.3
10 danarmak 1.14 ECLASS=perl-module
11 seemant 1.35 INHERITED="${INHERITED} ${ECLASS}"
12 danarmak 1.13
13 seemant 1.35 EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm \
14     src_compile src_install src_test
15 seemant 1.1
16 mcummings 1.25 eval `perl '-V:version'`
17 seemant 1.34 DEPEND="dev-lang/perl
18 mcummings 1.32 ${DEPEND}"
19 azarah 1.11 SRC_PREP="no"
20    
21 seemant 1.35 SITE_LIB=""
22     ARCH_LIB=""
23     POD_DIR=""
24    
25 aliz 1.15 perl-module_src_prep() {
26 azarah 1.11
27     SRC_PREP="yes"
28 mcummings 1.21 perl Makefile.PL ${myconf} \
29     PREFIX=${D}/usr
30 azarah 1.11 }
31    
32 aliz 1.15 perl-module_src_compile() {
33 seemant 1.6
34 aliz 1.15 [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep
35 seemant 1.7 make ${mymake} || die "compilation failed"
36 seemant 1.8 }
37    
38 aliz 1.15 perl-module_src_test() {
39 seemant 1.9 make test
40 seemant 1.1 }
41    
42 aliz 1.15 perl-module_src_install() {
43 seemant 1.12
44 seemant 1.35 perlinfo
45 seemant 1.1 dodir ${POD_DIR}
46    
47 seemant 1.9 test -z ${mytargets} && mytargets="install"
48 mcummings 1.31 eval `perl '-V:installsitearch'`
49     SITE_ARCH=${installsitearch}
50     eval `perl '-V:installarchlib'`
51     ARCH_LIB=${installarchlib}
52    
53 seemant 1.9
54 seemant 1.1 make \
55 seemant 1.27 PREFIX=${D}/usr \
56     INSTALLMAN1DIR=${D}/usr/share/man/man1 \
57     INSTALLMAN2DIR=${D}/usr/share/man/man2 \
58     INSTALLMAN3DIR=${D}/usr/share/man/man3 \
59     INSTALLMAN4DIR=${D}/usr/share/man/man4 \
60     INSTALLMAN5DIR=${D}/usr/share/man/man5 \
61     INSTALLMAN6DIR=${D}/usr/share/man/man6 \
62     INSTALLMAN7DIR=${D}/usr/share/man/man7 \
63     INSTALLMAN8DIR=${D}/usr/share/man/man8 \
64 mcummings 1.31 INSTALLSITEMAN1DIR=${D}/usr/share/man/man1 \
65     INSTALLSITEMAN2DIR=${D}/usr/share/man/man2 \
66     INSTALLSITEMAN3DIR=${D}/usr/share/man/man3 \
67     INSTALLSITEMAN4DIR=${D}/usr/share/man/man4 \
68     INSTALLSITEMAN5DIR=${D}/usr/share/man/man5 \
69     INSTALLSITEMAN6DIR=${D}/usr/share/man/man6 \
70     INSTALLSITEMAN7DIR=${D}/usr/share/man/man7 \
71     INSTALLSITEMAN8DIR=${D}/usr/share/man/man8 \
72     INSTALLSITEARCH=${D}/${SITE_ARCH} \
73     INSTALLSCRIPT=${D}/usr/bin \
74 seemant 1.27 ${myinst} \
75     ${mytargets} || die
76 mcummings 1.20
77    
78     if [ -f ${D}${ARCH_LIB}/perllocal.pod ];
79     then
80 seemant 1.27 touch ${D}/${POD_DIR}/${P}.pod
81     sed -e "s:${D}::g" \
82     ${D}${ARCH_LIB}/perllocal.pod >> ${D}/${POD_DIR}/${P}.pod
83     touch ${D}/${POD_DIR}/${P}.pod.arch
84     cat ${D}/${POD_DIR}/${P}.pod >>${D}/${POD_DIR}/${P}.pod.arch
85     rm -f ${D}/${ARCH_LIB}/perllocal.pod
86 mcummings 1.20 fi
87 seemant 1.1
88 mcummings 1.20 if [ -f ${D}${SITE_LIB}/perllocal.pod ];
89     then
90 seemant 1.27 touch ${D}/${POD_DIR}/${P}.pod
91     sed -e "s:${D}::g" \
92     ${D}${SITE_LIB}/perllocal.pod >> ${D}/${POD_DIR}/${P}.pod
93     touch ${D}/${POD_DIR}/${P}.pod.site
94     cat ${D}/${POD_DIR}/${P}.pod >>${D}/${POD_DIR}/${P}.pod.site
95     rm -f ${D}/${SITE_LIB}/perllocal.pod
96 mcummings 1.20 fi
97 seemant 1.1
98 seemant 1.9 dodoc Change* MANIFEST* README* ${mydoc}
99 seemant 1.35 }
100    
101    
102     perl-module_pkg_setup() {
103    
104     perlinfo
105     }
106    
107    
108     perl-module_pkg_preinst() {
109    
110     perlinfo
111     }
112    
113     perl-module_pkg_postinst() {
114    
115     updatepod
116     }
117    
118     perl-module_pkg_prerm() {
119    
120     updatepod
121     }
122    
123     perl-module_pkg_postrm() {
124    
125     updatepod
126     }
127    
128     perlinfo() {
129    
130     if [ -f /usr/bin/perl ]
131     then
132     eval `perl '-V:installarchlib'`
133     eval `perl '-V:installsitearch'`
134     ARCH_LIB=${installarchlib}
135     SITE_LIB=${installsitearch}
136    
137     eval `perl '-V:version'`
138     POD_DIR="/usr/share/perl/gentoo-pods/${version}"
139     fi
140    
141     }
142    
143     updatepod() {
144     perlinfo
145    
146     if [ -d "${POD_DIR}" ]
147     then
148     for FILE in `find ${POD_DIR} -type f -name "*.pod.arch"`; do
149     cat ${FILE} >> ${ARCH_LIB}/perllocal.pod
150     rm -f ${FILE}
151     done
152     for FILE in `find ${POD_DIR} -type f -name "*.pod.site"`; do
153     cat ${FILE} >> ${SITE_LIB}/perllocal.pod
154     rm -f ${FILE}
155     done
156    
157     #cat ${POD_DIR}/*.pod.arch >> ${ARCH_LIB}/perllocal.pod
158     #cat ${POD_DIR}/*.pod.site >> ${SITE_LIB}/perllocal.pod
159     #rm -f ${POD_DIR}/*.pod.site
160     #rm -f ${POD_DIR}/*.pod.site
161     fi
162 seemant 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20