# Template build file for 'perl'.
pkgname=perl
version=5.16.1
revision=1
makedepends="gdbm-devel db-devel less groff"
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/$pkgname-$version.tar.bz2"
checksum=0704b1421fe50015becd32c8b7ed05843e8b6c188a8c16cb0c11d76986375fd0
long_desc="
 Perl is a general-purpose programming language originally developed
 for text manipulation and now used for a wide range of tasks including
 system administration, web development, network programming, GUI
 development, and more.  The language is intended to be practical (easy
 to use, efficient, complete) rather than beautiful (tiny, elegant,
 minimal).  Its major features are that it's easy to use, supports both
 procedural and object-oriented (OO) programming, has powerful built-in
 support for text processing, and has one of the world's most impressive
 collections of third-party modules."

# 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-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_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-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.23_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
"

for _f in ${_provides}; do
	_p=$($XBPS_PKGDB_CMD getpkgname ${_f})
	provides="${provides} ${_f}"
	replaces="${replaces} ${_p}>=0"
done

do_build() {
	./Configure							\
		-des -Dusethreads -Duseshrplib				\
		-Dinstallprefix=/usr					\
		-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		\
		-Dsitescript=/usr/lib/perl5/site_perl/bin		\
		-Dvendorscript=/usr/lib/perl5/vendor_perl/bin		\
		-Dinc_version_list=none	-Dman1ext=1p -Dman3ext=3p	\
		-Dcccdlflags="-fPIC" -Doptimize="${XBPS_CFLAGS}"

	make ${makejobs}
}

do_install() {
	# We use the same defaults than Arch Linux.
	make DESTDIR=${DESTDIR} install

	# 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
}
