Pkgsrc changes:
- Adjust some patches
- Remove patches integrated upstream
- Use Perl's "Policy.sh" framework (along the way remove some patches)
- Link in an enterprise friendly way on HPUX
- in buildlink3.mk bump minimum required pkgsrc Perl version to
5.12.0
- placate some pkglint warnings
Upstream changes:
- From version 5.12.1 announce
This release contains minor bug fixes and updates of several core
modules, as well as minor documentation updates. It should be fully
backward compatible with Perl 5.12.0.
- From version 5.12.0 announce:
Perl 5.12.0 represents approximately two years of development since
version 5.10.0 and contains over 750,000 lines of changes across over
3,000 files from over 200 authors and committers.
[...]
Notable changes in Perl 5.12 include:
* Perl now conforms much more closely to the Unicode standard.
Additionally, this release includes an upgrade to version
5.2 of the standard.
* New experimental APIs allow developers to extend Perl with
"pluggable" keywords and syntax.
* Perl now has a better sense of time and will be able to keep
accurate time well past the "Y2038" barrier.
* New syntax allows developers to specify package version numbers
directly in "package" statements
* Perl now warns the user about the use of deprecated features
by default.
- For a complete list of changes see included perl5120delta(1) and
perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and
http://perldoc.perl.org/perl5121delta.html
This avoids error messages from "perllink" while deinstalling (or
updateing) a Perl module package.
Fixed based on an analysis provided by Steven Drake on "tech-pkg".
perllink script. This was causing errors when building perl from
pkgsrc. The perllink script didn't create any symlinks because it
tried to invoke "perl", which silently fails with revision 1.20 of
mk/tools/perl.mk (after the pkgsrc-2006Q2 branch).
Bump the PKGREVISION to 3.
* Updates of many standard Perl modules.
* Performance enhancements for loadable modules and memory usage.
* Fixed bug when running with "-w". Previously when running with
warnings enabled globally via "-w", selective disabling of specific
warning categories would actually turn off all warnings. This
is now fixed; now "no warnings 'io';" will only turn off warnings
in the "io" class. This bug fix may cause some programs to start
correctly issuing warnings.
* Perl 5.8.4 introduced a change so that assignments of "undef" to a
scalar, or of an empty list to an array or a hash, were optimised away.
As this could cause problems when "goto" jumps were involved, this
change has been backed out.
* Using the sprintf function with some formats could lead to a
buffer overflow in some specific cases. This has been fixed,
along with several other bugs, notably in bounds checking.
* Fixed bug in pkgsrc-installed perl-5.8.7 and all subsequent
PKGREVISIONs, where perl didn't look for site modules under
/usr/pkg/lib/perl5/site_perl, but only under
/usr/pkg/lib/perl5/site_perl/5.8.0, and similarly for the vendor
modules.
* Honor PKGMANDIR when installing man pages.
because some Perl modules make some (bad) assumptions about the
structure of a MakeMaker-generated Makefile. Instead, remove the
perllocal.pod file whenever a p5-* module or perl itself is removed.
While here, rename some of the install/deinstall templates to more
descriptive names.
Bump the PKGREVISION to 3.
for many "core" modules, UTF-8 and Unicode bugfixes, and ithreads
bugfixes.
The major changes are in the pkgsrc infrastructure to handle Perl and
Perl modules. All pkgsrc-installed Perl modules are now installed in
"vendor" directories, and the perl interpreter has been modifed to
search for libraries in the following order: site, vendor, perl. The
Perl library is stored in a directory that is named for the Perl ABI
version associated with the Perl release, so any updates of Perl to
newer versions can be done "in-place" as long as Perl ABI version
remains the same. All Perl scripts and man pages are stored in
locations that won't conflict between site, vendor, and perl modules,
and a new utility perllink(1) now manages symlinks to those scripts
and man pages under the usual ${LOCALBASE}/bin and ${LOCALBASE}/man/man1.
PERL5_SITEPREFIX may be set to the prefix where local, site-specific
modules will be installed, e.g. PERL5_SITEPREFIX=/usr/local. Note
that modules installed here are completely unmanaged by pkgsrc.
Update the buildlink and tool dependencies on perl to require perl>=5.8.7
to reflect the new locations for Perl modules and the Perl shared
library.
installation needed when including perl5/buildlink3.mk. The only
option currently supported is "threads", which implies that a perl
that supports threads is required. The requirement is checked at
pre-install time using an INSTALL script template by both the package
build and the binary package.
Add PERL5_OPTIONS+=threads to both devel/p5-SDL and graphics/p5-GD
since those modules require a perl that supports threads.
(from commit log of perl5-current/Makefile):
* Interpreter cloning, threads, and concurrency
* Lexically scoped warning categories
* Unicode and UTF-8 support
* Support for interpolating named characters
* "our" declarations
* Support for strings represented as a vector of ordinals
* Improved Perl version numbering system
* New syntax for declaring subroutine attributes
* File and directory handles can be autovivified
* open() with more than two arguments
* 64-bit support
* Large file support
* Long doubles
* "more bits"
* Enhanced support for sort() subroutines
* C<sort $coderef @foo> allowed
* File globbing implemented internally
* POSIX character class syntax [: :] supported
* Improved C<qw//> operator
* pack() format 'Z' supported
* pack() format modifier '!' supported
* pack() and unpack() support counted strings
* Comments in pack() templates
* Weak references
* Binary numbers supported
* Lvalue subroutines
* Some arrows may be omitted in calls through references
* Boolean assignment operators are legal lvalues
* exists() is supported on subroutine names
* exists() and delete() are supported on array elements
* Pseudo-hashes work better
* Automatic flushing of output buffers
* Better diagnostics on meaningless filehandle operations
* Where possible, buffered data discarded from duped input filehandle
* eof() has the same old magic as <>
* binmode() can be used to set :crlf and :raw modes
* C<-T> filetest recognizes UTF-8 encoded files as "text"
* system(), backticks and pipe open now reflect exec() failure
* Improved diagnostics
* Diagnostics follow STDERR
* syswrite() ease-of-use
* Better syntax checks on parenthesized unary operators
* Bit operators support full native integer width
* Improved security features
* C<require> and C<do> may be overridden
* $^X variables may now have names longer than one character
* New variable $^C reflects C<-c> switch
* New variable $^V contains Perl version as a string
* Optional Y2K warnings
* Modules
* Pragmata
* dprofpp
* find2perl
* h2xs
* perlcc
* perldoc
* The Perl Debugger
* Simple sort() using { $a <=> $b } and the like are optimized
* Optimized assignments to lexical variables
* Faster subroutine calls
* -Dusethreads means something different
* New Configure flags
* Threadedness and 64-bitness now more daring
* Long Doubles
...
See 'perldoc perldelta' for a full list.