Package: perl5303
Version: 5.30.3
Revision: 3
# To match /usr/bin/perl5.30 on 12.0-14.0
Distribution: 10.9, 10.10, 10.11, 10.12, 10.13, 10.14, 10.14.5, 10.15, 11.0, 11.3, 15.0
BuildDepends: <<
 db60-aes,
 fink (>= 0.32.0),
 gdbm6
<<
Depends: %n-core (>= %v-%r)
Conflicts: perl5162, perl5182, perl5184, perl5282, perl5302, perl5303, perl5341
Replaces: perl5162, perl5182, perl5184, perl5282, perl5302, perl5303, perl5341
License: Artistic
Description: The Perl programming language, v. 5.30.3
DescDetail: <<
Perl is a high-level programming language with roots in C, sed, awk
and shell scripting.  Perl is good at handling processes and files,
and is especially good at handling text.  Perl's hallmarks are
practicality and efficiency.  While it is used to do a lot of
different things, Perl's most common applications are system
administration utilities and web programming.  A large proportion of
the CGI scripts on the web are written in Perl.

Fink's perl packages retain the perl version subdirectories in the
lib tree.  Without these, upgrading or downgrading Perl breaks all of
the binary modules.
<<
DescPort: <<
Because the perl build system is designed to download source files for
"extra" perlmodules directly from CPAN, we do not include those "extra" 
perlmodules in this package.  For that reason, the following packages
which are Provided by Apple's build of perl5.30.3 on 12.0 are not provided
here:
  convert-tnef-pm5303, html-parser-pm5303, 
  perl-objcbridge-pm5303, scalar-list-utils-pm5303, uri-pm5303, 
  algorithm-diff-pm5303, class-autouse-pm5303, corefoundation-pm5303, 
  data-hierarcy-pm5303, freezethaw-pm5303, io-pager-pm5303, 
  locale-maketext-lexicon-pm5303, perlio-eol-pm5303

On macOS11.0, buildtime miniperl is not properly referenced in some Makefiles.
So we hardcode the relative position for building.

Time::HiRes misidentifies macOS having clock_nanosleep.
<<
DescUsage: <<
Most perl scripts start with #!/usr/bin/perl which will invoke Apple's
/usr/bin/perl. This package does not alter /usr/bin/perl. If you wish
to use this version of perl in scripts, the script should begin with
#!%p/bin/perl5.30.3 instead of #!/usr/bin/perl
<<
Source: mirror:cpan:src/5.0/perl-%v.tar.xz
Source-Checksum: SHA256(6967595f2e3f3a94544c35152f9a25e0cb8ea24ae45f4bf1882f2e33f4a400f4)
PatchFile: %n.patch
PatchFile-MD5: 0f8c7627076dbe48431f309b2c2a618b
#PatchFile3: %n-timelocal-y2020.patch
#PatchFile3-MD5: 0ed67a0840de3869984371db64afc544
PatchFile4: %n-macos11.patch
PatchFile4-MD5: 621344203183d47554d394ea539a5adf
PatchFile5: %n-timehires.patch
PatchFile5-MD5: 8a479b1c9c0f0f04987399decd5b8539
PatchFile6: %n-libperl-t.patch
PatchFile6-MD5: 8c54d38628d7a643567995ef9c6f66ba
PatchScript: <<
    sed -e 's|@FINK_PREFIX@|%p|g' <  %{PatchFile} | patch -p1
 #   patch -p1 < %{PatchFile3}
    patch -p1 < %{PatchFile4}
    patch -p1 < %{PatchFile5}
    patch -p1 < %{PatchFile6}
<<
CompileScript: <<
#!/bin/sh -ev
	if [[ `sw_vers -productVersion | cut -f 1 -d.` -ge 11 ]]; then
		# race condition on macOS11 causes miniperl to not propagate sometimes
		ABSPERL=../../miniperl
		# /usr/lib/libc* no longer exists
		perl -pi -e 's,win32|vms|openbsd|bitrig|cygwin,$&|darwin,g' ext/DynaLoader/t/DynaLoader.t
	fi
	sh Configure \
	-desr \
	-Dcc="gcc" \
	-Dcpp="-gcc -E" \
	-Dprefix=%p \
	-Dccflags=-I%p/include \
	-Dldflags=-L%p/lib \
	-Dperladmin=none \
	-Uinstallusrbinperl \
	-Dprivlib="%p/lib/perl5-core/5.30.3" \
	-Darchlib="%p/lib/perl5-core/5.30.3/darwin-thread-multi-2level" \
	-Dman3dir="%p/lib/perl5-core/5.30.3/man/man3" \
	-Dman3ext=3pm \
	-Dscriptdir="%p/bin" \
	-Duseithreads \
	-Dinc_version_list=none \
	-Dcf_by="Fink Project" \
	-Dcf_email="fink-core@lists.sourceforge.net" \
	-Umydomain \
	-Dmyhostname="localhost" \
	-Adefine:startperl="#!%p/bin/perl5.30.3" \
	-Adefine:perlpath="%p/bin/perl5.30.3"
	make
<<
DocFiles: README Copying
InfoTest: <<
	TestScript: <<
	#!/bin/sh -ev
		# Occasional reported Time-HiRes test-failures
		#	https://pastebin.com/JK68gr5p
		# likely due to other system processes. See:
		#	https://github.com/Perl/perl5/pull/20908
		export PERL_FILE_ATIME_CHANGES=1
		make test || exit 2
	<<
<<

InstallScript: <<
 make install DESTDIR=%d

 mkdir -p %i/etc/profile.d
 echo "append_path MANPATH %p/lib/perl5-core/5.30.3/man" >> %i/etc/profile.d/%N-core.csh
 echo "append_path MANPATH %p/lib/perl5/5.30.3/man" >> %i/etc/profile.d/%N-core.csh
 echo "append_path MANPATH %p/lib/perl5-core/5.30.3/man" >> %i/etc/profile.d/%N-core.sh
 echo "append_path MANPATH %p/lib/perl5/5.30.3/man" >> %i/etc/profile.d/%N-core.sh
 echo "export MANPATH" >> %i/etc/profile.d/%N-core.sh
 chmod 755 %i/etc/profile.d/%N-core.*

<<
SplitOff: <<
 Package: %N-core
 Conflicts: compress-zlib-pm (<= 1.19-2), crypt-ssleay-pm (<= 0.45-2), dbd-mysql-pm (<= 2.1026-1), dbd-pg-pm (<= 1.21-4), dbd-pg-pm-ssl (<= 1.21-4), dbi-pm (<= 1:1.35-1), digest-md5-pm (<= 2.24-1), digest-sha1-pm (<= 2.02-1), egd (<= 0.8-3), eperl-pm (<= 2.2.14-2), filter-util-pm (<= 1.26-1), fribidi-pm (<= 0.05-2), ftlib-pm (<= 1.2-1), gd-pm (<= 2.06-5), gimp-perl (<= 1.211-4), gtk-perl-pm (<= 0.7008-7), html-parser-pm (<= 3.27-1), http-ghttp-pm (<= 1.07-1), irssi-ssl (<= 0.8.6-3), irssi (<= 0.8.6-2), jcode-pm (<= 0.82-1), libapreq-pm (<= 1.0-1), mac-carbon-pm (<= 0.05-1), macosx-file-pm (<= 0.64-1), mime-base64-pm (<= 2.18-1), net-ssleay-pm (<= 1.22-2), nkf (<= 1.92-1), params-validate-pm (<= 0.57-1), pdl (<= 2.3.2-1), perlmagick-pm (<= 5.5.4-1), pgplot-perl (<= 2.18-4), postgresql-perl (<= 7.3.2-7), postgresql-ssl-perl (<= 7.3.2-7), rrdtool-perl (<= 1.0.41-1), scalar-list-utils-pm (<= 1.11-1), sha-pm (<= 1.2-2), shout-pm (<= 1.0-1), storable-pm (<= 1.0.14-1), string-approx-pm (<= 3.19-1), template-notex-pm (<= 2.08-13), template-pm (<= 2.08-13), term-readkey-pm (<= 2.21-1), term-readline-gnu-pm (<= 1.13-1), text-iconv-pm (<= 1.2-1), time-hires-pm (<= 1.46-1), time-piece-pm (<= 1.08-1), tk-pm (<= 800.024-2), tk-tablematrix-pm (<= 1.01-1), unicode-string-pm (<= 2.07-1), xml-parser-pm (<= 2.31-4), xmms-pm (<= 0.12-2)
 Provides: <<
  archive-tar-pm5303,
  attribute-handlers-pm5303,
  carp-pm5303,
  compress-raw-bzip2-pm5303,
  compress-raw-zlib-pm5303,
  compress-zlib-pm5303,
  cpan-meta-requirements-pm5303,
  data-dumper-pm5303,
  db-pm5303,
  devel-peek-pm5303,
  digest-md5-pm5303,
  digest-pm5303,
  digest-sha-pm5303,
  extutils-cbuilder-pm5303,
  extutils-makemaker-pm5303,
  extutils-parsexs-pm5303,
  file-find-pm5303,
  file-path-pm5303,
  file-spec-pm5303,
  file-temp-pm5303,
  filter-simple-pm5303,
  getopt-long-pm5303,
  http-tiny-pm5303,
  i18n-langtags-pm5303,
  io-zlib-pm5303,
  libnet-pm5303,
  list-util-pm5303,
  locale-maketext-pm5303,
  locale-maketext-simple-pm5303,
  math-bigint-pm5303,
  memoize-pm5303,
  mime-base64-pm5303,
  module-corelist-pm5303,
  module-load-conditional-pm5303,
  module-load-pm5303,
  params-check-pm5303,
  perl-ostype-pm5303,
  pod-escapes-pm5303,
  pod-parser-pm5303,
  pod-simple-pm5303,
  sys-syslog-pm5303,
  term-readline-pm5303,
  test-harness-pm5303,
  test-simple-pm5303,
  text-tabs-pm5303,
  text-wrap-pm5303,
  time-hires-pm5303,
  unicode-normalize-pm5303
 <<
 Depends: <<
  db60-aes-shlibs,
  gdbm6-shlibs
 <<
 Files: bin/perl5.30.3 etc lib/perl5 lib/perl5-core
 Description: Core files for perl, v. 5.30.3
 DocFiles: README Copying
<<
DescPackaging: <<
 We split the perl5.30.3 binary and the files in lib/perl5* off as a separate
 "core" package which does not conflict with other versions of perl.
 %p/bin/perl and other binaries remain in the perl5303 package, and
 different versions of perl can be selected by installing a different
 package instead.

 We now use lib/perl5-core as the main installation directory to avoid
 conflicts with fink-installed perl modules.
<<
Homepage: https://www.cpan.org/
Maintainer: Fink Core Group <fink-core@lists.sourceforge.net>