From 8efb9f38845022900dabe0318ed0267212f3604f Mon Sep 17 00:00:00 2001 From: Mathieu Arnold Date: Sat, 30 Apr 2016 18:51:28 +0000 Subject: [PATCH] Update to 5.22.2. Sponsored by: Absolight --- lang/perl5.22/distinfo | 4 +- lang/perl5.22/files/patch-58eaa11 | 100 ------------------ lang/perl5.22/files/patch-Configure | 8 +- .../files/patch-t_porting_customized.dat | 4 +- lang/perl5.22/pkg-plist | 2 + lang/perl5.22/version.mk | 2 +- 6 files changed, 11 insertions(+), 109 deletions(-) delete mode 100644 lang/perl5.22/files/patch-58eaa11 diff --git a/lang/perl5.22/distinfo b/lang/perl5.22/distinfo index df8246cb2de4..c3b5431a9fcd 100644 --- a/lang/perl5.22/distinfo +++ b/lang/perl5.22/distinfo @@ -1,2 +1,2 @@ -SHA256 (perl/perl-5.22.1.tar.xz) = 9e87317d693ce828095204be0d09af8d60b8785533fadea1a82b6f0e071e5c79 -SIZE (perl/perl-5.22.1.tar.xz) = 11223940 +SHA256 (perl/perl-5.22.2.tar.xz) = b34dab1eabec056bec5a6682a57b55dab1bcf6afc60b098c9e2d99433dedc295 +SIZE (perl/perl-5.22.2.tar.xz) = 11224216 diff --git a/lang/perl5.22/files/patch-58eaa11 b/lang/perl5.22/files/patch-58eaa11 deleted file mode 100644 index 92d3a9480f45..000000000000 --- a/lang/perl5.22/files/patch-58eaa11 +++ /dev/null @@ -1,100 +0,0 @@ -commit 58eaa1131a38c16ee4a66d0bc36288cfde1a39bf -Author: Tony Cook -Date: 2016-01-27 11:52:15 +1100 - - remove duplicate environment variables from environ - - If we see duplicate environment variables while iterating over - environ[]: - - a) make sure we use the same value in %ENV that getenv() returns. - - Previously on a duplicate, %ENV would have the last entry for the name - from environ[], but a typical getenv() would return the first entry. - - Rather than assuming all getenv() implementations return the first entry - explicitly call getenv() to ensure they agree. - - b) remove duplicate entries from environ - - Previously if there was a duplicate definition for a name in environ[] - setting that name in %ENV could result in an unsafe value being passed - to a child process, so ensure environ[] has no duplicates. - -diff --git perl.c perl.c -index 16a6ca4..8ef7474 100644 ---- perl.c -+++ perl.c -@@ -4298,23 +4298,70 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env) - } - if (env) { - char *s, *old_var; -+ STRLEN nlen; - SV *sv; -+ HV *dups = newHV(); -+ - for (; *env; env++) { - old_var = *env; - - if (!(s = strchr(old_var,'=')) || s == old_var) - continue; -+ nlen = s - old_var; - - #if defined(MSDOS) && !defined(DJGPP) - *s = '\0'; - (void)strupr(old_var); - *s = '='; - #endif -- sv = newSVpv(s+1, 0); -- (void)hv_store(hv, old_var, s - old_var, sv, 0); -+ if (hv_exists(hv, old_var, nlen)) { -+ const char *name = savepvn(old_var, nlen); -+ -+ /* make sure we use the same value as getenv(), otherwise code that -+ uses getenv() (like setlocale()) might see a different value to %ENV -+ */ -+ sv = newSVpv(PerlEnv_getenv(name), 0); -+ -+ /* keep a count of the dups of this name so we can de-dup environ later */ -+ if (hv_exists(dups, name, nlen)) -+ ++SvIVX(*hv_fetch(dups, name, nlen, 0)); -+ else -+ (void)hv_store(dups, name, nlen, newSViv(1), 0); -+ -+ Safefree(name); -+ } -+ else { -+ sv = newSVpv(s+1, 0); -+ } -+ (void)hv_store(hv, old_var, nlen, sv, 0); - if (env_is_not_environ) - mg_set(sv); - } -+ if (HvKEYS(dups)) { -+ /* environ has some duplicate definitions, remove them */ -+ HE *entry; -+ hv_iterinit(dups); -+ while ((entry = hv_iternext_flags(dups, 0))) { -+ STRLEN nlen; -+ const char *name = HePV(entry, nlen); -+ IV count = SvIV(HeVAL(entry)); -+ IV i; -+ SV **valp = hv_fetch(hv, name, nlen, 0); -+ -+ assert(valp); -+ -+ /* try to remove any duplicate names, depending on the -+ * implementation used in my_setenv() the iteration might -+ * not be necessary, but let's be safe. -+ */ -+ for (i = 0; i < count; ++i) -+ my_setenv(name, 0); -+ -+ /* and set it back to the value we set $ENV{name} to */ -+ my_setenv(name, SvPV_nolen(*valp)); -+ } -+ } -+ SvREFCNT_dec_NN(dups); - } - #endif /* USE_ENVIRON_ARRAY */ - #endif /* !PERL_MICRO */ diff --git a/lang/perl5.22/files/patch-Configure b/lang/perl5.22/files/patch-Configure index 90a61877092d..f5141f57f9e6 100644 --- a/lang/perl5.22/files/patch-Configure +++ b/lang/perl5.22/files/patch-Configure @@ -1,6 +1,6 @@ ---- Configure.orig 2015-04-15 07:47:18 UTC +--- Configure.orig 2016-04-08 21:45:19 UTC +++ Configure -@@ -3833,7 +3833,10 @@ esac +@@ -3834,7 +3834,10 @@ esac . ./posthint.sh : who configured the system @@ -12,7 +12,7 @@ case "$cf_by" in "") cf_by=`(logname) 2>/dev/null` -@@ -5014,7 +5017,7 @@ esac +@@ -5015,7 +5018,7 @@ esac : Now check and see which directories actually exist, avoiding duplicates for xxx in $dlist do @@ -21,7 +21,7 @@ case " $libpth " in *" $xxx "*) ;; *) libpth="$libpth $xxx";; -@@ -9515,8 +9518,7 @@ prefixvar=siteman3dir +@@ -9564,8 +9567,7 @@ prefixvar=siteman3dir : determine where add-on public executable scripts go case "$sitescript" in diff --git a/lang/perl5.22/files/patch-t_porting_customized.dat b/lang/perl5.22/files/patch-t_porting_customized.dat index 6c2bfc08d337..8549162b3348 100644 --- a/lang/perl5.22/files/patch-t_porting_customized.dat +++ b/lang/perl5.22/files/patch-t_porting_customized.dat @@ -1,6 +1,6 @@ ---- t/porting/customized.dat.orig 2015-05-18 21:39:15 UTC +--- t/porting/customized.dat.orig 2015-10-31 13:36:16 UTC +++ t/porting/customized.dat -@@ -13,7 +13,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMa +@@ -14,7 +14,7 @@ ExtUtils::MakeMaker cpan/ExtUtils-MakeMa ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291 ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34 diff --git a/lang/perl5.22/pkg-plist b/lang/perl5.22/pkg-plist index a261fe2197de..242c8193a7ec 100644 --- a/lang/perl5.22/pkg-plist +++ b/lang/perl5.22/pkg-plist @@ -1448,6 +1448,7 @@ etc/man.d/perl%%PKGNAMESUFFIX%%.conf %%PRIV_LIB%%/pod/perl5203delta.pod %%PRIV_LIB%%/pod/perl5220delta.pod %%PRIV_LIB%%/pod/perl5221delta.pod +%%PRIV_LIB%%/pod/perl5222delta.pod %%PRIV_LIB%%/pod/perl561delta.pod %%PRIV_LIB%%/pod/perl56delta.pod %%PRIV_LIB%%/pod/perl581delta.pod @@ -2066,6 +2067,7 @@ etc/man.d/perl%%PKGNAMESUFFIX%%.conf %%MAN1%%/perl5203delta.1.gz %%MAN1%%/perl5220delta.1.gz %%MAN1%%/perl5221delta.1.gz +%%MAN1%%/perl5222delta.1.gz %%MAN1%%/perl561delta.1.gz %%MAN1%%/perl56delta.1.gz %%MAN1%%/perl581delta.1.gz diff --git a/lang/perl5.22/version.mk b/lang/perl5.22/version.mk index f2b9fe9864f3..c0153018ad1e 100644 --- a/lang/perl5.22/version.mk +++ b/lang/perl5.22/version.mk @@ -1,2 +1,2 @@ -PERL_VERSION= 5.22.1 +PERL_VERSION= 5.22.2 PERL5_DEPEND= perl5>=5.22<5.23