# Template build file for 'perl'. pkgname=perl version=5.22.2 revision=2 hostmakedepends="less" makedepends="zlib-devel bzip2-devel gdbm-devel db-devel" depends="less" short_desc="Practical Extraction and Report Language" maintainer="Juan RP " homepage="http://www.perl.org" license="Artistic, GPL-1" distfiles="http://www.cpan.org/src/5.0/perl-${version}.tar.gz" checksum=81ad196385aa168cb8bd785031850e808c583ed18a7901d33e02d4f70ada83c2 provides="perl-Archive-Tar-2.04_1 perl-Attribute-Handlers-0.97_1 perl-AutoLoader-5.74_1 perl-B-Debug-1.23_1 perl-CPAN-2.11_1 perl-CPAN-Meta-2.150001_1 perl-CPAN-Meta-Requirements-2.132_1 perl-CPAN-Meta-YAML-0.012_1 perl-Carp-1.36_1 perl-Compress-Raw-Bzip2-2.068_1 perl-Compress-Raw-Zlib-2.068_1 perl-Config-Perl-V-0.24_1 perl-DB_File-1.835_1 perl-Data-Dumper-2.158_1 perl-Devel-PPPort-3.31_1 perl-Devel-SelfStubber-1.05_1 perl-Digest-1.17_1 perl-Digest-MD5-2.54_1 perl-Digest-SHA-5.95_1 perl-Dumpvalue-1.17_1 perl-Encode-2.72_1 perl-Env-1.04_1 perl-Exporter-5.72_1 perl-ExtUtils-CBuilder-0.280221_1 perl-ExtUtils-Command-1.20_1 perl-ExtUtils-Constant-0.23_1 perl-ExtUtils-Install-2.04_1 perl-ExtUtils-MakeMaker-7.04_01_1 perl-ExtUtils-Manifest-1.70_1 perl-ExtUtils-ParseXS-3.28_1 perl-File-Fetch-0.48_1 perl-File-Path-2.09_1 perl-File-Temp-0.2304_1 perl-Filter-Simple-0.92_1 perl-Filter-Util-Call-1.54_1 perl-Getopt-Long-2.45_1 perl-HTTP-Tiny-0.054_1 perl-I18N-Collate-1.02_1 perl-I18N-LangTags-0.40_1 perl-IO-1.35_1 perl-IO-Compress-2.068_1 perl-IO-Socket-IP-0.37_1 perl-IO-Zlib-1.10_1 perl-IPC-Cmd-0.92_1 perl-IPC-SysV-2.04_1 perl-JSON-PP-2.27300_1 perl-Locale-Codes-3.34_1 perl-Locale-Maketext-1.26_1 perl-Locale-Maketext-Simple-0.21_1 perl-MIME-Base64-3.15_1 perl-Math-BigInt-1.9997_1 perl-Math-BigInt-FastCalc-0.31_1 perl-Math-BigRat-0.2608_1 perl-Math-Complex-1.59_1 perl-Memoize-1.03_1 perl-Module-CoreList-5.20160429_1 perl-Module-Load-0.32_1 perl-Module-Load-Conditional-0.64_1 perl-Module-Loaded-0.08_1 perl-Module-Metadata-1.000026_1 perl-NEXT-0.65_1 perl-Net-Ping-2.43_1 perl-Params-Check-0.38_1 perl-Parse-CPAN-Meta-1.4414_1 perl-PathTools-3.56_01_1 perl-Perl-OSType-1.008_1 perl-PerlIO-via-QuotedPrint-0.08_1 perl-Pod-Checker-1.60_1 perl-Pod-Escapes-1.07_1 perl-Pod-Parser-1.63_1 perl-Pod-Perldoc-3.25_1 perl-Pod-Simple-3.29_1 perl-Pod-Usage-1.64_1 perl-Safe-2.39_1 perl-Scalar-List-Utils-1.41_1 perl-Search-Dict-1.07_1 perl-SelfLoader-1.22_1 perl-Socket-2.018_1 perl-Storable-2.53_01_1 perl-Sys-Syslog-0.33_1 perl-Term-ANSIColor-4.03_1 perl-Term-Cap-1.15_1 perl-Term-Complete-1.403_1 perl-Term-ReadLine-1.15_1 perl-Test-1.26_1 perl-Test-Harness-3.35_1 perl-Test-Simple-1.001014_1 perl-Text-Abbrev-1.02_1 perl-Text-Balanced-2.03_1 perl-Text-ParseWords-3.30_1 perl-Text-Tabs-2013.0523_1 perl-Thread-Queue-3.05_1 perl-Thread-Semaphore-2.12_1 perl-Tie-File-1.01_1 perl-Tie-RefHash-1.39_1 perl-Time-HiRes-1.9726_1 perl-Time-Local-1.2300_1 perl-Time-Piece-1.29_1 perl-Unicode-Collate-1.12_1 perl-Unicode-Normalize-1.18_1 perl-Win32-0.52_1 perl-Win32API-File-0.1202_1 perl-XSLoader-0.20_1 perl-autodie-2.26_1 perl-autouse-1.08_1 perl-base-2.22_1 perl-bignum-0.39_1 perl-constant-1.33_1 perl-encoding-warnings-0.11_1 perl-experimental-0.013_1 perl-if-0.0604_1 perl-lib-0.63_1 perl-libnet-3.05_1 perl-parent-0.232_1 perl-perlfaq-5.021009_1 perl-podlators-2.5.3_1 perl-threads-2.01_1 perl-threads-shared-1.48_1 perl-version-0.9909_1" for f in ${provides}; do replaces+=" $($XBPS_UHELPER_CMD getpkgname ${f})>=0" done # Before updating this package to a new major version, run ${FILESDIR}/provides.pl # against ${wrksrc} to find the list of built in packages. if [ "$CROSS_BUILD" ]; then hostmakedepends+=" perl" fi do_configure() { local _args="-Dusethreads -Duseshrplib -Dprefix=/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 -Dvendorscript=/usr/bin -Dinc_version_list=none -Dman1ext=1p -Dman3ext=3p -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3" ln -sf libperl.so.${version%.*} libperl.so if [ "$CROSS_BUILD" ]; then cp -f ${FILESDIR}/cross/*.h . cp -f ${FILESDIR}/cross/config.sh-${XBPS_TARGET_MACHINE} config.sh cp -f ${FILESDIR}/Configure.cross . # substitute some required strings in generated config.sh sed -e "s,@@XBPS_CROSS_ARCH@@,${XBPS_TARGET_MACHINE},g" \ -e "s,@@XBPS_CROSS_TRIPLET@@,${XBPS_CROSS_TRIPLET},g" \ -e "s|@@XBPS_CROSS_CFLAGS@@|${CFLAGS}|g" \ -e "s|@@XBPS_CROSS_LDFLAGS@@|${LDFLAGS}|g" \ -e "s,@@PERL_VERSION@@,${version},g" \ -e "s,@@PERL_SUBVERSION@@,${version##*.},g" \ -e "s,@@PERL_SONAME@@,${version%.*},g" \ -i config.sh sh ./Configure.cross perl -Ilib make_patchnum.pl else ./Configure -des ${_args} -Dlibperl="libperl.so.${version%.*}" \ -Dcccdlflags="-fPIC" \ -Doptimize="${CFLAGS}" -Dccflags="${CFLAGS}" \ -Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" fi } do_build() { if [ "$CROSS_BUILD" ]; then export HOST_PERL=/usr/bin/perl export PERL_TO_USE=$HOST_PERL export HOST_PERL_LIBS=/usr/lib/perl5/core_perl export LIB=$XBPS_CROSS_BASE/usr/lib export INCLUDE=$XBPS_CROSS_BASE/usr/include make SHRPLDFLAGS="-shared -Wl,-soname,libperl.so.${version%.*}" \ CROSS_PERL=$HOST_PERL libperl.so.${version%.*} ${makejobs} cp -fr $HOST_PERL_LIBS/auto/* lib/auto/ mkdir -p lib/$XBPS_CROSS_TRIPLET make extensions CROSS_PERL=$HOST_PERL \ INST_ARCHLIB=$wrksrc/lib/$XBPS_CROSS_TRIPLET \ ${makejobs} else make ${makejobs} fi } do_install() { if [ "$CROSS_BUILD" ]; then export HOST_PERL=/usr/bin/perl export PERL_TO_USE=$HOST_PERL export HOST_PERL_LIBS=/usr/lib/perl5/core_perl export LIB=$XBPS_CROSS_BASE/usr/lib export INCLUDE=$XBPS_CROSS_BASE/usr/include cp -fr $HOST_PERL_LIBS/auto/* lib/auto/ make CROSS_PERL=$HOST_PERL LDLIBPTH= DESTDIR=$DESTDIR install find lib/auto -name .exists -o -name '*.bs' | xargs rm -f vmkdir usr/lib/perl5/core_perl/auto cp -fr lib/$XBPS_CROSS_TRIPLET/auto/* \ ${DESTDIR}/usr/lib/perl5/core_perl/auto/ find ${DESTDIR} -name .exists |xargs rm -f rm -rf ${DESTDIR}/usr/share/perl5/core_perl/$XBPS_CROSS_TRIPLET # Remove references to cross toolchain. sed -i "s/$XBPS_CROSS_TRIPLET-//g" \ ${DESTDIR}/usr/lib/perl5/core_perl/Config_heavy.pl \ ${DESTDIR}/usr/lib/perl5/core_perl/Config.pm else make DESTDIR=${DESTDIR} install fi find ${DESTDIR}/usr/share -type f -exec chmod 644 {} \; find ${DESTDIR}/usr/lib -type f -exec chmod 644 {} \; # Make a link from perl${version} to perl. ln -sf perl${version} ${DESTDIR}/usr/bin/perl ### 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 ${DESTDIR}/usr/share/perl5/core_perl/CPAN/FirstTime.pm # Remove all pod files *except* those under # /usr/share/perl5/core_perl/pod/ (FS#16488) rm -f ${DESTDIR}/usr/share/perl5/core_perl/*.pod for d in ${DESTDIR}/usr/share/perl5/core_perl/*; do if [ -d $d -a $(basename $d) != "pod" ]; then find $d -name *.pod -delete fi done find ${DESTDIR}/usr/lib -name *.pod -delete find ${DESTDIR} -name .packlist -delete # Make a symlink so that libperl.so is accesible. if [ "$CROSS_BUILD" ]; then mv ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so \ ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version%.*} else rm -f ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so fi rm -f ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version%.*} \ ${DESTDIR}/usr/lib/libperl.so.${version%.*} ln -s libperl.so.${version%.*} ${DESTDIR}/usr/lib/libperl.so } post_install() { # Remove references to hardening -specs. sed -e "s|\(-specs=.*hardened-ld\)||g" -e "s|\(-specs=.*hardened-cc1\)||g" \ -i ${DESTDIR}/usr/lib/perl5/core_perl/Config_heavy.pl }