aboutsummaryrefslogtreecommitdiff
path: root/lang/perl5.14/files
diff options
context:
space:
mode:
authorSergey Skvortsov <skv@FreeBSD.org>2009-01-13 21:38:50 +0000
committerSergey Skvortsov <skv@FreeBSD.org>2009-01-13 21:38:50 +0000
commit4ab5fefc98eaa00392de2ce4470acec599b7a6a2 (patch)
tree5bf114288fee3a5bd15c167bfe721b43460eca45 /lang/perl5.14/files
parentdb7510e1736eccb319ee572b971704d92afccb56 (diff)
downloadports-4ab5fefc98eaa00392de2ce4470acec599b7a6a2.tar.gz
ports-4ab5fefc98eaa00392de2ce4470acec599b7a6a2.zip
Update to 5.8.9
Also: - add option SITECUSTOMIZE which enable -Dusesitecustomize [1] - add patch against sv_dup() bug causes memory corruption in threaded perl [2] Changes: http://search.cpan.org/~nwclark/perl-5.8.9/pod/perl589delta.pod PR: 111120 [1], 130033 [2] Submitted by: "Ian A. Tegebo" <yontege xx dev-mug.rescomp.berkeley.edu> [1], kevin brintnall <kbrint xx rufus.net> [2]
Notes
Notes: svn path=/head/; revision=225991
Diffstat (limited to 'lang/perl5.14/files')
-rw-r--r--lang/perl5.14/files/patch-freebsd.sh39
-rw-r--r--lang/perl5.14/files/patch-makedepend10
-rw-r--r--lang/perl5.14/files/patch-perl.c48
-rw-r--r--lang/perl5.14/files/patch-sv.c21
-rw-r--r--lang/perl5.14/files/patch-utf-regcomp95
5 files changed, 58 insertions, 155 deletions
diff --git a/lang/perl5.14/files/patch-freebsd.sh b/lang/perl5.14/files/patch-freebsd.sh
index ca8fa5a82cfb..4587e5338e7f 100644
--- a/lang/perl5.14/files/patch-freebsd.sh
+++ b/lang/perl5.14/files/patch-freebsd.sh
@@ -1,6 +1,6 @@
---- hints/freebsd.sh.orig Wed Mar 24 22:47:33 2004
-+++ hints/freebsd.sh Mon Feb 19 20:53:50 2007
-@@ -88,6 +88,8 @@ case "$osvers" in
+--- hints/freebsd.sh
++++ hints/freebsd.sh
+@@ -88,6 +88,8 @@
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
libswanted=`echo $libswanted | sed 's/ bind / /'`
@@ -9,7 +9,7 @@
# iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
libswanted=`echo $libswanted | sed 's/ iconv / /'`
d_setregid='define'
-@@ -102,6 +104,10 @@ case "$osvers" in
+@@ -102,6 +104,10 @@
;;
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
@@ -20,31 +20,16 @@
;;
esac
-@@ -116,17 +122,17 @@ case "$osvers" in
-
- *)
- objformat=`/usr/bin/objformat`
-- if [ x$objformat = xelf ]; then
-- libpth="/usr/lib /usr/local/lib"
-- glibpth="/usr/lib /usr/local/lib"
+@@ -125,7 +131,7 @@
+ else
+ libpth="/usr/lib /usr/local/lib"
+ glibpth="/usr/lib /usr/local/lib"
- ldflags="-Wl,-E "
-- lddlflags="-shared "
-- else
-+ if [ x$objformat = xaout ]; then
- if [ -e /usr/lib/aout ]; then
- libpth="/usr/lib/aout /usr/local/lib /usr/lib"
- glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
- fi
- lddlflags='-Bshareable'
-+ else
-+ libpth="/usr/lib /usr/local/lib"
-+ glibpth="/usr/lib /usr/local/lib"
-+ ldflags="%%PTHREAD_LIBS%% -Wl,-E"
-+ lddlflags="-shared "
++ ldflags="%%PTHREAD_LIBS%% -Wl,-E "
+ lddlflags="-shared "
fi
cccdlflags='-DPIC -fPIC'
- ;;
-@@ -136,7 +142,7 @@ case "$osvers" in
+@@ -136,7 +142,7 @@
0*|1*|2*|3*) ;;
*)
@@ -53,7 +38,7 @@
if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
usenm=false
fi
-@@ -183,7 +189,9 @@ esac
+@@ -183,7 +189,9 @@
# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.
diff --git a/lang/perl5.14/files/patch-makedepend b/lang/perl5.14/files/patch-makedepend
deleted file mode 100644
index 4a79cc4ecbd3..000000000000
--- a/lang/perl5.14/files/patch-makedepend
+++ /dev/null
@@ -1,10 +0,0 @@
---- makedepend.SH.orig Wed May 2 22:37:13 2007
-+++ makedepend.SH Wed May 2 22:38:48 2007
-@@ -167,6 +167,7 @@
- -e '/^#.*<builtin>/d' \
- -e '/^#.*<built-in>/d' \
- -e '/^#.*<command line>/d' \
-+ -e '/^#.*<command-line>/d' \
- -e '/^#.*"-"/d' \
- -e '/: file path prefix .* never used$/d' \
- -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
diff --git a/lang/perl5.14/files/patch-perl.c b/lang/perl5.14/files/patch-perl.c
index 918c773b8ccb..e9cd514c8868 100644
--- a/lang/perl5.14/files/patch-perl.c
+++ b/lang/perl5.14/files/patch-perl.c
@@ -1,58 +1,60 @@
---- perl.c.orig Fri Apr 22 16:14:27 2005
-+++ perl.c Thu Dec 22 12:47:28 2005
-@@ -4397,6 +4397,27 @@ S_init_perllib(pTHX)
- incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
+--- perl.c
++++ perl.c
+@@ -4882,6 +4882,28 @@
+ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
#endif
+#ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
+ * DLL-based path intuition to work correctly */
+# if !defined(WIN32)
-+ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE);
++ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE, TRUE);
+# endif
+#endif
+
+#ifdef SITELIB_EXP
+# if defined(WIN32)
+ /* this picks up sitearch as well */
-+ incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
++ incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
+# else
-+ incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
++ incpush(SITELIB_EXP, FALSE, FALSE, TRUE, TRUE);
+# endif
+#endif
+
-+#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
-+ incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
++#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
++ /* Search for version-specific dirs below here */
++ incpush(SITELIB_STEM, FALSE, TRUE, TRUE, TRUE);
+#endif
+
#ifdef ARCHLIB_EXP
- incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
#endif
-@@ -4428,27 +4449,6 @@ S_init_perllib(pTHX)
- incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
- #else
- incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
--#endif
--
+@@ -4915,28 +4937,6 @@
+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
+ #endif
+
-#ifdef SITEARCH_EXP
- /* sitearch is always relative to sitelib on Windows for
- * DLL-based path intuition to work correctly */
-# if !defined(WIN32)
-- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE);
+- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE, TRUE);
-# endif
-#endif
-
-#ifdef SITELIB_EXP
-# if defined(WIN32)
- /* this picks up sitearch as well */
-- incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
+- incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
-# else
-- incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
+- incpush(SITELIB_EXP, FALSE, FALSE, TRUE, TRUE);
-# endif
-#endif
-
--#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
-- incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
- #endif
-
+-#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
+- /* Search for version-specific dirs below here */
+- incpush(SITELIB_STEM, FALSE, TRUE, TRUE, TRUE);
+-#endif
+-
#ifdef PERL_VENDORARCH_EXP
+ /* vendorarch is always relative to vendorlib on Windows for
+ * DLL-based path intuition to work correctly */
diff --git a/lang/perl5.14/files/patch-sv.c b/lang/perl5.14/files/patch-sv.c
new file mode 100644
index 000000000000..aeb160db81bd
--- /dev/null
+++ b/lang/perl5.14/files/patch-sv.c
@@ -0,0 +1,21 @@
+--- sv.c
++++ sv.c
+@@ -9813,7 +9813,8 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS* param)
+ IoBOTTOM_NAME(dstr) = SAVEPV(IoBOTTOM_NAME(dstr));
+ break;
+ case SVt_PVAV:
+- if (AvARRAY((AV*)sstr)) {
++ /* avoid cloning an empty array */
++ if (AvARRAY((AV*)sstr) && AvFILLp((AV*)sstr >= 0) {
+ SV **dst_ary, **src_ary;
+ SSize_t items = AvFILLp((AV*)sstr) + 1;
+
+@@ -9838,6 +9839,8 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS* param)
+ else {
+ SvPV_set(dstr, NULL);
+ AvALLOC((AV*)dstr) = (SV**)NULL;
++ AvMAX( (AV *)dstr) = -1;
++ AvFILLp((AV *)dstr) = -1;
+ }
+ AvARYLEN((AV*)dstr) = sv_dup_inc(AvARYLEN((AV*)sstr), param);
+ break;
diff --git a/lang/perl5.14/files/patch-utf-regcomp b/lang/perl5.14/files/patch-utf-regcomp
deleted file mode 100644
index 44c9a55de49a..000000000000
--- a/lang/perl5.14/files/patch-utf-regcomp
+++ /dev/null
@@ -1,95 +0,0 @@
---- regcomp.c.orig 2006-01-08 21:59:27.000000000 +0100
-+++ regcomp.c 2007-11-06 22:48:26.000000000 +0100
-@@ -135,7 +135,10 @@ typedef struct RExC_state_t {
- I32 extralen;
- I32 seen_zerolen;
- I32 seen_evals;
-- I32 utf8;
-+ I32 utf8; /* whether the pattern is utf8 or not */
-+ I32 orig_utf8; /* whether the pattern was originally in utf8 */
-+ /* XXX use this for future optimisation of case
-+ * where pattern must be upgraded to utf8. */
- #if ADD_TO_REGEXEC
- char *starttry; /* -Dr: where regtry was called. */
- #define RExC_starttry (pRExC_state->starttry)
-@@ -161,6 +164,7 @@ typedef struct RExC_state_t {
- #define RExC_seen_zerolen (pRExC_state->seen_zerolen)
- #define RExC_seen_evals (pRExC_state->seen_evals)
- #define RExC_utf8 (pRExC_state->utf8)
-+#define RExC_orig_utf8 (pRExC_state->orig_utf8)
-
- #define ISMULT1(c) ((c) == '*' || (c) == '+' || (c) == '?')
- #define ISMULT2(s) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
-@@ -1749,15 +1753,16 @@ Perl_pregcomp(pTHX_ char *exp, char *xen
- if (exp == NULL)
- FAIL("NULL regexp argument");
-
-- RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
-+ RExC_utf8 = RExC_orig_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
-
-- RExC_precomp = exp;
- DEBUG_r({
- if (!PL_colorset) reginitcolors();
- PerlIO_printf(Perl_debug_log, "%sCompiling REx%s `%s%*s%s'\n",
- PL_colors[4],PL_colors[5],PL_colors[0],
-- (int)(xend - exp), RExC_precomp, PL_colors[1]);
-+ (int)(xend - exp), exp, PL_colors[1]);
- });
-+redo_first_pass:
-+ RExC_precomp = exp;
- RExC_flags = pm->op_pmflags;
- RExC_sawback = 0;
-
-@@ -1783,6 +1788,25 @@ Perl_pregcomp(pTHX_ char *exp, char *xen
- RExC_precomp = Nullch;
- return(NULL);
- }
-+ if (RExC_utf8 && !RExC_orig_utf8) {
-+ /* It's possible to write a regexp in ascii that represents unicode
-+ codepoints outside of the byte range, such as via \x{100}. If we
-+ detect such a sequence we have to convert the entire pattern to utf8
-+ and then recompile, as our sizing calculation will have been based
-+ on 1 byte == 1 character, but we will need to use utf8 to encode
-+ at least some part of the pattern, and therefore must convert the whole
-+ thing.
-+ XXX: somehow figure out how to make this less expensive...
-+ -- dmq */
-+ STRLEN len = xend-exp;
-+ DEBUG_r(PerlIO_printf(Perl_debug_log,
-+ "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
-+ exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len);
-+ xend = exp + len;
-+ RExC_orig_utf8 = RExC_utf8;
-+ SAVEFREEPV(exp);
-+ goto redo_first_pass;
-+ }
- DEBUG_r(PerlIO_printf(Perl_debug_log, "size %"IVdf" ", (IV)RExC_size));
-
- /* Small enough for pointer-storage convention?
---- t/op/pat.t.orig 2006-01-07 13:53:32.000000000 +0100
-+++ t/op/pat.t 2007-11-06 21:52:30.000000000 +0100
-@@ -6,7 +6,7 @@
-
- $| = 1;
-
--print "1..1187\n";
-+print "1..1189\n";
-
- BEGIN {
- chdir 't' if -d 't';
-@@ -3395,5 +3395,14 @@ ok(("foba ba$s" =~ qr/(foo|BaSS|bar)/i)
- "# assigning to original string should not corrupt match vars");
- }
-
--# last test 1187
-+{
-+ use warnings;
-+ my @w;
-+ local $SIG{__WARN__}=sub{push @w,"@_"};
-+ my $c=qq(\x{DF});
-+ ok($c=~/${c}|\x{100}/, "ASCII pattern that really is utf8");
-+ ok(@w==0, "ASCII pattern that really is utf8");
-+}
-+
-+# last test 1189
-