void-packages/srcpkgs/perl/template

268 lines
7.5 KiB
Text

# Template build file for 'perl'.
pkgname=perl
version=5.18.1
revision=1
hostmakedepends="which less"
makedepends="zlib-devel bzip2-devel gdbm-devel db-devel>=5.3"
short_desc="Practical Extraction and Report Language"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.perl.org"
license="GPL-2"
#distfiles="http://www.cpan.org/src/5.0/perl-${version}.tar.bz2"
distfiles="http://ftp.freebsd.org/pub/FreeBSD/distfiles/perl/perl-${version}.tar.bz2"
checksum=bf46c732c68fb160ea276b4b0cda26971646a206e31951abb8623a60f0ee5249
provides="
perl-Archive-Extract-0.68_1
perl-Archive-Tar-1.90_1
perl-Attribute-Handlers-0.94_1
perl-AutoLoader-5.73_1
perl-B-Debug-1.18_1
perl-B-Deparse-1.20_1
perl-B-Lint-1.17_1
perl-CGI-3.63_1
perl-CPAN-2.00_1
perl-CPAN-Meta-2.120921_1
perl-CPAN-Meta-Requirements-2.122_1
perl-CPAN-Meta-YAML-0.008_1
perl-CPANPLUS-0.9135_1
perl-CPANPLUS-Dist-Build-0.70_1
perl-Carp-1.29_1
perl-Compress-Raw-Bzip2-2.060_1
perl-Compress-Raw-Zlib-2.060_1
perl-Config-Perl-V-0.17_1
perl-DB_File-1.827_1
perl-Data-Dumper-2.145_1
perl-Devel-PPPort-3.20_1
perl-Devel-SelfStubber-1.05_1
perl-Digest-1.17_1
perl-Digest-MD5-2.52_1
perl-Digest-SHA-5.84_01_1
perl-Dumpvalue-1.17_1
perl-Encode-2.49_1
perl-Env-1.04_1
perl-Exporter-5.68_1
perl-ExtUtils-CBuilder-0.280210_1
perl-ExtUtils-Command-1.17_1
perl-ExtUtils-Constant-0.23_1
perl-ExtUtils-Install-1.59_1
perl-ExtUtils-MakeMaker-6.66_1
perl-ExtUtils-Manifest-1.63_1
perl-ExtUtils-ParseXS-3.18_1
perl-File-CheckTree-4.42_1
perl-File-Fetch-0.38_1
perl-File-Path-2.09_1
perl-File-Temp-0.23_1
perl-Filter-Simple-0.89_1
perl-Filter-Util-Call-1.45_1
perl-Getopt-Long-2.39_1
perl-HTTP-Tiny-0.025_1
perl-I18N-Collate-1.02_1
perl-I18N-LangTags-0.39_1
perl-IO-1.28_1
perl-IO-Compress-2.060_1
perl-IO-Zlib-1.10_1
perl-IPC-Cmd-0.80_1
perl-IPC-SysV-2.03_1
perl-JSON-PP-2.27202_1
perl-Locale-Codes-3.25_1
perl-Locale-Maketext-1.23_1
perl-Locale-Maketext-Simple-0.21_1
perl-Log-Message-0.06_1
perl-Log-Message-Simple-0.10_1
perl-MIME-Base64-3.13_1
perl-Math-BigInt-1.9991_1
perl-Math-BigInt-FastCalc-0.30_1
perl-Math-BigRat-0.2604_1
perl-Math-Complex-1.59_1
perl-Memoize-1.03_1
perl-Module-Build-0.4003_1
perl-Module-CoreList-2.96_1
perl-Module-Load-0.24_1
perl-Module-Load-Conditional-0.54_1
perl-Module-Loaded-0.08_1
perl-Module-Metadata-1.000011_1
perl-Module-Pluggable-4.7_1
perl-NEXT-0.65_1
perl-Net-Ping-2.41_1
perl-Object-Accessor-0.46_1
perl-Package-Constants-0.02_1
perl-Params-Check-0.36_1
perl-Parse-CPAN-Meta-1.4404_1
perl-PathTools-3.40_1
perl-Perl-OSType-1.003_1
perl-PerlIO-via-QuotedPrint-0.07_1
perl-Pod-Checker-1.60_1
perl-Pod-Escapes-1.04_1
perl-Pod-LaTeX-0.61_1
perl-Pod-Parser-1.60_1
perl-Pod-Perldoc-3.19_1
perl-Pod-Simple-3.28_1
perl-Pod-Usage-1.61_1
perl-Safe-2.35_1
perl-Scalar-List-Utils-1.27_1
perl-Search-Dict-1.07_1
perl-SelfLoader-1.21_1
perl-Socket-2.009_1
perl-Storable-2.41_1
perl-Sys-Syslog-0.32_1
perl-Term-ANSIColor-4.02_1
perl-Term-Cap-1.13_1
perl-Term-Complete-1.402_1
perl-Term-ReadLine-1.12_1
perl-Term-UI-0.34_1
perl-Test-1.26_1
perl-Test-Harness-3.26_1
perl-Test-Simple-0.98_1
perl-Text-Abbrev-1.02_1
perl-Text-Balanced-2.02_1
perl-Text-ParseWords-3.28_1
perl-Text-Soundex-3.04_1
perl-Text-Tabs+Wrap-2012.0818_1
perl-Thread-Queue-3.02_1
perl-Thread-Semaphore-2.12_1
perl-Tie-File-0.99_1
perl-Tie-RefHash-1.39_1
perl-Time-HiRes-1.9725_1
perl-Time-Local-1.2300_1
perl-Time-Piece-1.20_01_1
perl-Unicode-Collate-0.97_1
perl-Unicode-Normalize-1.16_1
perl-Win32-0.47_1
perl-Win32API-File-0.1201_1
perl-XSLoader-0.16_1
perl-autodie-2.13_1
perl-autouse-1.07_1
perl-base-2.18_1
perl-bignum-0.33_1
perl-constant-1.27_1
perl-encoding-warnings-0.11_1
perl-if-0.0602_1
perl-lib-0.63_1
perl-libnet-1.22_1
perl-parent-0.225_1
perl-perlfaq-5.0150042_1
perl-podlators-2.5.1_1
perl-threads-1.86_1
perl-threads-shared-1.43_1
perl-version-0.9902_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>=${version}"
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"
if [ "$CROSS_BUILD" ]; then
# Copy target files
if [ ! -d $FILESDIR/$XBPS_CROSS_TRIPLET ]; then
msg_error "$pkgver: cannot be cross built for $XBPS_CROSS_TRIPLET, contact $maintainer.\n"
fi
cp -f ${FILESDIR}/${XBPS_CROSS_TRIPLET}/* .
cp -f ${FILESDIR}/Configure.cross .
# substitute some required strings in generated config.sh
sed -e "s|@@PERL_VERSION@@|${version}|g" \
-e "s|@@PERL_SUBVERSION@@|${version##*.}|g" \
-i config.sh
sh ./Configure.cross
perl -Ilib make_patchnum.pl
else
./Configure -des ${_args} -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' \
CROSS_PERL=$HOST_PERL libperl.so ${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 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
else
# We use the same defaults than Arch Linux.
make DESTDIR=${DESTDIR} install
fi
# Set proper perms to shared libs.
find ${DESTDIR} -type f -name \*.so -exec chmod 644 {} \;
# Make a link from perl${version} to perl.
ln -sf /usr/bin/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
### CPANPLUS Settings ###
# Set CPANPLUS default config to use the site directories.
sed -e "/{'makemakerflags'}/ s/'';/'INSTALLDIRS=site';/" \
-e "/{'buildflags'}/ s/'';/'installdirs=site';/" \
-i ${DESTDIR}/usr/share/perl5/core_perl/CPANPLUS/Config.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.
cd ${DESTDIR}/usr/lib && \
ln -sf ./perl5/core_perl/CORE/libperl.so libperl.so
}