# $Id: PKGBUILD 160587 2012-06-02 10:54:59Z bluewind $ # Maintainer: Angel Velasquez <angvp@archlinux.org> # Contributor: kevin <kevin.archlinux.org> # Contributor: judd <jvinet.zeroflux.org> # Contributor: francois <francois.archlinux.org> pkgname=perl pkgver=5.16.0 pkgrel=2 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') changelog=ChangeLog source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 perlbin.sh perlbin.csh provides.pl) install=perl.install options=('makeflags' '!purge') md5sums=('15a2f95fb27231e10998240f13acf961' '5ed2542fdb9a60682f215bd33701e61a' '1f0cbbee783e8a6d32f01be5118e0d5e' '999c3eea6464860704abbb055a0f0896') # workaround to let the integrity check find the correct provides array if [[ ${0##*/} = "parse_pkgbuilds.sh" ]]; then true && provides=($(bsdtar -q -O -xf "/srv/ftp/pool/packages/$pkgname-$pkgver-$pkgrel-$CARCH.pkg.tar.xz" .PKGINFO | sed -rn 's#^provides = (.*)#\1#p')) fi build() { cd ${srcdir}/${pkgname}-${pkgver} if [ "${CARCH}" = "x86_64" ]; then # for x86_64 arch_opts="-Dcccdlflags='-fPIC'" else # for i686 arch_opts="" fi ./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}" make } 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_sanity() 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. # Use archlinux email address instead of my own. sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \ -e "/^cf_email=/ s/'.*'/'kevin@archlinux.org'/" \ -e "/^perladmin=/ s/'.*'/'kevin@archlinux.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/ # (FS#16488) 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 }