For purpose of version sorting, xbps interprets every number following an underscore as revision, see mkcomponent in dewey.c. Rewrite version with dot, so perl's float semantic is retained.
218 lines
6.2 KiB
Bash
218 lines
6.2 KiB
Bash
# Template file for 'perl'
|
|
pkgname=perl
|
|
version=5.32.1
|
|
revision=2
|
|
_perl_cross_version=1.3.5
|
|
build_style=gnu-configure
|
|
hostmakedepends="less"
|
|
makedepends="zlib-devel bzip2-devel gdbm-devel db-devel"
|
|
depends="less"
|
|
checkdepends="iana-etc perl-AnyEvent perl-Test-Pod procps-ng"
|
|
short_desc="Practical Extraction and Report Language"
|
|
maintainer="Leah Neukirchen <leah@vuxu.org>"
|
|
license="Artistic-1.0-Perl, GPL-1.0-or-later"
|
|
homepage="https://www.perl.org"
|
|
distfiles="https://www.cpan.org/src/5.0/perl-${version}.tar.gz
|
|
https://github.com/arsv/perl-cross/releases/download/${_perl_cross_version}/perl-cross-${_perl_cross_version}.tar.gz"
|
|
checksum="03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c
|
|
91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25"
|
|
|
|
# Before updating this package to a new major version, run ${FILESDIR}/provides.pl
|
|
# against ${wrksrc} to find the list of built in packages.
|
|
|
|
provides="perl-Archive-Tar-2.36_1
|
|
perl-Attribute-Handlers-1.01_1
|
|
perl-AutoLoader-5.74_1
|
|
perl-CPAN-2.27_1
|
|
perl-CPAN-Meta-2.150010_1
|
|
perl-CPAN-Meta-Requirements-2.140_1
|
|
perl-CPAN-Meta-YAML-0.018_1
|
|
perl-Carp-1.50_1
|
|
perl-Compress-Raw-Bzip2-2.093_1
|
|
perl-Compress-Raw-Zlib-2.093_1
|
|
perl-Config-Perl-V-0.32_1
|
|
perl-DB_File-1.853_1
|
|
perl-Data-Dumper-2.174.01_1
|
|
perl-Devel-PPPort-3.57_1
|
|
perl-Devel-SelfStubber-1.06_1
|
|
perl-Digest-1.17.01_1
|
|
perl-Digest-MD5-2.55.01_1
|
|
perl-Digest-SHA-6.02_1
|
|
perl-Dumpvalue-1.21_1
|
|
perl-Encode-3.06_1
|
|
perl-Env-1.04_1
|
|
perl-Exporter-5.74_1
|
|
perl-ExtUtils-CBuilder-0.280234_1
|
|
perl-ExtUtils-Constant-0.25_1
|
|
perl-ExtUtils-Install-2.14_1
|
|
perl-ExtUtils-MakeMaker-7.44_1
|
|
perl-ExtUtils-Manifest-1.72_1
|
|
perl-ExtUtils-ParseXS-3.40_1
|
|
perl-File-Fetch-0.56_1
|
|
perl-File-Path-2.16_1
|
|
perl-File-Temp-0.2309_1
|
|
perl-Filter-Simple-0.96_1
|
|
perl-Filter-Util-Call-1.59_1
|
|
perl-FindBin-1.51_1
|
|
perl-Getopt-Long-2.51_1
|
|
perl-HTTP-Tiny-0.076_1
|
|
perl-I18N-Collate-1.02_1
|
|
perl-I18N-LangTags-0.44_1
|
|
perl-IO-1.43_1
|
|
perl-IO-Compress-2.093_1
|
|
perl-IO-Socket-IP-0.39_1
|
|
perl-IO-Zlib-1.10_1
|
|
perl-IPC-Cmd-1.04_1
|
|
perl-IPC-SysV-2.07_1
|
|
perl-JSON-PP-4.04_1
|
|
perl-Locale-Maketext-1.29_1
|
|
perl-Locale-Maketext-Simple-0.21.01_1
|
|
perl-MIME-Base64-3.15_1
|
|
perl-Math-BigInt-1.999818_1
|
|
perl-Math-BigInt-FastCalc-0.5009_1
|
|
perl-Math-BigRat-0.2614_1
|
|
perl-Math-Complex-1.59.01_1
|
|
perl-Memoize-1.03.01_1
|
|
perl-Module-CoreList-5.20210123_1
|
|
perl-Module-Load-0.34_1
|
|
perl-Module-Load-Conditional-0.70_1
|
|
perl-Module-Loaded-0.08_1
|
|
perl-Module-Metadata-1.000037_1
|
|
perl-NEXT-0.67.01_1
|
|
perl-Net-Ping-2.72_1
|
|
perl-Params-Check-0.38_1
|
|
perl-PathTools-3.78_1
|
|
perl-Perl-OSType-1.010_1
|
|
perl-PerlIO-via-QuotedPrint-0.08_1
|
|
perl-Pod-Checker-1.73_1
|
|
perl-Pod-Escapes-1.07_1
|
|
perl-Pod-Perldoc-3.2801_1
|
|
perl-Pod-Simple-3.40_1
|
|
perl-Pod-Usage-1.69_1
|
|
perl-Safe-2.41.01_1
|
|
perl-Scalar-List-Utils-1.55_1
|
|
perl-Search-Dict-1.07_1
|
|
perl-SelfLoader-1.26_1
|
|
perl-Socket-2.029_1
|
|
perl-Storable-3.21_1
|
|
perl-Sys-Syslog-0.36_1
|
|
perl-Term-ANSIColor-5.01_1
|
|
perl-Term-Cap-1.17_1
|
|
perl-Term-Complete-1.403_1
|
|
perl-Term-ReadLine-1.17_1
|
|
perl-Test-1.31_1
|
|
perl-Test-Harness-3.42_1
|
|
perl-Test-Simple-1.302175_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.14_1
|
|
perl-Thread-Semaphore-2.13_1
|
|
perl-Tie-File-1.06_1
|
|
perl-Tie-RefHash-1.39_1
|
|
perl-Time-HiRes-1.9764_1
|
|
perl-Time-Local-1.28_1
|
|
perl-Time-Piece-1.3401_1
|
|
perl-Unicode-Collate-1.27_1
|
|
perl-Unicode-Normalize-1.27_1
|
|
perl-Win32-0.53_1
|
|
perl-Win32API-File-0.1203.01_1
|
|
perl-XSLoader-0.30_1
|
|
perl-autodie-2.32_1
|
|
perl-autouse-1.11_1
|
|
perl-base-2.27_1
|
|
perl-bignum-0.51_1
|
|
perl-constant-1.33_1
|
|
perl-encoding-warnings-0.13_1
|
|
perl-experimental-0.020_1
|
|
perl-if-0.0608_1
|
|
perl-lib-0.65_1
|
|
perl-libnet-3.11_1
|
|
perl-parent-0.238_1
|
|
perl-perlfaq-5.20200523_1
|
|
perl-podlators-5.008_1
|
|
perl-threads-2.25_1
|
|
perl-threads-shared-1.61_1
|
|
perl-version-0.9924_1"
|
|
|
|
for f in ${provides}; do
|
|
replaces+=" $($XBPS_UHELPER_CMD getpkgname ${f})>=0"
|
|
done
|
|
|
|
post_extract() {
|
|
cp -a ../perl-cross-${_perl_cross_version}/* .
|
|
}
|
|
|
|
do_configure() {
|
|
local _args="-Dusethreads -Duseshrplib -Dusesoname -Dusevendorprefix
|
|
-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
|
|
-Dd_sockaddr_in6=define"
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
_args+=" --target=$XBPS_CROSS_TRIPLET"
|
|
fi
|
|
|
|
LDFLAGS+=" -Wl,-z,stack-size=2097152 -pthread"
|
|
export HOSTLDFLAGS+=" -pthread"
|
|
|
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
|
export HOSTCFLAGS+=" -D_GNU_SOURCE"
|
|
export CFLAGS+=" -DNO_POSIX_2008_LOCALE -D_GNU_SOURCE"
|
|
else
|
|
export CFLAGS+=" -D_FILE_OFFSET_BITS=64 -DLARGE_FILE_SUPPORT64"
|
|
fi
|
|
|
|
export LD="$CC"
|
|
./configure --prefix=/usr $_args \
|
|
-Dcccdlflags="-fPIC" \
|
|
-Doptimize=" -Wall ${CFLAGS} " -Dccflags=" ${CFLAGS} " \
|
|
-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}" \
|
|
-Dperl_static_inline='static __inline__' -Dd_static_inline ||
|
|
{
|
|
cat ./config.log
|
|
return 42
|
|
}
|
|
}
|
|
|
|
do_check() {
|
|
export LD="$CC"
|
|
TEST_JOBS=${XBPS_MAKEJOBS} make test
|
|
}
|
|
|
|
post_install() {
|
|
find ${DESTDIR}/usr/share -type f -exec chmod 644 {} \;
|
|
find ${DESTDIR}/usr/lib -type f -exec chmod 644 {} \;
|
|
|
|
# Make a symbolic link from perl to perl${version}.
|
|
ln -sf perl ${DESTDIR}/usr/bin/perl${version}
|
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
# HOTFIX
|
|
# ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version} ${DESTDIR}/usr/lib/
|
|
# ln -sfr ${DESTDIR}/usr/lib/perl5/core_perl/CORE/libperl.so.${version} ${DESTDIR}/usr/lib/libperl.so
|
|
}
|