Magellan Linux

Contents of /trunk/include/perl.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31041 - (show annotations) (download)
Tue May 29 11:59:34 2018 UTC (5 years, 11 months ago) by niro
File size: 4108 byte(s)
-perl-5.26.2
1 # $Id$
2
3 # inherits {pre,post}install() and {pre,post}remove() to mage file
4 INHERITS="${INHERITS} perl"
5
6 SDEPEND="${SDEPEND}
7 >= dev-lang/perl-5.26.2"
8
9 # taken from gentoo eclass perm-module.eclass
10 perlinfo()
11 {
12 if [ -f /usr/bin/perl ]
13 then
14 POD_DIR="/usr/share/perl/magellan-pods/${version}"
15 fi
16
17 eval $(perl '-V:version')
18 PERL_VERSION=${version}
19
20 eval $(perl '-V:installsitearch')
21 SITE_ARCH=${installsitearch}
22
23 eval $(perl '-V:installarchlib')
24 ARCH_LIB=${installarchlib}
25
26 eval $(perl '-V:installsitearch')
27 SITE_LIB=${installsitearch}
28
29 local installvendorlib
30 eval $(perl '-V:installvendorlib')
31 VENDOR_LIB=${installvendorlib}
32
33 local installvendorarch
34 eval $(perl '-V:installvendorarch')
35 VENDOR_ARCH=${installvendorarch}
36
37 # handling of DESTDIR changed in makemaker 6.11
38 MMSIXELEVEN=$(perl -e 'use ExtUtils::MakeMaker; print( $ExtUtils::MakeMaker::VERSION ge "6.11" )')
39 }
40
41 # taken from gentoo eclass perl-module.eclass
42 updatepod()
43 {
44 local i
45
46 perlinfo
47
48 if [ -d "${POD_DIR}" ]
49 then
50 for i in $(find ${POD_DIR} -type f -name "*.pod.arch")
51 do
52 cat ${i} >> ${ARCH_LIB}/perllocal.pod
53 rm -f ${i}
54 done
55 for i in $(find ${POD_DIR} -type f -name "*.pod.site")
56 do
57 cat ${i} >> ${SITE_LIB}/perllocal.pod
58 rm -f ${i}
59 done
60 for i in $(find ${POD_DIR} -type f -name "*.pod.vendor")
61 do
62 cat ${i} >> ${VENDOR_LIB}/perllocal.pod
63 rm -f ${i}
64 done
65 fi
66 }
67
68 fixlocalpod()
69 {
70 perlinfo
71
72 if [ -f ${BINDIR}${ARCH_LIB}/perllocal.pod ]
73 then
74 rm -f ${BINDIR}/${ARCH_LIB}/perllocal.pod
75 fi
76
77 if [ -f ${BINDIR}${SITE_LIB}/perllocal.pod ]
78 then
79 rm -f ${BINDIR}/${SITE_LIB}/perllocal.pod
80 fi
81
82 if [ -f ${BINDIR}${VENDOR_LIB}/perllocal.pod ]
83 then
84 rm -f ${BINDIR}/${VENDOR_LIB}/perllocal.pod
85 fi
86 }
87
88 perl_src_prepare()
89 {
90 munpack ${SRCFILE} || die
91 }
92
93 perl_src_check()
94 {
95 return 0
96 }
97
98 perl_run_src_compile()
99 {
100 perlinfo
101
102 export PERL_MM_USE_DEFAULT=1
103 export PERL_EXTUTILS_AUTOINSTALL="--skipdeps"
104
105 local configure_opts="$@"
106
107 if [[ -f Build.PL ]]
108 then
109 perl Build.PL \
110 --installdirs=vendor \
111 --destdir=${BINDIR} \
112 --libdoc= \
113 || die
114 perl Build build || die
115
116 elif [[ -f Makefile.PL ]]
117 then
118 perl Makefile.PL \
119 ${configure_opts} \
120 PREFIX=/usr \
121 INSTALLMAN3DIR='none' \
122 INSTALLDIRS=vendor \
123 DESTDIR=${BINDIR} \
124 || die
125 make || die
126 else
127 die "No buildscript detected!"
128 fi
129
130 fixlocalpod
131 }
132
133 perl_src_compile()
134 {
135 cd ${SRCDIR}
136 perl_run_src_compile $@ || die
137 }
138
139 perl_multilib_src_compile()
140 {
141 local abi
142 for abi in ${MULTILIB_ABIS}
143 do
144 cd ${SRCDIR}-${abi}/${SRCSUBDIR}
145 abi-${abi} perl_run_src_compile $@ || die
146 done
147 }
148
149 perl_run_src_install()
150 {
151 local i
152 local stat
153
154 perlinfo
155
156 if [[ -f Makefile ]]
157 then
158 make install || die
159 elif [[ -f Build ]]
160 then
161 perl ${SRCDIR}/Build install || die
162 else
163 die "No installscript detected!"
164 fi
165
166 # clean manfiles
167 for i in $(find ${BINDIR} -type f -name "*.3pm*")
168 do
169 rm ${i} || die
170 done
171 find ${BINDIR}/usr/share/man -depth -type d 2>/dev/null | xargs -r rmdir 2>/dev/null
172
173 # remove local podfiles
174 fixlocalpod
175
176 # remove BINDIR from text so files
177 for i in $(find ${BINDIR} -type f | grep -v '.so')
178 do
179 stat=$(file ${i} | grep -i " text")
180 if [[ ${stat}x != x ]]
181 then
182 sed -i "s:${BINDIR}:/:g" ${i} || die
183 fi
184 done
185 }
186
187 perl_src_install()
188 {
189 cd ${SRCDIR}
190 perl_run_src_install || die
191
192 local i
193 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
194 FAQ LICENSE NEWS README TODO
195 do
196 if [ -f ${SRCDIR}/${i} ]
197 then
198 minstalldocs ${i} || die
199 fi
200 done
201 }
202
203 perl_multilib_src_install()
204 {
205 local abi
206 local saved_SRCDIR="${SRCDIR}"
207
208 for abi in ${MULTILIB_ABIS}
209 do
210 SRCDIR="${saved_SRCDIR}-${abi}/${SRCSUBDIR}"
211 cd ${SRCDIR}
212 abi-${abi} perl_run_src_install $@ || die
213
214 local i
215 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
216 FAQ LICENSE NEWS README TODO
217 do
218 if [ -f ${SRCDIR}/${i} ]
219 then
220 oldminstalldocs ${i} || die
221 fi
222 done
223 done
224 SRCDIR="${saved_SRCDIR}"
225 }
226
227 export_inherits perl src_prepare src_check
228 if [[ ${MULTILIB_BUILD} = true ]]
229 then
230 export_inherits perl_multilib src_compile src_install
231 else
232 export_inherits perl src_compile src_install
233 fi