281 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			281 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Template build file for 'perl'.
 | |
| pkgname=perl
 | |
| version=5.16.3
 | |
| revision=3
 | |
| 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=bb7bc735e6813b177dcfccd480defcde7eddefa173b5967eac11babd1bfa98e8
 | |
| 
 | |
| # 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/lib/perl5/core_perl/bin
 | |
| 		-Dvendorscript=/usr/lib/perl5/vendor_perl/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="${XBPS_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=/usr/$XBPS_CROSS_TRIPLET/lib
 | |
| 		export INCLUDE=/usr/$XBPS_CROSS_TRIPLET/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=/usr/$XBPS_CROSS_TRIPLET/lib
 | |
| 		export INCLUDE=/usr/$XBPS_CROSS_TRIPLET/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.
 | |
| 	cd ${DESTDIR}/usr/bin && ln -sf perl${version} 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
 | |
| 
 | |
| 	# Profile script so set paths to perl scripts.
 | |
| 	vinstall ${FILESDIR}/perlbin.sh 644 etc/profile.d
 | |
| 
 | |
| 	# 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
 | |
| }
 | |
| 
 | |
| perl_package() {
 | |
| 	_provides="
 | |
| perl-Archive-Extract-0.58_1
 | |
| perl-Archive-Tar-1.82_1
 | |
| perl-Attribute-Handlers-0.93_1
 | |
| perl-AutoLoader-5.72_1
 | |
| perl-B-Debug-1.17_1
 | |
| perl-B-Deparse-1.14_01_1
 | |
| perl-B-Lint-1.14_1
 | |
| perl-CGI-3.59_1
 | |
| perl-CPAN-1.9800_1
 | |
| perl-CPAN-Meta-2.120630_1
 | |
| perl-CPAN-Meta-YAML-0.007_1
 | |
| perl-CPANPLUS-0.9121_1
 | |
| perl-CPANPLUS-Dist-Build-0.62_1
 | |
| perl-Carp-1.26_1
 | |
| perl-Compress-Raw-Bzip2-2.048_1
 | |
| perl-Compress-Raw-Zlib-2.048_1
 | |
| perl-DB_File-1.826_1
 | |
| perl-Data-Dumper-2.135_06_1
 | |
| perl-Devel-PPPort-3.20_1
 | |
| perl-Devel-SelfStubber-1.05_1
 | |
| perl-Digest-1.17_1
 | |
| perl-Digest-MD5-2.51_1
 | |
| perl-Digest-SHA-5.71_1
 | |
| perl-Dumpvalue-1.17_1
 | |
| perl-Encode-2.44_1
 | |
| perl-Env-1.03_1
 | |
| perl-Exporter-5.66_1
 | |
| perl-ExtUtils-CBuilder-0.280206_1
 | |
| perl-ExtUtils-Command-1.17_1
 | |
| perl-ExtUtils-Constant-0.23_1
 | |
| perl-ExtUtils-Install-1.58_1
 | |
| perl-ExtUtils-MakeMaker-6.63_02_1
 | |
| perl-ExtUtils-Manifest-1.61_1
 | |
| perl-ExtUtils-ParseXS-3.16_1
 | |
| perl-File-CheckTree-4.41_1
 | |
| perl-File-Fetch-0.32_1
 | |
| perl-File-Path-2.08_01_1
 | |
| perl-File-Temp-0.22_1
 | |
| perl-Filter-Simple-0.88_1
 | |
| perl-Filter-Util-Call-1.40_1
 | |
| perl-Getopt-Long-2.38_1
 | |
| perl-HTTP-Tiny-0.017_1
 | |
| perl-I18N-Collate-1.02_1
 | |
| perl-I18N-LangTags-0.38_1
 | |
| perl-IO-1.25_06_1
 | |
| perl-IO-Compress-2.048_1
 | |
| perl-IO-Zlib-1.10_1
 | |
| perl-IPC-Cmd-0.76_1
 | |
| perl-IPC-SysV-2.03_1
 | |
| perl-JSON-PP-2.27200_1
 | |
| perl-Locale-Codes-3.21_1
 | |
| perl-Locale-Maketext-1.22_1
 | |
| perl-Locale-Maketext-Simple-0.21_1
 | |
| perl-Log-Message-0.04_1
 | |
| perl-Log-Message-Simple-0.08_1
 | |
| perl-MIME-Base64-3.13_1
 | |
| perl-Math-BigInt-1.998_1
 | |
| perl-Math-BigInt-FastCalc-0.30_1
 | |
| perl-Math-BigRat-0.2603_1
 | |
| perl-Math-Complex-1.59_1
 | |
| perl-Memoize-1.02_1
 | |
| perl-Module-Build-0.39_01_1
 | |
| perl-Module-CoreList-2.76_1
 | |
| perl-Module-Load-0.22_1
 | |
| perl-Module-Load-Conditional-0.46_1
 | |
| perl-Module-Loaded-0.08_1
 | |
| perl-Module-Metadata-1.000009_1
 | |
| perl-Module-Pluggable-4.0_1
 | |
| perl-NEXT-0.65_1
 | |
| perl-Net-Ping-2.38_1
 | |
| perl-Object-Accessor-0.42_1
 | |
| perl-Package-Constants-0.02_1
 | |
| perl-Params-Check-0.32_1
 | |
| perl-Parse-CPAN-Meta-1.4402_1
 | |
| perl-PathTools-3.39_02_1
 | |
| perl-Perl-OSType-1.002_1
 | |
| perl-PerlIO-via-QuotedPrint-0.06_1
 | |
| perl-Pod-Escapes-1.04_1
 | |
| perl-Pod-LaTeX-0.60_1
 | |
| perl-Pod-Parser-1.51_1
 | |
| perl-Pod-Perldoc-3.17_1
 | |
| perl-Pod-Simple-3.20_1
 | |
| perl-Safe-2.31_01_1
 | |
| perl-Scalar-List-Utils-1.25_1
 | |
| perl-Search-Dict-1.04_1
 | |
| perl-SelfLoader-1.20_1
 | |
| perl-Socket-2.001_1
 | |
| perl-Storable-2.34_1
 | |
| perl-Sys-Syslog-0.29_1
 | |
| perl-Term-ANSIColor-3.01_1
 | |
| perl-Term-Cap-1.13_1
 | |
| perl-Term-Complete-1.402_1
 | |
| perl-Term-ReadLine-1.09_1
 | |
| perl-Term-UI-0.30_1
 | |
| perl-Test-1.25_02_1
 | |
| perl-Test-Harness-3.23_1
 | |
| perl-Test-Simple-0.98_1
 | |
| perl-Text-Abbrev-1.02_1
 | |
| perl-Text-Balanced-2.02_1
 | |
| perl-Text-ParseWords-3.27_1
 | |
| perl-Text-Soundex-3.03_01_1
 | |
| perl-Text-Tabs+Wrap-2009.0305_1
 | |
| perl-Thread-Queue-2.12_1
 | |
| perl-Thread-Semaphore-2.12_1
 | |
| perl-Tie-File-0.98_1
 | |
| perl-Tie-RefHash-1.39_1
 | |
| perl-Time-HiRes-1.9725_1
 | |
| perl-Time-Local-1.2000_1
 | |
| perl-Time-Piece-1.20_01_1
 | |
| perl-Unicode-Collate-0.89_1
 | |
| perl-Unicode-Normalize-1.14_1
 | |
| perl-Version-Requirements-0.101022_1
 | |
| perl-Win32-0.44_1
 | |
| perl-Win32API-File-0.1200_1
 | |
| perl-XSLoader-0.16_1
 | |
| perl-autodie-2.10_1
 | |
| perl-autouse-1.07_1
 | |
| perl-base-2.18_1
 | |
| perl-bignum-0.29_1
 | |
| perl-constant-1.23_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.0150039_1
 | |
| perl-podlators-2.4.0_1
 | |
| perl-threads-1.86_1
 | |
| perl-threads-shared-1.40_1
 | |
| perl-version-0.99_1
 | |
| "
 | |
| 	# Find virtual packages provided by the current perl version.
 | |
| 	for _f in ${_provides}; do
 | |
| 		_p=$($XBPS_UHELPER_CMD getpkgname ${_f})
 | |
| 		provides+=" ${_f}"
 | |
| 		replaces+=" ${_p}>=0"
 | |
| 	done
 | |
| 
 | |
| 	pkg_install() {
 | |
| 		vmove all
 | |
| 	}
 | |
| }
 | 
