blob: adc7046e0e98cce34d96367f1ddeab76be5250f6 (
plain) (
blame)
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
|
#!/bin/bash
name=perl
version=5.30.1
_baseversion="${version%.*}"
revision=0
sources=(
"https://www.cpan.org/src/5.0/${name}-${version}.tar.gz"
)
build_depends=(
"bzip2"
"gdbm"
"zlib"
)
depends=(
"bzip2"
"readline"
"zlib"
)
lib_type=so
function prepare() {
tar xf ${name}-${version}.tar.gz
cd ${name}-${version}
if [[ $(uname -s) == Darwin ]]; then
lib_type=dylib
fi
}
function build() {
./Configure -des \
-Dusethreads \
-Duseshrplib \
-Dusesitecustomize \
$([[ $(uname -s) == Linux ]] && echo -Ui_ndbm) \
$([[ $(uname -s) == Linux ]] && echo -Di_gdbm) \
-Doptimize="${CFLAGS}" \
-Dprefix=${_prefix} \
-Dvendorprefix=${_prefix} \
-Dlibpth="/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64 ${_prefix}/lib" \
-Dprivlib=${_prefix}/share/perl5/core_perl \
-Darchlib=${_prefix}/lib/perl5/$_baseversion/core_perl \
-Dsitelib=${_prefix}/share/perl5/site_perl \
-Dsitearch=${_prefix}/lib/perl5/$_baseversion/site_perl \
-Dvendorlib=${_prefix}/share/perl5/vendor_perl \
-Dvendorarch=${_prefix}/lib/perl5/$_baseversion/vendor_perl \
-Dscriptdir=${_prefix}/bin \
-Dsitescript=${_prefix}/bin \
-Dvendorscript=${_prefix}/bin \
-Dinc_version_list=none \
-Dman1ext=1perl \
-Dman3ext=3perl ${arch_opts} \
-Dldflags="${LDFLAGS}"
#-Dccflags="${CFLAGS}" \
#-Dlddlflags="-shared ${LDFLAGS}" \
BUILD_BZIP2=0
BZIP2_LIB="${_runtime}/lib"
BZIP2_INCLUDE="${_runtime}/include"
export BUILD_BZIP2 BZIP2_LIB BZIP2_INCLUDE
BUILD_ZLIB=0
ZLIB_LIB="${_runtime}/lib"
ZLIB_INCLUDE="${_runtime}/include"
export BUILD_ZLIB ZLIB_LIB ZLIB_INCLUDE
make -j${_maxjobs}
}
function package() {
make install DESTDIR="${_pkgdir}"
# Fix permissions. On Darwin, several files are installed as read-only.
find "${_pkgdir}" -type f | xargs chmod u+w
cat << EOF > "${_pkgdir}${_prefix}/share/perl5/site_perl/sitecustomize.pl"
@INC = (
"${_prefix}/lib/perl5/${_baseversion}/site_perl",
"${_prefix}/share/perl5/site_perl",
"${_prefix}/lib/perl5/${_baseversion}/vendor_perl",
"${_prefix}/share/perl5/vendor_perl",
"${_prefix}/lib/perl5/${_baseversion}/core_perl",
"${_prefix}/share/perl5/core_perl",
".",
);
EOF
sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \
-i'.orig' "${_pkgdir}${_prefix}/lib/perl5/${_baseversion}/core_perl/Config_heavy.pl"
sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \
-e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \
-i'.orig' "${_pkgdir}${_prefix}/share/perl5/core_perl/CPAN/FirstTime.pm"
p5lib=$(find ${_pkgdir}${_prefix}/lib -type f -name "libperl.${lib_type}")
mv "${p5lib}" "${_pkgdir}${_prefix}/lib"
pushd "$(dirname ${p5lib})"
ln -s ../../../../libperl.${lib_type}
popd
rm -f "${_pkgdir}${_prefix}/bin/perl${version}"
find "${_pkgdir}" -name perllocal.pod -delete
find "${_pkgdir}" -name .packlist -delete
}
|