problems with linking and rpaths, such as the NetBSD manifestation of
PR 47187, and probably others; I haven't tried yet but I suspect at
least my manifestation of PR 44985 will be fixed too.
The rm class doesn't always work for me because miniperl regenerates
some Makefiles and then overwrites the substed file. I haven't tracked
the exact reason that triggers this down yet.
Enhancements were made to code features such as "use", which now explicitly enables feature bundles, a more consistent "eval" operator, and a revamped "substr" function. The "__SUB__" sequence now returns a reference to the current subroutine, allowing for recursive subroutines to be written more simply. Support for Unicode 6.1 was improved. Many other minor improvements and bugfixes, along with several deprecations, were made
exists already. This is not the case for bulk builds though. This fixes
p5-MARC-Charset, since p5-gdbm ended up without rpath to PREFIX/lib.
Fix some Perl interpreter paths while here. Bump revision.
http://perl5.git.perl.org/perl.git/commitdiff/a2fa999d41c94d622051667d897fedca90be1828
2011-10-02 Gisle Aas <gisle@ActiveState.com>
Release 1.17.
Gisle Aas (6):
Less noisy 'git status' output
Merge pull request #1 from schwern/bug/require_eval
Don't clobber $@ in Digest->new [RT#50663]
More meta info added to Makefile.PL
Fix typo in RIPEMD160 [RT#50629]
Add schwern's test files
Michael G. Schwern (5):
Turn on strict.
Convert tests to use Test::More
Untabify
Turn Digest::Dummy into a real file which exercises the Digest->new() require logic.
Close the eval "require $module" security hole in Digest->new($algorithm)
assembler to adapt them to the distance. m68k gas appears not to do
that for fpu branch insns, resulting in an out-of-range FPU assembler
branch instruction error in "ext/re/re_exec.c".
As a workaround, building with "-Os" instead of "-O2" reduces the size
of the object file enough to allow short branches.
See PR toolchain/45439.
* Several modules were updated to fix minor bugs.
* Tests were fixed.
* Documentation was improved.
Changes 5.14.0:
* Unicode version 6.0 is now supported.
* Regular expressions can now be reset to the default modifiers.
* Four new regular expression modifiers, "/d", "/l" , "/u", and "/a", were
introduced.
* The substitution operators now support the modifier "/r" to work
non-destructively, leaving the original unmodified.
* Larger octals can now be specified.
* Array and hash operators can now experimentally operate directly on hard
references.
* printf-like functions now understand post-1980 size modifiers.
* Exception handling was made more reliable and consistent.
* Other enhancements and many bug fixes were made
PkgSrc:
* Fixed configuring on Mac OS X 10.7.
From upstream comment:
nm isn't known to work after Snow Leopard and XCode 4; testing with OS X 10.5
and Xcode 3 shows a working nm, but pretending it doesn't work produces no
problems.
From upstream commit log:
Testing from 10.5 with Xcode 3 to the latest OS X works with usenm='false' but
not always with usenm='true'
pkgsrc changes:
- updating bundled modules
* threads from 1.75 to 1.78
* threads::shared from 1.32 to 1.33
* Math::BigInt from 1.89_01 to 1.95 (without test merges)
Upstream changes of avove modules
>>> threads <<<
1.78 Wed Sep 22 17:21:22 2010
- Handle missing signal handler in thread (threads bug #60460)
1.77 Fri Mar 26 13:36:33 2010
- Fix race condition in t/threads.t (threads bug #55633)
1.76 Tue Mar 9 14:02:43 EST 2010
- Handle magic on arg to ->object() (bug #73330)
- Make ->object(threads->tid()) work like ->self() (bug #73330)
- Noted memory consumption issue in POD
- Added reusable thread pool example
>>> threads::shared <<<
1.33 Tue Mar 9 14:03:47 EST 2010
- Handle shared object reference during global destruction
- Document that changing array length via $#array doesn't work
>>> Math::BigInt <<<
2010-09-03 v1.90 rafl
* fix bnok() for k==0 and k==n-1
2010-09-10 v1.91 rafl
* fix various documentation bugs
2010-09-10 v1.92 rafl
* re-upload v1.91 with a fixed SIGNATURE
2010-09-13 v1.93 rafl
* Depend on perl >= 5.6.2
* Remove obsolete core test directory boilerplate
* Convert from Test to Test::More
2010-09-13 v1.94 rafl DEVELOPMENT RELEASE
* Attempt to fix Math::BigInt::Lite failures
2010-09-14 v1.95 rafl
* Re-upload v1.94 as a stable release
Upstream changes:
Incompatible Changes
There are no changes intentionally incompatible with 5.12.1.
If any exist, they are bugs and reports are welcome.
Core Enhancements
Other than the bug fixes listed below, there should be no
user-visible changes to the core language in this release.
Modules and Pragmata
New Modules and Pragmata
This release does not introduce any new modules or pragmata.
Pragmata Changes
In the previous release, no VERSION; statements triggered a bug
which could cause feature bundles to be loaded and strict mode
to be enabled unintentionally.
Updated Modules
Carp
Upgraded from version 1.16 to 1.17.
Carp now detects incomplete caller() overrides and avoids using bogus
@DB::args. To provide backtraces, Carp relies on particular behaviour
of the caller built-in. Carp now detects if other code has overridden
this with an incomplete implementation, and modifies its backtrace
accordingly. Previously incomplete overrides would cause incorrect
values in backtraces (best case), or obscure fatal errors (worst case)
This fixes certain cases of Bizarre copy of ARRAY caused by modules
overriding caller() incorrectly.
CPANPLUS
A patch to cpanp-run-perl has been backported from CPANPLUS 0.9004.
This resolves [perl #55964] and [perl #57106], both of which related
to failures to install distributions that use Module::Install::DSL.
File::Glob
A regression which caused a failure to find CORE::GLOBAL::glob after
loading File::Glob to crash has been fixed. Now, it correctly falls
back to external globbing via pp_glob.
File::Copy
File::Copy::copy(FILE, DIR) is now documented.
File::Spec
Upgraded from version 3.31 to 3.31_01.
Several portability fixes were made in File::Spec::VMS: a colon is now
recognized as a delimiter in native filespecs; caret-escaped
delimiters are recognized for better handling of extended filespecs;
catpath() returns an empty directory rather than the current
directory if the input directory name is empty; abs2rel() properly
handles Unix-style input.
Utility Changes
* perlbug now always gives the reporter a chance to change the email
address it guesses for them.
* perlbug should no longer warn about uninitialized values when using
the -d and -v options.
Changes to Existing Documentation
* The existing policy on backward-compatibility and deprecation has
been added to perlpolicy, along with definitions of terms like
deprecation.
* "srand" in perlfunc's usage has been clarified.
* The entry for "die" in perlfunc was reorganized to emphasize its role
in the exception mechanism.
* Perl's INSTALL file has been clarified to explicitly state that Perl
requires a C89 compliant ANSI C Compiler.
* IO::Socket's getsockopt() and setsockopt() have been documented.
* alarm()'s inability to interrupt blocking IO on Windows has been
documented.
* Math::TrulyRandom hasn't been updated since 1996 and has been removed
as a recommended solution for random number generation.
* perlrun has been updated to clarify the behaviour of octal flags to
perl.
* To ease user confusion, $# and $*, two special variables that were
removed in earlier versions of Perl have been documented.
* The version of perlfaq shipped with the Perl core has been updated
from the official FAQ version, which is now maintained in the
briandfoy/perlfaq branch of the Perl repository at
git://perl5.git.perl.org/perl.git.
Installation and Configuration Improvements
Configuration improvements
* The d_u32align configuration probe on ARM has been fixed.
Compilation improvements
* An "incompatible operand types" error in ternary expressions when
building with clang has been fixed.
* Perl now skips setuid File::Copy tests on partitions it detects to
be mounted as nosuid.
Selected Bug Fixes
* A possible segfault in the T_PRTOBJ default typemap has been fixed.
* A possible memory leak when using caller() to set @DB::args has been
fixed.
* Several memory leaks when loading XS modules were fixed.
* unpack() now handles scalar context correctly for %32H and %32u,
fixing a potential crash. split() would crash because the third item
on the stack wasn't the regular expression it expected.
unpack("%2H", ...) would return both the unpacked result and the
checksum on the stack, as would unpack("%2u", ...). [perl #73814]
* Perl now avoids using memory after calling free() in pp_require when
there are CODEREFs in @INC.
* A bug that could cause "Unknown error" messages when
"call_sv(code, G_EVAL)" is called from an XS destructor has been fixed.
* The implementation of the open $fh, '>' \$buffer feature now supports
get/set magic and thus tied buffers correctly.
* The pp_getc, pp_tell, and pp_eof opcodes now make room on the stack
for their return values in cases where no argument was passed in.
* When matching unicode strings under some conditions inappropriate
backtracking would result in a Malformed UTF-8 character (fatal)
error. This should no longer occur. See [perl #75680]
Platform Specific Notes
AIX
* README.aix has been updated with information about the XL C/C++ V11
compiler suite.
Windows
* When building Perl with the mingw64 x64 cross-compiler incpath,
libpth, ldflags, lddlflags and ldflags_nolargefiles values in
Config.pm and Config_heavy.pl were not previously not being set
correctly because, with that compiler, the include and lib
directories are not immediately below $(CCHOME).
VMS
* git_version.h is now installed on VMS. This was an oversight in
v5.12.0 which caused some extensions to fail to build.
* Several memory leaks in stat() have been fixed.
* A memory leak in Perl_rename() due to a double allocation has been
fixed.
* A memory leak in vms_fid_to_name() (used by realpath() and
realname()) has been fixed.
We intentionally wire down the 'libswanted' list in the package Makefile, so
don't let the hints file add new libraries that may be found outside Pkgsrc
control.
Fixes build on Gentoo and SuSE systems, and possibly other Linux systems too
that might have stray -lgdbm_compat libraries lying around.
pkgsrc changes:
- preparing for databases/p5-gdbm (using Makefile.common)
- supporting external access to perl install dirs (dirs.mk)
- fixing some errors/warnings from pkglint
- adding conflict to packages of CPAN modules which are in Perl5 code
on the one hand and are broken with perl-5.10+
Bumping PKGREVISION (dependencies changed, rebuild highly recommended).
Recursive rebuild is not required.
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".
don't let the hints file add new libraries that may be found outside Pkgsrc
control.
Fixes build on Gentoo system, and possibly other Linux systems too that might
have stray -lgdbm_compat libraries lying around. This reverts hints/linux.sh
to look more like it did in 5.10.0.
Pkgsrc changes:
- Adjust some patches
- Remove patches integrated upstream
Upstream changes:
"5.10.1 is a maintenance release for perl 5.10, incorporating various
minor bugfixes and optimisations."
Nonetheless some incompatibles changes are noteworthy and are related
to:
- flip-flop and defined-or operators behavior in switch statement
- type-based dispatch and overloading of the smart match operator
- 'use feature :5.10*' semantics
- Perl development switched to git
- internal structure of the ext/ perl source directory changed
- removal of the modules Test::Harness::Straps, ExtUtils::MakeMaker::bytes
and ExtUtils::MakeMaker::vmsish
- the Module::CoreList module no longer contains the %:patchlevel hash
- a bugfix related to the handling of the /m modifier and qr resulted
in a change of behaviour between 5.8.x and 5.10.0 (this was missing from
perl 5.10.0 perldelta).
For a complete list of changes see included perl5101delta(1) or
http://perldoc.perl.org/perl5101delta.html
$HOME's parent directory isn't readable by an unprivileged user.
Tested on Linux with unprivileged pkgsrc (DreamHost, where the
problem was encountered) and on Mac OS X with a more typical setup.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
explaining that this should prevent a repeat of the current problem where
binary perl packages built for 5.8.8 can be installed together with
perl 5.10.0 without any warning/error. By the perl numbering scheme,
perl 5.12.0 will be the next maintenance version which installs modules
in a different path than what's used for 5.10.0.
The contents of perl itself doesn't change as a result of this change,
so no revision bump, but a revision bump for all packages which depend
directly on perl is forthcoming, as a workaround for the 5.8.8 -> 5.10.0
transition.
at using p5-* packages built with the new perl from being installed
together with an older version of perl. The p5-* packages will not
work because the new and old perls install modules in different
directories. As a consequence, bump package revision.
A large number of packages have had their internal regression tests
run successfully with this update, including mod_perl for Apache.
Pkgsrc changes: a number of our local patches are no longer needed.
Upstream changes from version 5.8.8:
# Core Enhancements
* The feature pragma
* New -E command-line switch
* Defined-or operator
* Switch and Smart Match operator
* Regular expressions
* say()
* Lexical $_
* The _ prototype
* UNITCHECK blocks
* New Pragma, mro
* readdir() may return a "short filename" on Windows
* readpipe() is now overridable
* Default argument for readline()
* state() variables
* Stacked filetest operators
* UNIVERSAL::DOES()
* Formats
* Byte-order modifiers for pack() and unpack()
* no VERSION
* chdir, chmod and chown on filehandles
* OS groups
* Recursive sort subs
* Exceptions in constant folding
* Source filters in @INC
* New internal variables
* Miscellaneous
* UCD 5.0.0
* MAD
* kill() on Windows
# Incompatible Changes
* Packing and UTF-8 strings
* Byte/character count feature in unpack()
* The $* and $# variables have been removed
* substr() lvalues are no longer fixed-length
* Parsing of -f _
* :unique
* Effect of pragmas in eval
* chdir FOO
* Handling of .pmc files
* $^V is now a version object instead of a v-string
* @- and @+ in patterns
* $AUTOLOAD can now be tainted
* Tainting and printf
* undef and signal handlers
* strictures and dereferencing in defined()
* (?p{}) has been removed
* Pseudo-hashes have been removed
* Removal of the bytecode compiler and of perlcc
* Removal of the JPL
* Recursive inheritance detected earlier
# Modules and Pragmata
* Upgrading individual core modules
* Pragmata Changes
* New modules
* Selected Changes to Core Modules
# Utility Changes
# New Documentation
# Performance Enhancements
* In-place sorting
* Lexical array access
* XS-assisted SWASHGET
* Constant subroutines
* PERL_DONT_CREATE_GVSV
* Weak references are cheaper
* sort() enhancements
* Memory optimisations
* UTF-8 cache optimisation
* Sloppy stat on Windows
* Regular expressions optimisations
# Installation and Configuration Improvements
* Configuration improvements
* Compilation improvements
* Installation improvements
* New Or Improved Platforms
# Selected Bug Fixes
# New or Changed Diagnostics
# Changed Internals
* Reordering of SVt_* constants
* Elimination of SVt_PVBM
* New type SVt_BIND
* Removal of CPP symbols
* Less space is used by ops
* New parser
* Use of const
* Mathoms
* AvFLAGS has been removed
* av_* changes
* $^H and %^H
* B:: modules inheritance changed
* Anonymous hash and array constructors
...
See 'perldoc perldelta' or http://perldoc.perl.org/perldelta.html
for explanation of each of these points.
outsmart us and call the tool by name in some parts of the build.
eg just "nbsed" instead of "/usr/pkg/bin/nbsed". This can only have
worked before as long as ${PREFIX}/bin was in the user's path.
Fix this by TOOLS_ALIASES.sed+=${TOOLS_SED:T} so that an "nbsed"
is available in the PATH.
=> 9.0 as it breaks the build. This should just be considered a temporary
work around until the actual problem can be fixed as this worked for
Darwin < 9.0.
There are no changes to perl on any other platforms.
This should address PR# 37225
A flaw was found in Perl's regular expression engine. Specially crafted
input to a regular expression can cause Perl to improperly allocate memory,
possibly resulting in arbitrary code running with the permissions of the
user running Perl.
packlist is used to generate the pkgsrc PLIST. This is the case for most
of the Perl modules, so the default value is "yes".
Currently, there is no change in functionality. After some further
testing, the default will be that a Perl module provides a packlist and
needs to say if it doesn't.
build executable, either by using the same constants or by sourcing the
config.sh script created by Configure.
Don't create $installsitearch and don't attempt to remove
$installvendorarch, the former is easy and the latter not needed.
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.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
the pkglint warning:
As {INSTALL,DEINSTALL}_TEMPLATE is modified using "+=", its name
should indicate plural.
This does make the variables a bit more suggestive of the fact that they
hold lists of values.
in declarations when compiling C++ code. Patch the perl.h and XSUB.h
headers to avoid using this attribute if using GCC<3.4 and building
C++ modules. This fixes PR pkg/33403 by OBATA Akio.
Bump PKGREVISION to 2.