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

Contents of /eclass/perl-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.40 - (hide annotations) (download)
Mon Jun 2 07:54:15 2003 UTC (11 years, 3 months ago) by mcummings
Branch: MAIN
Changes since 1.39: +2 -2 lines
updated dependancy for makemaker to current version

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.40 # $Header: /home/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.39 2003/06/01 11:48:22 mcummings 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 seemant 1.37 src_compile src_install src_test \
15     perlinfo updatepod
16 seemant 1.1
17 mcummings 1.25 eval `perl '-V:version'`
18 seemant 1.34 DEPEND="dev-lang/perl
19 mcummings 1.40 >=dev-perl/ExtUtils-MakeMaker-6.05-r5
20 mcummings 1.32 ${DEPEND}"
21 azarah 1.11 SRC_PREP="no"
22    
23 seemant 1.35 SITE_LIB=""
24     ARCH_LIB=""
25     POD_DIR=""
26    
27 aliz 1.15 perl-module_src_prep() {
28 azarah 1.11
29     SRC_PREP="yes"
30 mcummings 1.21 perl Makefile.PL ${myconf} \
31 mcummings 1.38 PREFIX=${D}/usr
32 azarah 1.11 }
33    
34 aliz 1.15 perl-module_src_compile() {
35 seemant 1.6
36 aliz 1.15 [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep
37 seemant 1.7 make ${mymake} || die "compilation failed"
38 seemant 1.8 }
39    
40 aliz 1.15 perl-module_src_test() {
41 seemant 1.9 make test
42 seemant 1.1 }
43    
44 aliz 1.15 perl-module_src_install() {
45 seemant 1.12
46 seemant 1.35 perlinfo
47 seemant 1.1 dodir ${POD_DIR}
48    
49 seemant 1.9 test -z ${mytargets} && mytargets="install"
50 mcummings 1.31 eval `perl '-V:installsitearch'`
51     SITE_ARCH=${installsitearch}
52     eval `perl '-V:installarchlib'`
53     ARCH_LIB=${installarchlib}
54    
55 seemant 1.9
56 seemant 1.1 make \
57 seemant 1.27 PREFIX=${D}/usr \
58     INSTALLMAN1DIR=${D}/usr/share/man/man1 \
59     INSTALLMAN2DIR=${D}/usr/share/man/man2 \
60     INSTALLMAN3DIR=${D}/usr/share/man/man3 \
61     INSTALLMAN4DIR=${D}/usr/share/man/man4 \
62     INSTALLMAN5DIR=${D}/usr/share/man/man5 \
63     INSTALLMAN6DIR=${D}/usr/share/man/man6 \
64     INSTALLMAN7DIR=${D}/usr/share/man/man7 \
65     INSTALLMAN8DIR=${D}/usr/share/man/man8 \
66 mcummings 1.31 INSTALLSITEMAN1DIR=${D}/usr/share/man/man1 \
67     INSTALLSITEMAN2DIR=${D}/usr/share/man/man2 \
68     INSTALLSITEMAN3DIR=${D}/usr/share/man/man3 \
69     INSTALLSITEMAN4DIR=${D}/usr/share/man/man4 \
70     INSTALLSITEMAN5DIR=${D}/usr/share/man/man5 \
71     INSTALLSITEMAN6DIR=${D}/usr/share/man/man6 \
72     INSTALLSITEMAN7DIR=${D}/usr/share/man/man7 \
73     INSTALLSITEMAN8DIR=${D}/usr/share/man/man8 \
74     INSTALLSITEARCH=${D}/${SITE_ARCH} \
75     INSTALLSCRIPT=${D}/usr/bin \
76 seemant 1.27 ${myinst} \
77     ${mytargets} || die
78 mcummings 1.20
79    
80     if [ -f ${D}${ARCH_LIB}/perllocal.pod ];
81     then
82 seemant 1.27 touch ${D}/${POD_DIR}/${P}.pod
83     sed -e "s:${D}::g" \
84     ${D}${ARCH_LIB}/perllocal.pod >> ${D}/${POD_DIR}/${P}.pod
85     touch ${D}/${POD_DIR}/${P}.pod.arch
86     cat ${D}/${POD_DIR}/${P}.pod >>${D}/${POD_DIR}/${P}.pod.arch
87     rm -f ${D}/${ARCH_LIB}/perllocal.pod
88 mcummings 1.20 fi
89 seemant 1.1
90 mcummings 1.20 if [ -f ${D}${SITE_LIB}/perllocal.pod ];
91     then
92 seemant 1.27 touch ${D}/${POD_DIR}/${P}.pod
93     sed -e "s:${D}::g" \
94     ${D}${SITE_LIB}/perllocal.pod >> ${D}/${POD_DIR}/${P}.pod
95     touch ${D}/${POD_DIR}/${P}.pod.site
96     cat ${D}/${POD_DIR}/${P}.pod >>${D}/${POD_DIR}/${P}.pod.site
97     rm -f ${D}/${SITE_LIB}/perllocal.pod
98 mcummings 1.20 fi
99 mcummings 1.38
100     for FILE in `find ${D} -type f -name "*.html" -o -name ".packlist"`; do
101     sed -ie "s:${D}:/:g" ${FILE}
102     done
103 seemant 1.1
104 seemant 1.9 dodoc Change* MANIFEST* README* ${mydoc}
105 seemant 1.35 }
106    
107    
108     perl-module_pkg_setup() {
109    
110     perlinfo
111     }
112    
113    
114     perl-module_pkg_preinst() {
115    
116     perlinfo
117     }
118    
119     perl-module_pkg_postinst() {
120    
121     updatepod
122     }
123    
124     perl-module_pkg_prerm() {
125    
126     updatepod
127     }
128    
129     perl-module_pkg_postrm() {
130    
131     updatepod
132     }
133    
134     perlinfo() {
135    
136     if [ -f /usr/bin/perl ]
137     then
138     eval `perl '-V:installarchlib'`
139     eval `perl '-V:installsitearch'`
140     ARCH_LIB=${installarchlib}
141     SITE_LIB=${installsitearch}
142    
143     eval `perl '-V:version'`
144     POD_DIR="/usr/share/perl/gentoo-pods/${version}"
145     fi
146    
147     }
148    
149     updatepod() {
150     perlinfo
151    
152     if [ -d "${POD_DIR}" ]
153     then
154     for FILE in `find ${POD_DIR} -type f -name "*.pod.arch"`; do
155     cat ${FILE} >> ${ARCH_LIB}/perllocal.pod
156     rm -f ${FILE}
157     done
158     for FILE in `find ${POD_DIR} -type f -name "*.pod.site"`; do
159     cat ${FILE} >> ${SITE_LIB}/perllocal.pod
160     rm -f ${FILE}
161     done
162    
163     #cat ${POD_DIR}/*.pod.arch >> ${ARCH_LIB}/perllocal.pod
164     #cat ${POD_DIR}/*.pod.site >> ${SITE_LIB}/perllocal.pod
165     #rm -f ${POD_DIR}/*.pod.site
166     #rm -f ${POD_DIR}/*.pod.site
167     fi
168 seemant 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20