270 lines
8.9 KiB
Bash
270 lines
8.9 KiB
Bash
# Template build file for 'perl'.
|
|
pkgname=perl
|
|
version=5.22.1
|
|
revision=4
|
|
hostmakedepends="less"
|
|
makedepends="zlib-devel bzip2-devel gdbm-devel db-devel"
|
|
depends="less"
|
|
short_desc="Practical Extraction and Report Language"
|
|
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
|
homepage="http://www.perl.org"
|
|
license="Artistic, GPL-1"
|
|
distfiles="http://www.cpan.org/src/5.0/perl-${version}.tar.gz"
|
|
checksum=2b475d0849d54c4250e9cba4241b7b7291cffb45dfd083b677ca7b5d38118f27
|
|
|
|
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.20151213_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_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_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 -s libperl.so.${version%.*} libperl.so
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
cp -f ${FILESDIR}/cross/*.h .
|
|
cp -f ${FILESDIR}/cross/config.sh-${XBPS_TARGET_ARCH} config.sh
|
|
cp -f ${FILESDIR}/Configure.cross .
|
|
|
|
# substitute some required strings in generated config.sh
|
|
sed -e "s,@@XBPS_CROSS_ARCH@@,${XBPS_TARGET_ARCH},g" \
|
|
-e "s,@@XBPS_CROSS_TRIPLET@@,${XBPS_CROSS_TRIPLET},g" \
|
|
-e "s,@@XBPS_CROSS_CFLAGS@@,${XBPS_CROSS_CFLAGS},g" \
|
|
-e "s,@@XBPS_CROSS_LDFLAGS@@,${XBPS_CROSS_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"
|
|
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 -specs hardened-cc1
|
|
sed -i 's/-specs=.*hardened-cc1//g' ${DESTDIR}/usr/lib/perl5/core_perl/Config_heavy.pl
|
|
}
|