Lines 37-43
Link Here
|
37 |
app-arch/bzip2 |
37 |
app-arch/bzip2 |
38 |
sys-libs/zlib" |
38 |
sys-libs/zlib" |
39 |
DEPEND="${COMMON_DEPEND} |
39 |
DEPEND="${COMMON_DEPEND} |
40 |
elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs )" |
40 |
!prefix? ( elibc_FreeBSD? ( sys-freebsd/freebsd-mk-defs ) )" |
41 |
RDEPEND="${COMMON_DEPEND}" |
41 |
RDEPEND="${COMMON_DEPEND}" |
42 |
PDEPEND=">=app-admin/perl-cleaner-2.5" |
42 |
PDEPEND=">=app-admin/perl-cleaner-2.5" |
43 |
|
43 |
|
Lines 64-69
Link Here
|
64 |
*-netbsd*) osname="netbsd" ;; |
64 |
*-netbsd*) osname="netbsd" ;; |
65 |
*-openbsd*) osname="openbsd" ;; |
65 |
*-openbsd*) osname="openbsd" ;; |
66 |
*-darwin*) osname="darwin" ;; |
66 |
*-darwin*) osname="darwin" ;; |
|
|
67 |
*-interix*) osname="interix" ;; |
67 |
*) osname="linux" ;; |
68 |
*) osname="linux" ;; |
68 |
esac |
69 |
esac |
69 |
|
70 |
|
Lines 137-144
Link Here
|
137 |
|
138 |
|
138 |
# pod/perltoc.pod fails |
139 |
# pod/perltoc.pod fails |
139 |
# lib/ExtUtils/t/Embed.t fails |
140 |
# lib/ExtUtils/t/Embed.t fails |
140 |
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) |
141 |
if ! tc-is-static-only ; then |
141 |
ln -s ${LIBPERL} libperl$(get_libname ) |
142 |
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) |
|
|
143 |
ln -s ${LIBPERL} libperl$(get_libname ) |
144 |
fi |
145 |
|
146 |
epatch "${FILESDIR}"/${PN}-5.12.3-aix-soname.patch |
147 |
epatch "${FILESDIR}"/${PN}-5.8.8-solaris-relocation.patch |
148 |
epatch "${FILESDIR}"/${PN}-5.8.8-solaris11.patch |
149 |
epatch "${FILESDIR}"/${PN}-5.10.1-cleanup-paths.patch |
150 |
epatch "${FILESDIR}"/${PN}-5.8.8-usr-local.patch |
151 |
epatch "${FILESDIR}"/${PN}-5.10.1-hpux.patch |
152 |
epatch "${FILESDIR}"/${PN}-5.8.8-darwin-cc-ld.patch |
153 |
epatch "${FILESDIR}"/${PN}-5.12.3-mint.patch |
154 |
epatch "${FILESDIR}"/${PN}-5.12.3-interix.patch |
155 |
|
156 |
# Fix build on OSX Lion (10.7) |
157 |
sed -i -e '/^usenm=/s/true/false/' hints/darwin.sh |
158 |
|
159 |
# rest of usr-local patch |
160 |
sed -i \ |
161 |
-e '/^locincpth=/c\locincpth=""' \ |
162 |
-e '/^loclibpth=/c\loclibpth=""' \ |
163 |
-e '/^glibpth=.*\/local\//s: /usr/local/lib.*":":' \ |
164 |
Configure || die |
142 |
} |
165 |
} |
143 |
|
166 |
|
144 |
myconf() { |
167 |
myconf() { |
Lines 171-182
Link Here
|
171 |
|
194 |
|
172 |
# 266337 |
195 |
# 266337 |
173 |
export BUILD_BZIP2=0 |
196 |
export BUILD_BZIP2=0 |
174 |
export BZIP2_INCLUDE=/usr/include |
197 |
export BZIP2_INCLUDE=${EPREFIX}/usr/include |
175 |
export BZIP2_LIB=/usr/$(get_libdir) |
198 |
export BZIP2_LIB=${EPREFIX}/usr/$(get_libdir) |
176 |
cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" |
199 |
cat <<-EOF > "${S}/cpan/Compress-Raw-Zlib/config.in" |
177 |
BUILD_ZLIB = False |
200 |
BUILD_ZLIB = False |
178 |
INCLUDE = /usr/include |
201 |
INCLUDE = ${EPREFIX}/usr/include |
179 |
LIB = /usr/$(get_libdir) |
202 |
LIB = ${EPREFIX}/usr/$(get_libdir) |
180 |
|
203 |
|
181 |
OLD_ZLIB = False |
204 |
OLD_ZLIB = False |
182 |
GZIP_OS_CODE = AUTO_DETECT |
205 |
GZIP_OS_CODE = AUTO_DETECT |
Lines 222-232
Link Here
|
222 |
|
245 |
|
223 |
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" |
246 |
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" |
224 |
|
247 |
|
225 |
if [[ $(get_libdir) != "lib" ]] ; then |
248 |
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in |
|
|
249 |
# Prefix itself we don't do multilib either, so make sure perl can find |
250 |
# something compatible. |
251 |
if use prefix ; then |
252 |
local ldir |
253 |
local llib |
254 |
local paths="" |
255 |
echo "int main() {}" > "${T}"/t.c |
256 |
# need to ensure dirs contain compatible libs, bug #358875 |
257 |
for ldir in /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do |
258 |
[[ -d ${ldir} ]] || continue |
259 |
# look for libc, which should be somewhere |
260 |
llib=${ldir}/libc$(get_libname) |
261 |
[[ -e ${llib} ]] || continue |
262 |
if $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib} >& /dev/null ; then |
263 |
ldir=${ldir#/usr} |
264 |
paths="${ldir} /usr${ldir}" |
265 |
break |
266 |
fi |
267 |
done |
268 |
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths:-/lib /usr/lib}" |
269 |
elif [[ $(get_libdir) != "lib" ]] ; then |
226 |
# We need to use " and not ', as the written config.sh use ' ... |
270 |
# We need to use " and not ', as the written config.sh use ' ... |
227 |
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" |
271 |
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" |
228 |
fi |
272 |
fi |
229 |
|
273 |
|
|
|
274 |
# don't try building ODBM, bug #354453 |
275 |
myconf -Dnoextensions=ODBM_File |
276 |
|
230 |
sh Configure \ |
277 |
sh Configure \ |
231 |
-des \ |
278 |
-des \ |
232 |
-Duseshrplib \ |
279 |
-Duseshrplib \ |
Lines 234-264
Link Here
|
234 |
-Dcc="$(tc-getCC)" \ |
281 |
-Dcc="$(tc-getCC)" \ |
235 |
-Doptimize="${CFLAGS}" \ |
282 |
-Doptimize="${CFLAGS}" \ |
236 |
-Dldflags="${LDFLAGS}" \ |
283 |
-Dldflags="${LDFLAGS}" \ |
237 |
-Dprefix='/usr' \ |
284 |
-Dprefix="${EPREFIX}"'/usr' \ |
238 |
-Dsiteprefix='/usr' \ |
285 |
-Dinstallprefix="${EPREFIX}"'/usr' \ |
239 |
-Dvendorprefix='/usr' \ |
286 |
-Dsiteprefix="${EPREFIX}"'/usr' \ |
240 |
-Dscriptdir='/usr/bin' \ |
287 |
-Dvendorprefix="${EPREFIX}"'/usr' \ |
241 |
-Dprivlib="${PRIV_LIB}" \ |
288 |
-Dscriptdir="${EPREFIX}"'/usr/bin' \ |
242 |
-Darchlib="${ARCH_LIB}" \ |
289 |
-Dprivlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}" \ |
243 |
-Dsitelib="${SITE_LIB}" \ |
290 |
-Darchlib="${EPREFIX}/usr/$(get_libdir)/perl5/${MY_PV}/${myarch}${mythreading}" \ |
244 |
-Dsitearch="${SITE_ARCH}" \ |
291 |
-Dsitelib="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}" \ |
245 |
-Dvendorlib="${VENDOR_LIB}" \ |
292 |
-Dsitearch="${EPREFIX}/usr/$(get_libdir)/perl5/site_perl/${MY_PV}/${myarch}${mythreading}" \ |
246 |
-Dvendorarch="${VENDOR_ARCH}" \ |
293 |
-Dvendorlib="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}" \ |
247 |
-Dman1dir=/usr/share/man/man1 \ |
294 |
-Dvendorarch="${EPREFIX}/usr/$(get_libdir)/perl5/vendor_perl/${MY_PV}/${myarch}${mythreading}" \ |
248 |
-Dman3dir=/usr/share/man/man3 \ |
295 |
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \ |
249 |
-Dsiteman1dir=/usr/share/man/man1 \ |
296 |
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \ |
250 |
-Dsiteman3dir=/usr/share/man/man3 \ |
297 |
-Dsiteman1dir="${EPREFIX}"/usr/share/man/man1 \ |
251 |
-Dvendorman1dir=/usr/share/man/man1 \ |
298 |
-Dsiteman3dir="${EPREFIX}"/usr/share/man/man3 \ |
252 |
-Dvendorman3dir=/usr/share/man/man3 \ |
299 |
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ |
|
|
300 |
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ |
253 |
-Dman1ext='1' \ |
301 |
-Dman1ext='1' \ |
254 |
-Dman3ext='3pm' \ |
302 |
-Dman3ext='3pm' \ |
255 |
-Dlibperl="${LIBPERL}" \ |
303 |
-Dlibperl="${LIBPERL}" \ |
256 |
-Dlocincpth=' ' \ |
304 |
-Dlocincpth="${EPREFIX}"'/usr/include ' \ |
|
|
305 |
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ |
257 |
-Duselargefiles \ |
306 |
-Duselargefiles \ |
258 |
-Dd_semctl_semun \ |
307 |
-Dd_semctl_semun \ |
259 |
-Dcf_by='Gentoo' \ |
308 |
-Dcf_by='Gentoo' \ |
260 |
-Dmyhostname='localhost' \ |
309 |
-Dmyhostname='localhost' \ |
261 |
-Dperladmin='root@localhost' \ |
310 |
-Dperladmin="${PORTAGE_ROOT_USER:-root}@localhost" \ |
262 |
-Dinstallusrbinperl='n' \ |
311 |
-Dinstallusrbinperl='n' \ |
263 |
-Ud_csh \ |
312 |
-Ud_csh \ |
264 |
-Uusenm \ |
313 |
-Uusenm \ |
Lines 294-311
Link Here
|
294 |
fi |
343 |
fi |
295 |
make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" |
344 |
make DESTDIR="${D}" ${installtarget} || die "Unable to make ${installtarget}" |
296 |
|
345 |
|
297 |
rm -f "${D}"/usr/bin/perl |
346 |
rm -f "${ED}"/usr/bin/perl |
298 |
ln -s perl${MY_PV} "${D}"/usr/bin/perl |
347 |
ln -s perl${MY_PV} "${ED}"/usr/bin/perl |
299 |
|
348 |
|
300 |
dolib.so "${D}"/${coredir}/${LIBPERL} || die |
349 |
if ! tc-is-static-only ; then |
301 |
dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die |
350 |
dolib.so "${ED}"/${coredir}/${LIBPERL} || die |
302 |
dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die |
351 |
dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die |
303 |
rm -f "${D}"/${coredir}/${LIBPERL} |
352 |
dosym ${LIBPERL} /usr/$(get_libdir)/libperl$(get_libname) || die |
304 |
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} |
353 |
rm -f "${ED}"/${coredir}/${LIBPERL} |
305 |
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) |
354 |
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/${LIBPERL} |
306 |
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) |
355 |
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname ${SHORT_PV}) |
|
|
356 |
dosym ../../../../../$(get_libdir)/${LIBPERL} ${coredir}/libperl$(get_libname) |
357 |
fi |
307 |
|
358 |
|
308 |
rm -rf "${D}"/usr/share/man/man3 || die "Unable to remove module man pages" |
359 |
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" |
309 |
|
360 |
|
310 |
# # A poor fix for the miniperl issues |
361 |
# # A poor fix for the miniperl issues |
311 |
# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp |
362 |
# dosed 's:./miniperl:/usr/bin/perl:' /usr/$(get_libdir)/perl5/${MY_PV}/ExtUtils/xsubpp |
Lines 319-329
Link Here
|
319 |
sed -i -e "s:${D}::" "${i}" || die "Sed failed" |
370 |
sed -i -e "s:${D}::" "${i}" || die "Sed failed" |
320 |
done |
371 |
done |
321 |
|
372 |
|
322 |
find "${D}" -type f -name .packlist -delete || die |
373 |
find "${ED}" -type f -name .packlist -delete || die |
323 |
|
374 |
|
324 |
# Note: find out from psm why we would need/want this. |
375 |
# Note: find out from psm why we would need/want this. |
325 |
# ( use berkdb && has_version '=sys-libs/db-1*' ) || |
376 |
# ( use berkdb && has_version '=sys-libs/db-1*' ) || |
326 |
# find "${D}" -name "*NDBM*" | xargs rm -f |
377 |
# find "${ED}" -name "*NDBM*" | xargs rm -f |
327 |
|
378 |
|
328 |
dodoc Changes* README AUTHORS || die |
379 |
dodoc Changes* README AUTHORS || die |
329 |
|
380 |
|
Lines 336-342
Link Here
|
336 |
--podroot='.' \ |
387 |
--podroot='.' \ |
337 |
--podpath='lib:ext:pod:vms' \ |
388 |
--podpath='lib:ext:pod:vms' \ |
338 |
--recurse \ |
389 |
--recurse \ |
339 |
--htmldir="${D}/usr/share/doc/${PF}/html" \ |
390 |
--htmldir="${ED}/usr/share/doc/${PF}/html" \ |
340 |
--libpods='perlfunc:perlguts:perlvar:perlrun:perlop' |
391 |
--libpods='perlfunc:perlguts:perlvar:perlrun:perlop' |
341 |
fi |
392 |
fi |
342 |
|
393 |
|
Lines 374-381
Link Here
|
374 |
fi |
425 |
fi |
375 |
|
426 |
|
376 |
einfo "Converting C header files to the corresponding Perl format (ignore any error)" |
427 |
einfo "Converting C header files to the corresponding Perl format (ignore any error)" |
|
|
428 |
# unprefixed as this is all kernel/libc stuff that we never provide |
377 |
pushd /usr/include >/dev/null |
429 |
pushd /usr/include >/dev/null |
378 |
h2ph -Q -a -d ${ARCH_LIB} \ |
430 |
h2ph -Q -a -d "${EPREFIX}${ARCH_LIB}" \ |
379 |
asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ |
431 |
asm/termios.h syscall.h syslimits.h syslog.h sys/ioctl.h \ |
380 |
sys/socket.h sys/time.h wait.h sysexits.h |
432 |
sys/socket.h sys/time.h wait.h sysexits.h |
381 |
popd >/dev/null |
433 |
popd >/dev/null |
Lines 430-456
Link Here
|
430 |
for i in "$@" ; do |
482 |
for i in "$@" ; do |
431 |
alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" |
483 |
alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*" |
432 |
if [[ ${i} != cpanp-run-perl ]] ; then |
484 |
if [[ ${i} != cpanp-run-perl ]] ; then |
433 |
ff=`echo ${ROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` |
485 |
ff=`echo ${EROOT}/usr/share/man/man1/${i}-${ver}-${P}.1*` |
434 |
ff=${ff##*.1} |
486 |
ff=${ff##*.1} |
435 |
alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" |
487 |
alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*" |
436 |
fi |
488 |
fi |
437 |
done |
489 |
done |
438 |
elif has "${EBUILD_PHASE:-none}" "setup" ; then |
490 |
elif has "${EBUILD_PHASE:-none}" "setup" ; then |
439 |
for i in "$@" ; do |
491 |
for i in "$@" ; do |
440 |
if [[ -f ${ROOT}/usr/bin/${i} && ! -h ${ROOT}/usr/bin/${i} ]] ; then |
492 |
if [[ -f ${EROOT}/usr/bin/${i} && ! -h ${EROOT}/usr/bin/${i} ]] ; then |
441 |
has_version ${pkg} && ewarn "You must reinstall $pkg !" |
493 |
has_version ${pkg} && ewarn "You must reinstall $pkg !" |
442 |
break |
494 |
break |
443 |
fi |
495 |
fi |
444 |
done |
496 |
done |
445 |
else |
497 |
else |
446 |
for i in "$@" ; do |
498 |
for i in "$@" ; do |
447 |
if ! [[ -f "${D}"/usr/bin/${i} ]] ; then |
499 |
if ! [[ -f "${ED}"/usr/bin/${i} ]] ; then |
448 |
use build || ewarn "/usr/bin/${i} does not exist!" |
500 |
use build || ewarn "/usr/bin/${i} does not exist!" |
449 |
continue |
501 |
continue |
450 |
fi |
502 |
fi |
451 |
mv "${D}"/usr/bin/${i}{,-${ver}-${P}} || die |
503 |
mv "${ED}"/usr/bin/${i}{,-${ver}-${P}} || die |
452 |
if [[ -f ${D}/usr/share/man/man1/${i}.1 ]] ; then |
504 |
if [[ -f ${ED}/usr/share/man/man1/${i}.1 ]] ; then |
453 |
mv "${D}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die |
505 |
mv "${ED}"/usr/share/man/man1/${i}{.1,-${ver}-${P}.1} || die |
454 |
else |
506 |
else |
455 |
echo "/usr/share/man/man1/${i}.1 does not exist!" |
507 |
echo "/usr/share/man/man1/${i}.1 does not exist!" |
456 |
fi |
508 |
fi |
Lines 621-627
Link Here
|
621 |
.${ARCH_LIB}/threads.pm |
673 |
.${ARCH_LIB}/threads.pm |
622 |
" |
674 |
" |
623 |
|
675 |
|
624 |
pushd "${D}" > /dev/null |
676 |
pushd "${ED}" > /dev/null |
625 |
# Remove cruft |
677 |
# Remove cruft |
626 |
einfo "Removing files that are not in the minimal install" |
678 |
einfo "Removing files that are not in the minimal install" |
627 |
echo "${MINIMAL_PERL_INSTALL}" |
679 |
echo "${MINIMAL_PERL_INSTALL}" |