mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 05:47:16 +08:00
121 lines
4.1 KiB
Bash
121 lines
4.1 KiB
Bash
#
|
|
# Chakra Packages for Chakra, part of chakra-project.org
|
|
#
|
|
# maintainer: Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
|
|
|
|
pkgname=perl
|
|
pkgver=5.14.2
|
|
pkgrel=1
|
|
pkgdesc="A highly capable, feature-rich programming language"
|
|
arch=(i686 x86_64)
|
|
license=('GPL' 'PerlArtistic')
|
|
url="http://www.perl.org"
|
|
groups=('base')
|
|
depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh')
|
|
source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
|
|
perlbin.sh
|
|
perlbin.csh
|
|
provides.pl
|
|
digest_eval_hole.diff
|
|
0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch)
|
|
install=perl.install
|
|
options=('!makeflags' '!purge')
|
|
md5sums=('04a4c5d3c1f9f19d77daff8e8cd19a26'
|
|
'd42c73468e596309f85908ee94a633e5'
|
|
'1f0cbbee783e8a6d32f01be5118e0d5e'
|
|
'31fc0b5bb4935414394c5cfbec2cb8e5'
|
|
'79cc7d76a208a6b935a08269434bfd04'
|
|
'a77c19a159b04f18f06c5a0ff9791b23')
|
|
|
|
build() {
|
|
cd ${srcdir}/${pkgname}-${pkgver}
|
|
|
|
if [ "${CARCH}" = "x86_64" ]; then
|
|
# for x86_64
|
|
arch_opts="-Dcccdlflags='-fPIC'"
|
|
else
|
|
# for i686
|
|
arch_opts=""
|
|
fi
|
|
|
|
patch -Np1 -i $srcdir/digest_eval_hole.diff
|
|
|
|
./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \
|
|
-Dprefix=/usr -Dinstallprefix=${pkgdir}/usr -Dvendorprefix=/usr \
|
|
-Dprivlib=/usr/share/perl5/core_perl \
|
|
-Darchlib=/usr/lib/perl5/core_perl \
|
|
-Dsitelib=/usr/share/perl5/site_perl \
|
|
-Dsitearch=/usr/lib/perl5/site_perl \
|
|
-Dvendorlib=/usr/share/perl5/vendor_perl \
|
|
-Dvendorarch=/usr/lib/perl5/vendor_perl \
|
|
-Dscriptdir=/usr/bin/core_perl \
|
|
-Dsitescript=/usr/bin/site_perl \
|
|
-Dvendorscript=/usr/bin/vendor_perl \
|
|
-Dinc_version_list=none \
|
|
-Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \
|
|
-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}"
|
|
patch -Np1 -i $srcdir/0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch
|
|
make
|
|
|
|
# check
|
|
}
|
|
|
|
check() {
|
|
cd ${srcdir}/${pkgname}-${pkgver}
|
|
TEST_JOBS=$(echo $MAKEFLAGS | sed 's/.*-j\([0-9][0-9]*\).*/\1/') make test_harness
|
|
# make test
|
|
}
|
|
|
|
package() {
|
|
# hack to work around makepkg running the subshell in check()
|
|
new_provides=($(cd "$srcdir/perl-$pkgver"; LD_PRELOAD=./libperl.so ./perl -Ilib "$srcdir/provides.pl" .))
|
|
provides=(${new_provides[@]})
|
|
|
|
cd ${srcdir}/${pkgname}-${pkgver}
|
|
make install
|
|
|
|
### Perl Settings ###
|
|
# Change man page extensions for site and vendor module builds.
|
|
sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \
|
|
-e "/^cf_email=/ s/'.*'/'info@chakra-project.org'/" \
|
|
-e "/^perladmin=/ s/'.*'/'info@chakra-project.org'/" \
|
|
-i ${pkgdir}/usr/lib/perl5/core_perl/Config_heavy.pl
|
|
|
|
### CPAN Settings ###
|
|
# Set CPAN default config to use the site directories.
|
|
sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \
|
|
-e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \
|
|
-i ${pkgdir}/usr/share/perl5/core_perl/CPAN/FirstTime.pm
|
|
|
|
### CPANPLUS Settings ###
|
|
# Set CPANPLUS default config to use the site directories.
|
|
sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \
|
|
-e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
|
|
-i ${pkgdir}/usr/share/perl5/core_perl/CPANPLUS/Config.pm
|
|
|
|
# Profile script to set paths to perl scripts.
|
|
install -D -m755 ${srcdir}/perlbin.sh \
|
|
${pkgdir}/etc/profile.d/perlbin.sh
|
|
# Profile script to set paths to perl scripts on csh. (FS#22441)
|
|
install -D -m755 ${srcdir}/perlbin.csh \
|
|
${pkgdir}/etc/profile.d/perlbin.csh
|
|
|
|
(cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
|
|
(cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed)
|
|
grep -Rl "${pkgdir}" ${pkgdir}/usr | \
|
|
xargs sed -i "s^${pkgdir}^^g"
|
|
|
|
# Remove all pod files *except* those under /usr/share/perl5/core_perl/pod/
|
|
rm -f $pkgdir/usr/share/perl5/core_perl/*.pod
|
|
for d in $pkgdir/usr/share/perl5/core_perl/*; do
|
|
if [ -d $d -a $(basename $d) != "pod" ]; then
|
|
find $d -name *.pod -delete
|
|
fi
|
|
done
|
|
|
|
find $pkgdir/usr/lib -name *.pod -delete
|
|
find $pkgdir -name .packlist -delete
|
|
install -dv ${pkgdir}/etc/ld.so.conf.d
|
|
echo "/usr/lib/perl5/core_perl/CORE" > ${pkgdir}/etc/ld.so.conf.d/perl.conf
|
|
}
|