blob: 11cd29ae5ecd2aab16f453873b2e7bf822a0a985 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/perl-helper.eclass,v 1.1 2010/04/17 19:56:27 tove Exp $
[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
perlinfo() {
debug-print-function $FUNCNAME "$@"
perl_set_version
}
perl_set_version() {
debug-print-function $FUNCNAME "$@"
debug-print "$FUNCNAME: perlinfo_done=${perlinfo_done}"
${perlinfo_done} && return 0
perlinfo_done=true
local f version install{{site,vendor}{arch,lib},archlib}
eval "$(perl -V:{version,install{{site,vendor}{arch,lib},archlib}} )"
PERL_VERSION=${version}
SITE_ARCH=${installsitearch}
SITE_LIB=${installsitelib}
ARCH_LIB=${installarchlib}
VENDOR_LIB=${installvendorlib}
VENDOR_ARCH=${installvendorarch}
}
fixlocalpod() {
debug-print-function $FUNCNAME "$@"
perl_delete_localpod
}
perl_delete_localpod() {
debug-print-function $FUNCNAME "$@"
find "${D}" -type f -name perllocal.pod -delete
find "${D}" -depth -mindepth 1 -type d -empty -delete
}
perl_fix_osx_extra() {
debug-print-function $FUNCNAME "$@"
local f
find "${S}" -type f -name "._*" -print0 | while read -rd '' f ; do
einfo "Removing AppleDouble encoded Macintosh file: ${f#${S}/}"
rm -f "${f}"
f=${f#${S}/}
# f=${f//\//\/}
# f=${f//\./\.}
# sed -i "/${f}/d" "${S}"/MANIFEST || die
grep -q "${f}" "${S}"/MANIFEST && \
elog "AppleDouble encoded Macintosh file in MANIFEST: ${f}"
done
}
perl_delete_module_manpages() {
debug-print-function $FUNCNAME "$@"
perl_set_eprefix
if [[ -d "${ED}"/usr/share/man ]] ; then
# einfo "Cleaning out stray man files"
find "${ED}"/usr/share/man -type f -name "*.3pm" -delete
find "${ED}"/usr/share/man -depth -type d -empty -delete
fi
}
perl_delete_packlist() {
debug-print-function $FUNCNAME "$@"
perl_set_version
if [[ -d ${D}/${VENDOR_LIB} ]] ; then
find "${D}/${VENDOR_LIB}" -type f -a \( -name .packlist \
-o \( -name '*.bs' -a -empty \) \) -delete
find "${D}/${VENDOR_LIB}" -depth -mindepth 1 -type d -empty -delete
fi
}
perl_remove_temppath() {
debug-print-function $FUNCNAME "$@"
find "${D}" -type f -not -name '*.so' -print0 | while read -rd '' f ; do
if file "${f}" | grep -q -i " text" ; then
grep -q "${D}" "${f}" && ewarn "QA: File contains a temporary path ${f}"
sed -i -e "s:${D}:/:g" "${f}"
fi
done
}
perl_link_duallife_scripts() {
debug-print-function $FUNCNAME "$@"
if [[ ${CATEGORY} != perl-core ]] || ! has_version ">=dev-lang/perl-5.8.8-r8" ; then
return 0
fi
perl_set_eprefix
local i ff
if has "${EBUILD_PHASE:-none}" "postinst" "postrm" ; then
for i in "${DUALLIFESCRIPTS[@]}" ; do
alternatives_auto_makesym "/usr/bin/${i}" "/usr/bin/${i}-[0-9]*"
ff=`echo "${EROOT}"/usr/share/man/man1/${i}-${PV}-${P}.1*`
ff=${ff##*.1}
alternatives_auto_makesym "/usr/share/man/man1/${i}.1${ff}" "/usr/share/man/man1/${i}-[0-9]*"
done
else
pushd "${ED}" > /dev/null
for i in $(find usr/bin -maxdepth 1 -type f 2>/dev/null) ; do
mv ${i}{,-${PV}-${P}} || die
DUALLIFESCRIPTS[${#DUALLIFESCRIPTS[*]}]=${i##*/}
if [[ -f usr/share/man/man1/${i##*/}.1 ]] ; then
mv usr/share/man/man1/${i##*/}{.1,-${PV}-${P}.1} || die
fi
done
popd > /dev/null
fi
}
perl_set_eprefix() {
debug-print-function $FUNCNAME "$@"
case ${EAPI:-0} in
0|1|2)
if ! use prefix; then
EPREFIX=
ED=${D}
EROOT=${ROOT}
fi
;;
esac
}
|