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

Contents of /eclass/perl-module.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.36 - (show annotations) (download)
Fri May 30 12:47:28 2003 UTC (11 years, 8 months 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 # Copyright 1999-2003 Gentoo Technologies, Inc.
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /home/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.35 2003/05/30 08:13:44 seemant Exp $
4 #
5 # Author: Seemant Kulleen <seemant@gentoo.org>
6 #
7 # The perl-module eclass is designed to allow easier installation of perl
8 # modules, and their incorporation into the Gentoo Linux system.
9
10 ECLASS=perl-module
11 INHERITED="${INHERITED} ${ECLASS}"
12
13 EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst pkg_prerm pkg_postrm \
14 src_compile src_install src_test
15
16 eval `perl '-V:version'`
17 DEPEND="dev-lang/perl
18 ${DEPEND}"
19 SRC_PREP="no"
20
21 SITE_LIB=""
22 ARCH_LIB=""
23 POD_DIR=""
24
25 perl-module_src_prep() {
26
27 SRC_PREP="yes"
28 perl Makefile.PL ${myconf} \
29 PREFIX=${D}/usr
30 }
31
32 perl-module_src_compile() {
33
34 [ "${SRC_PREP}" != "yes" ] && perl-module_src_prep
35 make ${mymake} || die "compilation failed"
36 }
37
38 perl-module_src_test() {
39 make test
40 }
41
42 perl-module_src_install() {
43
44 perlinfo
45 dodir ${POD_DIR}
46
47 test -z ${mytargets} && mytargets="install"
48 eval `perl '-V:installsitearch'`
49 SITE_ARCH=${installsitearch}
50 eval `perl '-V:installarchlib'`
51 ARCH_LIB=${installarchlib}
52
53
54 make \
55 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 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 ${myinst} \
75 ${mytargets} || die
76
77
78 if [ -f ${D}${ARCH_LIB}/perllocal.pod ];
79 then
80 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 fi
87
88 if [ -f ${D}${SITE_LIB}/perllocal.pod ];
89 then
90 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 fi
97
98 dodoc Change* MANIFEST* README* ${mydoc}
99 }
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 }

  ViewVC Help
Powered by ViewVC 1.1.20