Hello Rosen and Philip! I created a draft pull-request as suggested by Rosen. I also added description in the patch, and made minor corrections. The macOS version check in hints/darwin.sh now matches perl-5.33.4, However the rest of the changes are not in the patch, since I am not sure If the rest of the code will work with them. Unfortunately my previous e-mail to Philip was not delivered. https://github.com/openwrt/packages/pull/14054
> On 2020-11-26, at 12:59 AM, Rosen Penev <[email protected]> wrote: > > On Tue, Nov 24, 2020 at 12:08 PM Georgi Valkov <[email protected]> wrote: >> >> Thank you, Philip! >> Here it is the patch: > Please post this on https://github.com/openwrt/packages/pulls . This > patch does not apply locally. >> >> >> From a5c62c0dd2b4dabf72571239f08266b348dad5a2 Mon Sep 17 00:00:00 2001 >> From: Georgi Valkov <[email protected]> >> Date: Tue, 24 Nov 2020 22:02:30 +0200 >> Subject: [PATCH] perl: switch to 5.30.0 >> >> perl: switch to 5.30.0 >> >> Signed-off-by: Georgi Valkov <[email protected]> >> --- >> feeds/packages/lang/perl/Makefile | 4 +- >> feeds/packages/lang/perl/files/base.config | 4 + >> feeds/packages/lang/perl/files/version.config | 6 +- >> .../patches/020-storables-stacksize.patch | 66 --- >> .../perl/patches/302-macos_11_support.patch | 6 +- >> .../lang/perl/patches/900-use-rm-force.patch | 285 ------------- >> .../patches/910-miniperl-needs-inc-dot.patch | 22 +- >> .../lang/perl/patches/920-fix-no-locale.patch | 383 ------------------ >> .../perl/patches/998-Errno_errno.h_path.patch | 11 - >> ...999-fix-build-failure-against-gcc-10.patch | 103 ----- >> feeds/packages/lang/perl/perlver.mk | 5 +- >> 11 files changed, 28 insertions(+), 867 deletions(-) >> delete mode 100644 >> feeds/packages/lang/perl/patches/020-storables-stacksize.patch >> delete mode 100644 feeds/packages/lang/perl/patches/900-use-rm-force.patch >> delete mode 100644 feeds/packages/lang/perl/patches/920-fix-no-locale.patch >> delete mode 100644 >> feeds/packages/lang/perl/patches/998-Errno_errno.h_path.patch >> delete mode 100644 >> feeds/packages/lang/perl/patches/999-fix-build-failure-against-gcc-10.patch >> >> diff --git a/feeds/packages/lang/perl/Makefile >> b/feeds/packages/lang/perl/Makefile >> index 84d256d..5e5ded2 100644 >> --- a/feeds/packages/lang/perl/Makefile >> +++ b/feeds/packages/lang/perl/Makefile >> @@ -11,7 +11,7 @@ include perlver.mk >> >> PKG_NAME:=perl >> PKG_VERSION:=$(PERL_VERSION) >> -PKG_RELEASE:=4 >> +PKG_RELEASE:=1 >> >> PKG_SOURCE_URL:=\ >> https://cpan.metacpan.org/src/5.0 \ >> @@ -21,7 +21,7 @@ PKG_SOURCE_URL:=\ >> https://mirrors.sonic.net/cpan/src/5.0 \ >> https://www.cpan.org/src/5.0 >> PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz >> -PKG_HASH:=fea7162d4cca940a387f0587b93f6737d884bf74d8a9d7cfd978bc12cd0b202d >> +PKG_HASH:=ac501cad4af904d33370a9ea39dbb7a8ad4cb19bc7bc8a9c17d8dc3e81ef6306 >> >> PKG_LICENSE:=GPL-1.0-or-later Artistic-1.0-Perl >> PKG_LICENSE_FILES:=Copying Artistic README >> diff --git a/feeds/packages/lang/perl/files/base.config >> b/feeds/packages/lang/perl/files/base.config >> index f2d18f5..5551588 100644 >> --- a/feeds/packages/lang/perl/files/base.config >> +++ b/feeds/packages/lang/perl/files/base.config >> @@ -436,6 +436,7 @@ d_sethostent_r='undef' >> d_setitimer='define' >> d_setlinebuf='define' >> d_setlocale='define' >> +d_setlocale_accepts_any_locale_name='undef' >> d_setlocale_r='undef' >> d_setnent='define' >> d_setnetent_r='undef' >> @@ -543,6 +544,8 @@ d_timegm='define' >> d_times='define' >> d_tm_tm_gmtoff='define' >> d_tm_tm_zone='define' >> +d_towlower='undef' >> +d_towupper='undef' >> d_trunc='define' >> d_truncate='define' >> d_truncl='define' >> @@ -737,6 +740,7 @@ i_varargs='undef' >> i_varhdr='stdarg.h' >> i_vfork='undef' >> i_wchar='define' >> +i_wctype='define' >> i_xlocale='undef' >> ignore_versioned_solibs='y' >> inc_version_list=' ' >> diff --git a/feeds/packages/lang/perl/files/version.config >> b/feeds/packages/lang/perl/files/version.config >> index b318648..b80127a 100644 >> --- a/feeds/packages/lang/perl/files/version.config >> +++ b/feeds/packages/lang/perl/files/version.config >> @@ -1,11 +1,11 @@ >> # Set the version here >> PERL_REVISION=5 >> -PERL_VERSION=28 >> -PERL_SUBVERSION=1 >> +PERL_VERSION=30 >> +PERL_SUBVERSION=0 >> >> # (api_revison, api_version, api_subversion) = (revision, version, 0) usually >> PERL_API_REVISION=5 >> -PERL_API_VERSION=28 >> +PERL_API_VERSION=30 >> PERL_API_SUBVERSION=0 >> >> known_extensions='B Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf >> Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob >> Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util >> MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX >> PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable >> Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize >> Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attrs re threads >> threads/shared Hash/Util/FieldHash' >> diff --git a/feeds/packages/lang/perl/patches/020-storables-stacksize.patch >> b/feeds/packages/lang/perl/patches/020-storables-stacksize.patch >> deleted file mode 100644 >> index 903d90b..0000000 >> --- a/feeds/packages/lang/perl/patches/020-storables-stacksize.patch >> +++ /dev/null >> @@ -1,66 +0,0 @@ >> -From 682a4acb98783a7f9b5c286b308f12863599fec3 Mon Sep 17 00:00:00 2001 >> -From: Tony Cook <[email protected]> >> -Date: Mon, 30 Jul 2018 21:00:52 +1000 >> -Subject: (perl #133411) don't try to load Storable with -Dusecrosscompile >> - >> ---- >> - dist/Storable/Makefile.PL | 9 ++++++++- >> - dist/Storable/stacksize | 10 +++++++--- >> - 2 files changed, 15 insertions(+), 4 deletions(-) >> - >> ---- a/dist/Storable/Makefile.PL >> -+++ b/dist/Storable/Makefile.PL >> -@@ -90,12 +90,19 @@ sub depend { >> - # blib.pm needs arch/lib >> - $extra_deps = ' Storable.pm'; >> - } >> -+ my $whichperl; >> -+ if ($Config::Config{usecrosscompile}) { >> -+ $whichperl = '$(PERLRUN)'; >> -+ } >> -+ else { >> -+ $whichperl = '$(FULLPERLRUNINST)'; >> -+ } >> - my $linktype = uc($_[0]->{LINKTYPE}); >> - my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm'); >> - " >> - $limit_pm : stacksize \$(INST_$linktype)$extra_deps >> - \$(MKPATH) \$(INST_LIB) >> -- \$(FULLPERLRUNINST) stacksize $options >> -+ $whichperl stacksize $options >> - >> - release : dist >> - git tag \$(VERSION) >> ---- a/dist/Storable/stacksize >> -+++ b/dist/Storable/stacksize >> -@@ -7,6 +7,9 @@ use Cwd; >> - use File::Spec; >> - use strict; >> - >> -+-d "lib" or mkdir "lib"; >> -+-d "lib/Storable" or mkdir "lib/Storable"; >> -+ >> - my $fn = "lib/Storable/Limit.pm"; >> - my $ptrsize = $Config{ptrsize}; >> - my ($bad1, $bad2) = (65001, 25000); >> -@@ -29,6 +32,10 @@ sub is_miniperl { >> - } >> - >> - if (is_miniperl()) { >> -+ if ($Config{usecrosscompile}) { >> -+ write_limits(500, 265); >> -+ exit; >> -+ } >> - die "Should not run during miniperl\n"; >> - } >> - my $prefix = ""; >> -@@ -68,9 +75,6 @@ if ($ENV{PERL_CORE}) { >> - } >> - } >> - >> ---d "lib" or mkdir "lib"; >> ---d "lib/Storable" or mkdir "lib/Storable"; >> -- >> - if ($^O eq "MSWin32") { >> - require Win32; >> - my ($str, $major, $minor) = Win32::GetOSVersion(); >> diff --git a/feeds/packages/lang/perl/patches/302-macos_11_support.patch >> b/feeds/packages/lang/perl/patches/302-macos_11_support.patch >> index 6b8e1b0..c069232 100644 >> --- a/feeds/packages/lang/perl/patches/302-macos_11_support.patch >> +++ b/feeds/packages/lang/perl/patches/302-macos_11_support.patch >> @@ -1,7 +1,7 @@ >> -Index: perl-5.28.1/hints/darwin.sh >> +Index: perl-5.30.0/hints/darwin.sh >> =================================================================== >> ---- perl-5.28.1.orig/hints/darwin.sh >> -+++ perl-5.28.1/hints/darwin.sh >> +--- perl-5.30.0.orig/hints/darwin.sh >> ++++ perl-5.30.0/hints/darwin.sh >> @@ -327,7 +327,7 @@ EOM >> # "ProductVersion: 10.11" "10.11" >> prodvers=`sw_vers|awk '/^ProductVersion:/{print $2}'|awk -F. >> '{print $1"."$2}'` >> diff --git a/feeds/packages/lang/perl/patches/900-use-rm-force.patch >> b/feeds/packages/lang/perl/patches/900-use-rm-force.patch >> deleted file mode 100644 >> index d219757..0000000 >> --- a/feeds/packages/lang/perl/patches/900-use-rm-force.patch >> +++ /dev/null >> @@ -1,285 +0,0 @@ >> ---- a/Makefile.SH >> -+++ b/Makefile.SH >> -@@ -275,6 +275,7 @@ LNS = $lns >> - # NOTE: some systems don't grok "cp -f". XXX Configure test needed? >> - CPS = $cp >> - RMS = rm -f >> -+RMS_R = rm -rf >> - ranlib = $ranlib >> - >> - # The following are mentioned only to make metaconfig include the >> -@@ -736,7 +737,7 @@ bitcount.h: generate_uudmap$(HOST_EXE_EX >> - ./generate_uudmap$(HOST_EXE_EXT) $(generated_headers) >> - >> - generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT) >> -- -@rm generate_uudmap$(HOST_EXE_EXT) >> -+ @$(RMS) generate_uudmap$(HOST_EXE_EXT) >> - $(LNS) $(HOST_GENERATE) generate_uudmap$(HOST_EXE_EXT) >> - >> - !NO!SUBS! >> -@@ -876,26 +877,26 @@ mydtrace.h: $(DTRACE_H) >> - define) >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> - $(DTRACE_MINI_O): perldtrace.d $(miniperl_objs_nodt) >> -- -rm -rf mpdtrace >> -+ $(RMS_R) mpdtrace >> - mkdir mpdtrace >> - cp $(miniperl_objs_nodt) mpdtrace/ >> - $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MINI_O) >> $(miniperl_dtrace_objs) >> - >> - $(DTRACE_PERLLIB_O): perldtrace.d $(perllib_objs_nodt) >> -- -rm -rf libpdtrace >> -+ $(RMS_R) libpdtrace >> - mkdir libpdtrace >> - cp $(perllib_objs_nodt) libpdtrace/ >> - $(DTRACE) -G -s perldtrace.d -o $(DTRACE_PERLLIB_O) >> $(perllib_dtrace_objs) >> - >> - $(DTRACE_MAIN_O): perldtrace.d perlmain$(OBJ_EXT) >> -- -rm -rf maindtrace >> -+ $(RMS_R) maindtrace >> - mkdir maindtrace >> - cp perlmain$(OBJ_EXT) maindtrace/ >> - $(DTRACE) -G -s perldtrace.d -o $(DTRACE_MAIN_O) >> $(perlmain_dtrace_objs) || \ >> - ( $(ECHO) "No probes in perlmain$(OBJ_EXT), generating a dummy >> $(DTRACE_MAIN_O)" && \ >> - $(ECHO) >dtrace_main.c && >> \ >> - `$(CCCMD)` $(PLDLFLAGS) dtrace_main.c && >> \ >> -- rm -f dtrace_main.c ) >> -+ $(RMS) dtrace_main.c ) >> - >> - !NO!SUBS! >> - ;; >> -@@ -906,13 +907,13 @@ $(LIBPERL): $& $(perllib_dep) $(DYNALOAD >> - case "$useshrplib" in >> - true) >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> -- rm -f $@ >> -+ $(RMS) $@ >> - $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) >> - !NO!SUBS! >> - case "$osname" in >> - aix) >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> -- rm -f libperl$(OBJ_EXT) >> -+ $(RMS) libperl$(OBJ_EXT) >> - mv $@ libperl$(OBJ_EXT) >> - $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) >> - !NO!SUBS! >> -@@ -921,7 +922,7 @@ $(LIBPERL): $& $(perllib_dep) $(DYNALOAD >> - ;; >> - *) >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> -- rm -f $(LIBPERL) >> -+ $(RMS) $(LIBPERL) >> - $(AR) rc $(LIBPERL) $(perllib_objs) $(DYNALOADER) >> - @$(ranlib) $(LIBPERL) >> - !NO!SUBS! >> -@@ -954,7 +955,7 @@ $(MINIPERL_EXE): lib/buildcustomize.pl >> - amigaos*) >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> - lib/buildcustomize.pl: $& $(miniperl_objs) write_buildcustomize.pl >> -- -@rm -f miniperl.xok >> -+ @$(RMS) miniperl.xok >> - $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \ >> - $(miniperl_objs) $(libs) >> - # $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> -@@ -992,7 +993,7 @@ NAMESPACEFLAGS = -force_flat_namespace >> - esac >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> - lib/buildcustomize.pl: $& $(miniperl_objs) write_buildcustomize.pl >> -- -@rm -f miniperl.xok >> -+ @$(RMS) miniperl.xok >> - $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ >> - $(miniperl_objs) $(libs) >> - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> -@@ -1003,8 +1004,8 @@ lib/buildcustomize.pl: $& $(miniperl_obj >> - if test "X$hostperl" != X; then >> - $spitshell >>$Makefile <<!GROK!THIS! >> - lib/buildcustomize.pl: \$& \$(miniperl_dep) write_buildcustomize.pl >> -- -@rm -f miniperl.xok >> -- -@rm \$(MINIPERL_EXE) >> -+ @\$(RMS) miniperl.xok >> -+ @\$(RMS) \$(MINIPERL_EXE) >> - \$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE) >> - \$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> - \$(MINIPERL) -f write_buildcustomize.pl 'osname' "$osname" >> -@@ -1012,7 +1013,7 @@ lib/buildcustomize.pl: \$& \$(miniperl_d >> - else >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> - lib/buildcustomize.pl: $& $(miniperl_dep) write_buildcustomize.pl >> -- -@rm -f miniperl.xok >> -+ @$(RMS) miniperl.xok >> - $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \ >> - $(miniperl_objs) $(libs) >> - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> -@@ -1025,7 +1026,7 @@ lib/buildcustomize.pl: $& $(miniperl_dep >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> - >> - $(PERL_EXE): $& $(perlmain_dep) $(LIBPERL) $(static_ext) ext.libs >> $(PERLEXPORT) write_buildcustomize.pl >> -- -@rm -f miniperl.xok >> -+ @$(RMS) miniperl.xok >> - !NO!SUBS! >> - >> - case $osname in >> -@@ -1119,8 +1120,8 @@ pod/perl5281delta.pod: pod/perldelta.pod >> - $(LNS) perldelta.pod pod/perl5281delta.pod >> - >> - extra.pods: $(MINIPERL_EXE) >> -- -@test ! -f extra.pods || rm -f `cat extra.pods` >> -- -@rm -f extra.pods >> -+ -@test ! -f extra.pods || $(RMS) `cat extra.pods` >> -+ @$(RMS) extra.pods >> - -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \ >> - nx=`echo $$x | sed -e "s/README\.//"`; \ >> - $(LNS) ../$$x "pod/perl"$$nx".pod" ; \ >> -@@ -1340,11 +1341,11 @@ realclean: _realcleaner _mopup >> - @echo "Note that '$(MAKE) realclean' does not delete config.sh or >> Policy.sh" >> - >> - _clobber: >> -- -@rm -f Cross/run-* Cross/to-* Cross/from-* Cross/mkdir >> -- -rm -rf host >> -- rm -f t/test_state >> -- rm -f config.sh cppstdin Policy.sh extras.lst >> -- rm -f $(MANIFEST_SRT) >> -+ @$(RMS) Cross/run-* Cross/to-* Cross/from-* Cross/mkdir >> -+ $(RMS_R) host >> -+ $(RMS) t/test_state >> -+ $(RMS) config.sh cppstdin Policy.sh extras.lst >> -+ $(RMS) $(MANIFEST_SRT) >> - >> - clobber: _realcleaner _mopup _clobber >> - >> -@@ -1352,23 +1353,23 @@ distclean: clobber >> - >> - # Like distclean but also removes emacs backups and *.orig. >> - veryclean: _verycleaner _mopup _clobber >> -- -@rm -f Obsolete Wanted >> -+ $(RMS) Obsolete Wanted >> - >> - # Do not 'make _mopup' directly. >> - _mopup: >> -- rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c opmini.c perlmini.c >> generate_uudmap$(EXE_EXT) $(generated_headers) >> -+ $(RMS) *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c opmini.c perlmini.c >> generate_uudmap$(EXE_EXT) $(generated_headers) >> - -rmdir .depending >> -- -@test -f extra.pods && rm -f `cat extra.pods` >> -- -@test -f vms/README_vms.pod && rm -f vms/README_vms.pod >> -- -rm -f perl.exp ext.libs $(generated_pods) uni.data opmini.o >> perlmini.o pod/roffitall >> -- -rm -f perl.export perl.dll perl.libexp perl.map perl.def >> -- -rm -f *perl.xok >> -- -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll >> *.exe.stackdump >> -- -rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl >> -- -rm -f config.arch config.over $(DTRACE_H) >> -+ -@test -f extra.pods && $(RMS) `cat extra.pods` >> -+ -@test -f vms/README_vms.pod && $(RMS) vms/README_vms.pod >> -+ $(RMS) perl.exp ext.libs $(generated_pods) uni.data opmini.o >> perlmini.o pod/roffitall >> -+ $(RMS) perl.export perl.dll perl.libexp perl.map perl.def >> -+ $(RMS) *perl.xok >> -+ $(RMS) cygwin.c libperl*.def libperl*.dll cygperl*.dll >> *.exe.stackdump >> -+ $(RMS) $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl >> -+ $(RMS) config.arch config.over $(DTRACE_H) >> - >> - _cleaner1: >> -- -cd os2; rm -f Makefile >> -+ -cd os2; $(RMS) Makefile >> - -cd pod; $(LDLIBPTH) $(MAKE) $(CLEAN) >> - -cd utils; $(LDLIBPTH) $(MAKE) $(CLEAN) >> - -@if test -f $(MINIPERL_EXE) ; then \ >> -@@ -1378,31 +1379,31 @@ _cleaner1: >> - else \ >> - sh $(CLEAN).sh ; \ >> - fi >> -- rm -f realclean.sh veryclean.sh >> -- -rm -f `grep -v ^# mkppport.lst | grep . | sed -e 's/$$/\/ppport.h/'` >> -+ $(RMS) realclean.sh veryclean.sh >> -+ $(RMS) `grep -v ^# mkppport.lst | grep . | sed -e 's/$$/\/ppport.h/'` >> - >> - # Dear POSIX, thanks for making the default to xargs to be >> - # run once if nothhing is passed in. It is such a great help. >> - >> - # Some systems do not support "?", so keep these files separate. >> - _cleaner2: >> -- -rm -f core.*perl.*.? t/core.perl.*.? .?*.c >> -- rm -f core *perl.core t/core t/*perl.core core.* t/core.* >> -- rm -f t/$(PERL_EXE) t/rantests >> -- rm -rf t/tmp* >> -- rm -rf $(addedbyconf) >> -- rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old >> utils/Makefile >> -- rm -f $(private) >> -- rm -rf $(unidatafiles) $(unidatadirs) >> -- rm -rf lib/auto >> -- rm -f lib/.exists lib/*/.exists lib/*/*/.exists >> -- rm -f h2ph.man >> -- rm -rf .config >> -- rm -f preload >> -- rm -f pod2htmd.tmp >> -- rm -rf pod/perlfunc pod/perlipc >> -+ $(RMS) core.*perl.*.? t/core.perl.*.? .?*.c >> -+ $(RMS) core *perl.core t/core t/*perl.core core.* t/core.* >> -+ $(RMS) t/$(PERL_EXE) t/rantests >> -+ $(RMS_R) t/tmp* >> -+ $(RMS_R) $(addedbyconf) >> -+ $(RMS) $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old >> utils/Makefile >> -+ $(RMS) $(private) >> -+ $(RMS_R) $(unidatafiles) $(unidatadirs) >> -+ $(RMS_R) lib/auto >> -+ $(RMS) lib/.exists lib/*/.exists lib/*/*/.exists >> -+ $(RMS) h2ph.man >> -+ $(RMS_R) .config >> -+ $(RMS) preload >> -+ $(RMS) pod2htmd.tmp >> -+ $(RMS_R) pod/perlfunc pod/perlipc >> - -rmdir ext/B/lib >> -- rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR) >> -+ $(RMS) so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR) >> - -rmdir lib/version lib/threads lib/inc/ExtUtils lib/inc lib/encoding >> - -rmdir lib/autodie/exception lib/autodie/Scope lib/autodie lib/XS >> - -rmdir lib/Win32API lib/VMS lib/Unicode/Collate/Locale >> -@@ -1452,11 +1453,11 @@ _realcleaner: >> - _verycleaner: >> - @$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=veryclean >> - @$(LDLIBPTH) $(MAKE) _cleaner2 >> -- -rm -f *~ *.orig */*~ */*.orig */*/*~ */*/*.orig >> -+ $(RMS) *~ *.orig */*~ */*.orig */*/*~ */*/*.orig >> - >> - .PHONY: lint >> - lint: $(c) >> -- rm -f *.ln >> -+ $(RMS) *.ln >> - lint $(lintflags) -DPERL_CORE -D_REENTRANT -DDEBUGGING >> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(c) >> - >> - cscopeflags = -Rb # Recursive, build-only. >> -@@ -1514,7 +1515,7 @@ case "$targethost" in >> - '') $spitshell >>$Makefile <<'!NO!SUBS!' >> - test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) >> $(PERL_EXE) \ >> - $(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods) >> common_build >> -- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) >> -+ cd t && ($(RMS) $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) >> - >> - !NO!SUBS! >> - ;; >> -@@ -1564,7 +1565,7 @@ test_prep test-prep: test_prep_pre \$(MI >> - $to config.sh >> - # --- For lib/diagnostics.t with -Duseshrplib >> - $to \$(PERL_EXE) >> -- cd t && (rm -f \$(PERL_EXE); \$(LNS) ../\$(PERL_EXE) \$(PERL_EXE)) >> && cd .. >> -+ cd t && (\$(RMS) \$(PERL_EXE); \$(LNS) ../\$(PERL_EXE) \$(PERL_EXE)) >> && cd .. >> - $to t/\$(PERL_EXE) >> - >> - !GROK!THIS! >> -@@ -1574,7 +1575,7 @@ esac >> - $spitshell >>$Makefile <<'!NO!SUBS!' >> - test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) >> $(TEST_PERL_DLL) >> - $(MINIPERL) make_ext.pl $(dynamic_ext_re) MAKE="$(MAKE)" >> LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic >> -- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) >> -+ cd t && ($(RMS) $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE)) >> - !NO!SUBS! >> - >> - case "$targethost" in >> -@@ -1629,7 +1630,7 @@ minitest_prep: >> - @echo "You may see some irrelevant test failures if you have been >> unable" >> - @echo "to build lib/Config.pm, or the Unicode data files." >> - @echo " " >> -- - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) >> -+ - cd t && ($(RMS) $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) >> - >> - MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t >> opbasic/*.t op/*.t uni/*.t perf/*.t >> - >> diff --git >> a/feeds/packages/lang/perl/patches/910-miniperl-needs-inc-dot.patch >> b/feeds/packages/lang/perl/patches/910-miniperl-needs-inc-dot.patch >> index 347f6f2..ce32516 100644 >> --- a/feeds/packages/lang/perl/patches/910-miniperl-needs-inc-dot.patch >> +++ b/feeds/packages/lang/perl/patches/910-miniperl-needs-inc-dot.patch >> @@ -1,6 +1,8 @@ >> ---- a/Makefile.SH >> -+++ b/Makefile.SH >> -@@ -333,7 +333,7 @@ PATH_SEP = $p_ >> +Index: perl-5.32.0/Makefile.SH >> +=================================================================== >> +--- perl-5.32.0.orig/Makefile.SH >> ++++ perl-5.32.0/Makefile.SH >> +@@ -338,7 +338,7 @@ PATH_SEP = $p_ >> # Macros to invoke a copy of miniperl during the build. Targets which >> # are built using these macros should depend on \$(MINIPERL_EXE) >> MINIPERL_EXE = miniperl\$(EXE_EXT) >> @@ -9,8 +11,8 @@ >> >> # Macros to invoke sort the MANIFEST during build >> MANIFEST_SRT = MANIFEST.srt >> -@@ -996,7 +996,7 @@ lib/buildcustomize.pl: $& $(miniperl_obj >> - @$(RMS) miniperl.xok >> +@@ -1009,7 +1009,7 @@ lib/buildcustomize.pl: $& $(miniperl_obj >> + -@rm -f miniperl.xok >> $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ >> $(miniperl_objs) $(libs) >> - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> @@ -18,17 +20,17 @@ >> $(MINIPERL) -f write_buildcustomize.pl >> !NO!SUBS! >> ;; >> -@@ -1007,7 +1007,7 @@ lib/buildcustomize.pl: \$& \$(miniperl_d >> - @\$(RMS) miniperl.xok >> - @\$(RMS) \$(MINIPERL_EXE) >> +@@ -1020,7 +1020,7 @@ lib/buildcustomize.pl: \$& \$(miniperl_d >> + -@rm -f miniperl.xok >> + -@rm \$(MINIPERL_EXE) >> \$(LNS) \$(HOST_PERL) \$(MINIPERL_EXE) >> - \$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> + \$(LDLIBPTH) ./miniperl\$(HOST_EXE_EXT) -w -Ilib -I. >> -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build >> miniperl. Please run make minitest; exit 1' >> \$(MINIPERL) -f write_buildcustomize.pl 'osname' "$osname" >> !GROK!THIS! >> else >> -@@ -1016,7 +1016,7 @@ lib/buildcustomize.pl: $& $(miniperl_dep >> - @$(RMS) miniperl.xok >> +@@ -1029,7 +1029,7 @@ lib/buildcustomize.pl: $& $(miniperl_dep >> + -@rm -f miniperl.xok >> $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \ >> $(miniperl_objs) $(libs) >> - $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib >> -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run >> make minitest; exit 1' >> diff --git a/feeds/packages/lang/perl/patches/920-fix-no-locale.patch >> b/feeds/packages/lang/perl/patches/920-fix-no-locale.patch >> deleted file mode 100644 >> index 25ff285..0000000 >> --- a/feeds/packages/lang/perl/patches/920-fix-no-locale.patch >> +++ /dev/null >> @@ -1,383 +0,0 @@ >> -commit d36adde059ed1c4f7af210b4f9fc3a7bd2d7d343 >> -Author: Karl Williamson <[email protected]> >> -Date: Wed May 23 15:32:47 2018 -0600 >> - >> - Fix to compile under -DNO_LOCALE >> - >> - Several problems with this compile option were not caught before 5.28 >> - was frozen. >> - >> ---- a/embed.fnc >> -+++ b/embed.fnc >> -@@ -2793,9 +2793,11 @@ s |bool |isa_lookup |NN HV *stash|NN con >> - #endif >> - >> - #if defined(PERL_IN_LOCALE_C) >> -+# ifdef USE_LOCALE >> - sn |const char*|category_name |const int category >> - s |const char*|switch_category_locale_to_template|const int >> switch_category|const int template_category|NULLOK const char * >> template_locale >> - s |void |restore_switched_locale|const int category|NULLOK const >> char * const original_locale >> -+# endif >> - # ifdef HAS_NL_LANGINFO >> - sn |const char*|my_nl_langinfo|const nl_item item|bool toggle >> - # else >> ---- a/embed.h >> -+++ b/embed.h >> -@@ -1796,16 +1796,16 @@ >> - #define unshare_hek_or_pvn(a,b,c,d) S_unshare_hek_or_pvn(aTHX_ a,b,c,d) >> - # endif >> - # if defined(PERL_IN_LOCALE_C) >> --#define category_name S_category_name >> --#define restore_switched_locale(a,b) S_restore_switched_locale(aTHX_ a,b) >> - #define save_to_buffer S_save_to_buffer >> --#define switch_category_locale_to_template(a,b,c) >> S_switch_category_locale_to_template(aTHX_ a,b,c) >> - # if defined(USE_LOCALE) >> -+#define category_name S_category_name >> - #define new_collate(a) S_new_collate(aTHX_ a) >> - #define new_ctype(a) S_new_ctype(aTHX_ a) >> - #define new_numeric(a) S_new_numeric(aTHX_ a) >> -+#define restore_switched_locale(a,b) S_restore_switched_locale(aTHX_ a,b) >> - #define set_numeric_radix(a) S_set_numeric_radix(aTHX_ a) >> - #define stdize_locale(a) S_stdize_locale(aTHX_ a) >> -+#define switch_category_locale_to_template(a,b,c) >> S_switch_category_locale_to_template(aTHX_ a,b,c) >> - # if defined(USE_POSIX_2008_LOCALE) >> - #define emulate_setlocale S_emulate_setlocale >> - # endif >> ---- a/locale.c >> -+++ b/locale.c >> -@@ -1264,6 +1264,7 @@ S_locking_setlocale(pTHX_ >> - } >> - >> - #endif >> -+#ifdef USE_LOCALE >> - >> - STATIC void >> - S_set_numeric_radix(pTHX_ const bool use_locale) >> -@@ -1299,6 +1300,10 @@ S_set_numeric_radix(pTHX_ const bool use >> - } >> - >> - # endif >> -+#else >> -+ >> -+ PERL_UNUSED_ARG(use_locale); >> -+ >> - #endif /* USE_LOCALE_NUMERIC and can find the radix char */ >> - >> - } >> -@@ -1481,7 +1486,6 @@ S_new_ctype(pTHX_ const char *newctype) >> - >> - #ifndef USE_LOCALE_CTYPE >> - >> -- PERL_ARGS_ASSERT_NEW_CTYPE; >> - PERL_UNUSED_ARG(newctype); >> - PERL_UNUSED_CONTEXT; >> - >> -@@ -1994,6 +1998,8 @@ S_new_collate(pTHX_ const char *newcoll) >> - >> - } >> - >> -+#endif >> -+ >> - #ifdef WIN32 >> - >> - STATIC char * >> -@@ -2139,11 +2145,20 @@ Perl_setlocale(const int category, const >> - { >> - /* This wraps POSIX::setlocale() */ >> - >> -+#ifdef NO_LOCALE >> -+ >> -+ PERL_UNUSED_ARG(category); >> -+ PERL_UNUSED_ARG(locale); >> -+ >> -+ return "C"; >> -+ >> -+#else >> -+ >> - const char * retval; >> - const char * newlocale; >> - dSAVEDERRNO; >> -- DECLARATION_FOR_LC_NUMERIC_MANIPULATION; >> - dTHX; >> -+ DECLARATION_FOR_LC_NUMERIC_MANIPULATION; >> - >> - #ifdef USE_LOCALE_NUMERIC >> - >> -@@ -2262,6 +2277,8 @@ Perl_setlocale(const int category, const >> - >> - return retval; >> - >> -+#endif >> -+ >> - } >> - >> - PERL_STATIC_INLINE const char * >> -@@ -2414,13 +2431,16 @@ S_my_nl_langinfo(const int item, bool to >> - dTHX; >> - const char * retval; >> - >> -+#ifdef USE_LOCALE_NUMERIC >> -+ >> - /* We only need to toggle into the underlying LC_NUMERIC locale for >> these >> - * two items, and only if not already there */ >> - if (toggle && (( item != RADIXCHAR && item != THOUSEP) >> - || PL_numeric_underlying)) >> -- { >> -+ >> -+#endif /* No toggling needed if not using LC_NUMERIC */ >> -+ >> - toggle = FALSE; >> -- } >> - >> - #if defined(HAS_NL_LANGINFO) /* nl_langinfo() is available. */ >> - # if ! defined(HAS_THREAD_SAFE_NL_LANGINFO_L) \ >> -@@ -2468,6 +2488,8 @@ S_my_nl_langinfo(const int item, bool to >> - do_free = TRUE; >> - } >> - >> -+# ifdef USE_LOCALE_NUMERIC >> -+ >> - if (toggle) { >> - if (PL_underlying_numeric_obj) { >> - cur = PL_underlying_numeric_obj; >> -@@ -2478,6 +2500,8 @@ S_my_nl_langinfo(const int item, bool to >> - } >> - } >> - >> -+# endif >> -+ >> - /* We have to save it to a buffer, because the freelocale() just >> below >> - * can invalidate the internal one */ >> - retval = save_to_buffer(nl_langinfo_l(item, cur), >> -@@ -5169,9 +5193,7 @@ Perl_my_strerror(pTHX_ const int errnum) >> - LOCALE_UNLOCK; >> - >> - # endif /* End of doesn't have strerror_l */ >> --#endif /* End of does have locale messages */ >> -- >> --#ifdef DEBUGGING >> -+# ifdef DEBUGGING >> - >> - if (DEBUG_Lv_TEST) { >> - PerlIO_printf(Perl_debug_log, "Strerror returned; saving a copy: >> '"); >> -@@ -5179,7 +5201,8 @@ Perl_my_strerror(pTHX_ const int errnum) >> - PerlIO_printf(Perl_debug_log, "'\n"); >> - } >> - >> --#endif >> -+# endif >> -+#endif /* End of does have locale messages */ >> - >> - SAVEFREEPV(errstr); >> - return errstr; >> -@@ -5301,10 +5324,17 @@ L<C<Perl_switch_to_global_locale>|perlap >> - bool >> - Perl_sync_locale() >> - { >> -+ >> -+#ifndef USE_LOCALE >> -+ >> -+ return TRUE; >> -+ >> -+#else >> -+ >> - const char * newlocale; >> - dTHX; >> - >> --#ifdef USE_POSIX_2008_LOCALE >> -+# ifdef USE_POSIX_2008_LOCALE >> - >> - bool was_in_global_locale = FALSE; >> - locale_t cur_obj = uselocale((locale_t) 0); >> -@@ -5316,11 +5346,11 @@ Perl_sync_locale() >> - * will affect the */ >> - if (cur_obj == LC_GLOBAL_LOCALE) { >> - >> --# ifdef HAS_QUERY_LOCALE >> -+# ifdef HAS_QUERY_LOCALE >> - >> - do_setlocale_c(LC_ALL, setlocale(LC_ALL, NULL)); >> - >> --# else >> -+# else >> - >> - unsigned int i; >> - >> -@@ -5330,17 +5360,17 @@ Perl_sync_locale() >> - do_setlocale_r(categories[i], setlocale(categories[i], NULL)); >> - } >> - >> --# endif >> -+# endif >> - >> - was_in_global_locale = TRUE; >> - } >> - >> --#else >> -+# else >> - >> - bool was_in_global_locale = TRUE; >> - >> --#endif >> --#ifdef USE_LOCALE_CTYPE >> -+# endif >> -+# ifdef USE_LOCALE_CTYPE >> - >> - newlocale = savepv(do_setlocale_c(LC_CTYPE, NULL)); >> - DEBUG_Lv(PerlIO_printf(Perl_debug_log, >> -@@ -5349,8 +5379,8 @@ Perl_sync_locale() >> - new_ctype(newlocale); >> - Safefree(newlocale); >> - >> --#endif /* USE_LOCALE_CTYPE */ >> --#ifdef USE_LOCALE_COLLATE >> -+# endif /* USE_LOCALE_CTYPE */ >> -+# ifdef USE_LOCALE_COLLATE >> - >> - newlocale = savepv(do_setlocale_c(LC_COLLATE, NULL)); >> - DEBUG_Lv(PerlIO_printf(Perl_debug_log, >> -@@ -5359,8 +5389,8 @@ Perl_sync_locale() >> - new_collate(newlocale); >> - Safefree(newlocale); >> - >> --#endif >> --#ifdef USE_LOCALE_NUMERIC >> -+# endif >> -+# ifdef USE_LOCALE_NUMERIC >> - >> - newlocale = savepv(do_setlocale_c(LC_NUMERIC, NULL)); >> - DEBUG_Lv(PerlIO_printf(Perl_debug_log, >> -@@ -5369,9 +5399,12 @@ Perl_sync_locale() >> - new_numeric(newlocale); >> - Safefree(newlocale); >> - >> --#endif /* USE_LOCALE_NUMERIC */ >> -+# endif /* USE_LOCALE_NUMERIC */ >> - >> - return was_in_global_locale; >> -+ >> -+#endif >> -+ >> - } >> - >> - #if defined(DEBUGGING) && defined(USE_LOCALE) >> ---- a/makedef.pl >> -+++ b/makedef.pl >> -@@ -574,6 +574,9 @@ unless ($define{USE_LOCALE_COLLATE}) { >> - PL_collxfrm_mult >> - Perl_sv_collxfrm >> - Perl_sv_collxfrm_flags >> -+ PL_strxfrm_NUL_replacement >> -+ PL_strxfrm_is_behaved >> -+ PL_strxfrm_max_cp >> - ); >> - } >> - >> -@@ -583,6 +586,9 @@ unless ($define{USE_LOCALE_NUMERIC}) { >> - PL_numeric_name >> - PL_numeric_radix_sv >> - PL_numeric_standard >> -+ PL_numeric_underlying >> -+ PL_numeric_underlying_is_standard >> -+ PL_underlying_numeric_obj >> - ); >> - } >> - >> ---- a/perl.h >> -+++ b/perl.h >> -@@ -5656,6 +5656,9 @@ typedef struct am_table_short AMTS; >> - # define IN_LC_COMPILETIME(category) 0 >> - # define IN_LC_RUNTIME(category) 0 >> - # define IN_LC(category) 0 >> -+# define _CHECK_AND_WARN_PROBLEMATIC_LOCALE >> -+# define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(s, send) >> -+# define _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c) >> - #endif >> - >> - >> ---- a/proto.h >> -+++ b/proto.h >> -@@ -4886,8 +4886,6 @@ PERL_CALLCONV SV* Perl_hfree_next_entry( >> - assert(hv); assert(indexp) >> - #endif >> - #if defined(PERL_IN_LOCALE_C) >> --STATIC const char* S_category_name(const int category); >> --STATIC void S_restore_switched_locale(pTHX_ const int category, const >> char * const original_locale); >> - #ifndef PERL_NO_INLINE_FUNCTIONS >> - PERL_STATIC_INLINE const char * S_save_to_buffer(const char * >> string, char **buf, Size_t *buf_size, const Size_t offset) >> - __attribute__warn_unused_result__; >> -@@ -4895,17 +4893,19 @@ PERL_STATIC_INLINE const char * S_save_t >> - assert(buf_size) >> - #endif >> - >> --STATIC const char* S_switch_category_locale_to_template(pTHX_ const int >> switch_category, const int template_category, const char * template_locale); >> - # if defined(USE_LOCALE) >> -+STATIC const char* S_category_name(const int category); >> - STATIC void S_new_collate(pTHX_ const char* newcoll); >> - STATIC void S_new_ctype(pTHX_ const char* newctype); >> - #define PERL_ARGS_ASSERT_NEW_CTYPE \ >> - assert(newctype) >> - STATIC void S_new_numeric(pTHX_ const char* newnum); >> -+STATIC void S_restore_switched_locale(pTHX_ const int category, const >> char * const original_locale); >> - STATIC void S_set_numeric_radix(pTHX_ const bool use_locale); >> - STATIC char* S_stdize_locale(pTHX_ char* locs); >> - #define PERL_ARGS_ASSERT_STDIZE_LOCALE \ >> - assert(locs) >> -+STATIC const char* S_switch_category_locale_to_template(pTHX_ const int >> switch_category, const int template_category, const char * template_locale); >> - # if defined(USE_POSIX_2008_LOCALE) >> - STATIC const char* S_emulate_setlocale(const int category, const char* >> locale, unsigned int index, const bool is_index_valid); >> - # endif >> ---- a/sv.c >> -+++ b/sv.c >> -@@ -13330,10 +13330,15 @@ Perl_sv_vcatpvfn_flags(pTHX_ SV *const s >> - >> - SvTAINT(sv); >> - >> -+#ifdef USE_LOCALE_NUMERIC >> -+ >> - if (lc_numeric_set) { >> - RESTORE_LC_NUMERIC(); /* Done outside loop, so don't have to >> - save/restore each iteration. */ >> - } >> -+ >> -+#endif >> -+ >> - } >> - >> - /* >> ========================================================================= >> ---- a/t/lib/warnings/regexec >> -+++ b/t/lib/warnings/regexec >> -@@ -215,6 +215,10 @@ Use of \b{} or \B{} for non-UTF-8 locale >> - Use of \b{} or \B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 >> locale at - line 17. >> - ######## >> - # NAME (?[ ]) in non-UTF-8 locale >> -+require '../loc_tools.pl'; >> -+unless (locales_enabled()) { >> -+ print("SKIPPED\n# locales not available\n"),exit; >> -+} >> - eval { require POSIX; POSIX->import("locale_h") }; >> - if ($@) { >> - print("SKIPPED\n# no POSIX\n"),exit; >> -@@ -229,14 +233,14 @@ setlocale(&POSIX::LC_CTYPE, "C"); >> - ":" =~ /(?[ \: ])/; >> - no warnings 'locale'; >> - EXPECT >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 9. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 9. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 10. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 10. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 11. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 11. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 12. >> --Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 12. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 13. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 13. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 14. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 14. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 15. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 15. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 16. >> -+Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale at - >> line 16. >> - ######## >> - # NAME (?[ ]) in UTF-8 locale >> - require '../loc_tools.pl'; >> diff --git a/feeds/packages/lang/perl/patches/998-Errno_errno.h_path.patch >> b/feeds/packages/lang/perl/patches/998-Errno_errno.h_path.patch >> deleted file mode 100644 >> index f221dd9..0000000 >> --- a/feeds/packages/lang/perl/patches/998-Errno_errno.h_path.patch >> +++ /dev/null >> @@ -1,11 +0,0 @@ >> ---- a/ext/Errno/Errno_pm.PL >> -+++ b/ext/Errno/Errno_pm.PL >> -@@ -133,7 +133,7 @@ >> - # Some Linuxes have weird errno.hs which generate >> - # no #file or #line directives >> - my ($linux_errno_h) = grep { -e $_ } map { "$_/errno.h" } >> -- "$sysroot/usr/include", "$sysroot/usr/local/include", >> -+ "$sysroot/usr/include", "$sysroot/usr/local/include", >> "$sysroot/include", >> - split / / => $Config{locincpth} or >> - die "Cannot find errno.h"; >> - $file{$linux_errno_h} = 1; >> diff --git >> a/feeds/packages/lang/perl/patches/999-fix-build-failure-against-gcc-10.patch >> >> b/feeds/packages/lang/perl/patches/999-fix-build-failure-against-gcc-10.patch >> deleted file mode 100644 >> index 55d9a0e..0000000 >> --- >> a/feeds/packages/lang/perl/patches/999-fix-build-failure-against-gcc-10.patch >> +++ /dev/null >> @@ -1,103 +0,0 @@ >> -From 6bd6308fcea3541e505651bf8e8127a4a03d22cd Mon Sep 17 00:00:00 2001 >> -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <[email protected]> >> -Date: Tue, 12 Nov 2019 09:19:18 +0100 >> -Subject: [PATCH] Adapt Configure to GCC version 10 >> - >> -I got a notice from Jeff Law <[email protected]>: >> - >> - Your particular package fails its testsuite. This was ultimately >> - tracked down to a Configure problem. The perl configure script treated >> - gcc-10 as gcc-1 and turned on -fpcc-struct-return. This is an ABI >> - changing flag and caused Perl to not be able to interact properly with >> - the dbm libraries on the system leading to a segfault. >> - >> -His proposed patch corrected only this one instance of the version >> -mismatch. Reading the Configure script revealed more issues. This >> -patch fixes all of them I found. >> - >> ---- >> - Configure | 14 +++++++------- >> - cflags.SH | 2 +- >> - 2 files changed, 8 insertions(+), 8 deletions(-) >> - >> -diff --git a/Configure b/Configure >> -index fad1c9f2b1..706c0b64ed 100755 >> ---- a/Configure >> -+++ b/Configure >> -@@ -4701,7 +4701,7 @@ else >> - fi >> - $rm -f try try.* >> - case "$gccversion" in >> --1*) cpp=`./loc gcc-cpp $cpp $pth` ;; >> -+1.*) cpp=`./loc gcc-cpp $cpp $pth` ;; >> - esac >> - case "$gccversion" in >> - '') gccosandvers='' ;; >> -@@ -4741,7 +4741,7 @@ esac >> - # gcc 3.* complain about adding -Idirectories that they already know about, >> - # so we will take those off from locincpth. >> - case "$gccversion" in >> --3*) >> -+3.*) >> - echo "main(){}">try.c >> - for incdir in $locincpth; do >> - warn=`$cc $ccflags -I$incdir -c try.c 2>&1 | \ >> -@@ -5467,13 +5467,13 @@ fi >> - case "$hint" in >> - default|recommended) >> - case "$gccversion" in >> -- 1*) dflt="$dflt -fpcc-struct-return" ;; >> -+ 1.*) dflt="$dflt -fpcc-struct-return" ;; >> - esac >> - case "$optimize:$DEBUGGING" in >> - *-g*:old) dflt="$dflt -DDEBUGGING";; >> - esac >> - case "$gccversion" in >> -- 2*) if $test -d /etc/conf/kconfig.d && >> -+ 2.*) if $test -d /etc/conf/kconfig.d && >> - $contains _POSIX_VERSION $usrinc/sys/unistd.h >> >/dev/null 2>&1 >> - then >> - # Interactive Systems (ISC) POSIX mode. >> -@@ -5482,7 +5482,7 @@ default|recommended) >> - ;; >> - esac >> - case "$gccversion" in >> -- 1*) ;; >> -+ 1.*) ;; >> - 2.[0-8]*) ;; >> - ?*) set strict-aliasing -fno-strict-aliasing >> - eval $checkccflag >> -@@ -5600,7 +5600,7 @@ case "$cppflags" in >> - ;; >> - esac >> - case "$gccversion" in >> --1*) cppflags="$cppflags -D__GNUC__" >> -+1.*) cppflags="$cppflags -D__GNUC__" >> - esac >> - case "$mips_type" in >> - '');; >> -@@ -23103,7 +23103,7 @@ fi >> - >> - : add -D_FORTIFY_SOURCE if feasible and not already there >> - case "$gccversion" in >> --[4567].*) case "$optimize$ccflags" in >> -+[456789].*|[1-9][0-9]*) case "$optimize$ccflags" in >> - *-O*) case "$ccflags$cppsymbols" in >> - *_FORTIFY_SOURCE=*) # Don't add it again. >> - echo "You seem to have -D_FORTIFY_SOURCE already, >> not adding it." >&4 >> -diff --git a/cflags.SH b/cflags.SH >> -index e60742fed1..f1bcd6c38e 100755 >> ---- a/cflags.SH >> -+++ b/cflags.SH >> -@@ -156,7 +156,7 @@ esac >> - >> - case "$gccversion" in >> - '') ;; >> --[12]*) ;; # gcc versions 1 (gasp!) and 2 are not good for this. >> -+[12].*) ;; # gcc versions 1 (gasp!) and 2 are not good for this. >> - Intel*) ;; # # Is that you, Intel C++? >> - # >> - # NOTE 1: the -std=c89 without -pedantic is a bit pointless. >> --- >> -2.17.1 >> - >> diff --git a/feeds/packages/lang/perl/perlver.mk >> b/feeds/packages/lang/perl/perlver.mk >> index dbec815..2218942 100644 >> --- a/feeds/packages/lang/perl/perlver.mk >> +++ b/feeds/packages/lang/perl/perlver.mk >> @@ -1,4 +1,7 @@ >> -PERL_VERSION:=5.28.1 >> +PERL_VERSION:=5.30.0 >> +#+PERL_VERSION:=5.30.0 >> +#+PERL_VERSION:=5.30.3 >> +#+PERL_VERSION:=5.32.0 >> >> PERL_EXPLODE:=$(subst ., ,$(PERL_VERSION)) >> >> -- >> 2.24.3 (Apple Git-128) >> >> >> >> >>> On 2020-11-24, at 9:11 PM, Philip Prindeville >>> <[email protected]> wrote: >>> >>> >>> >>>> On Nov 23, 2020, at 2:52 PM, Rosen Penev <[email protected]> wrote: >>>> >>>> On Mon, Nov 23, 2020 at 10:39 AM Georgi Valkov <[email protected]> wrote: >>>>> >>>>> Dear Rosen, >>>>> >>>>> Thanks to your help I discovered the feeds/packages repository, however I >>>>> was not able to resolve the race condition during build and discover why >>>>> Errno.pm is not built when multiple workers are used e.g.: make >>>>> package/feeds/packages/perl/host/{clean,compile} -j 12 >>>>> >>>>> The good news is that if we move to perl 5.30.0 or newer, the race >>>>> condition is resolved. >>>> That's very good. >>>> >>>>> We also need to add a few flags to files/base.config: >>>>> d_attribute_always_inline=‘define' >>>>> d_setlocale_accepts_any_locale_name=‘undef' >>>>> d_sockaddr_storage=‘undef’ >>>>> d_towlower=‘undef' >>>>> d_towupper=‘undef' >>>>> d_wcrtomb=‘undef' >>>>> i_wctype=‘define’ >>>>> >>>>> Then we can compile perl/host 5.30.0 up to 5.32.0. However building perl >>>>> for the target fails the install phase: >>>>> >>>>> error: >>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: >>>>> input file: >>>>> /Volumes/test/openwrt/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/perl/perl-5.30.0/ipkg-install/usr/bin/perl5.30.0 >>>>> is not a Mach-O file >>>>> Cannot update >>>>> /Volumes/test/openwrt/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/perl/perl-5.30.0/ipkg-install/usr/bin/perl5.30.0 >>>>> dependency paths >>>>> make[3]: *** [makefile:445: install-all] Error 1 >>>>> make[3]: Leaving directory >>>>> '/Volumes/test/openwrt/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/perl/perl-5.30.0' >>>>> make[2]: *** [Makefile:152: >>>>> /Volumes/test/openwrt/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/perl/perl-5.30.0/.built] >>>>> Error 2 >>>>> >>>>> Another symptom I see, is that with 5.30.0 >>>>> build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/perl/perl-5.30.0/ipkg-install/usr/bin >>>>> contains only perl5.30.0, while with the original 5.28.1 it contains >>>>> many executables. >>>>> >>>>> Can you please update perl to 5.30.0 or 5.32.0? Just make sure it >>>>> compiles correctly on Linux or whatever environment you are using, and I >>>>> will test it on macOS 11. I seem to be missing something, and it might >>>>> take me a very long time to learn my way through, because I lack >>>>> experience. >>>> I don't maintain perl. That's https://github.com/pprindeville . CC'ed >>> >>> >>> If you have a patch to update to 5.30, I’ll look at it. >>> >>> -Philip >>> >>> >>>>> >>>>> >>>>> Thank you again for any help! >>>>> Georgi Valkov >>>>> >>>>> >>>>>> On 2020-11-18, at 10:32 AM, Georgi Valkov <[email protected]> wrote: >>>>>> >>>>>> >>>>>> >>>>>>> On 2020-11-18, at 4:24 AM, Rosen Penev <[email protected]> wrote: >>>>>>> >>>>>>> On Tue, Nov 17, 2020 at 3:16 PM Georgi Valkov <[email protected]> wrote: >>>>>>>> >>>>>>>> Dear OpenWRT team, >>>>>>>> >>>>>>>> I just updated my laptop to macOS 11 Big Sur. Presently only the perl >>>>>>>> hostpkg package fails during the build. Once I get past perl, >>>>>>>> everything else compiles correctly. Below is a patch, workaround, and >>>>>>>> details from my research. My target is Marvell EBU Armada, Linksys >>>>>>>> WRT3200ACM. >>>>>>>> >>>>>>>> Before applying the patch, make >>>>>>>> package/feeds/packages/perl/host/compile V=sc fails with the following >>>>>>>> error: >>>>>>>> Which of these apply, if any? [darwin] >>>>>>>> >>>>>>>> *** Unexpected product version 11.0. >>>>>>>> *** >>>>>>>> *** Try running sw_vers and see what its ProductVersion says. >>>>>>>> >>>>>>>> After the patch, make package/feeds/packages/perl/host/compile >>>>>>>> succeeds, however when multiple workers are used: make >>>>>>>> package/feeds/packages/perl/host/compile -j 12 V=sc, the build fails: >>>>>>>> Writing Makefile for CPAN >>>>>>>> make[4]: Entering directory >>>>>>>> '/Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/Archive-Tar' >>>>>>>> make[4]: Entering directory >>>>>>>> '/Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/CPAN' >>>>>>>> Generating a Unix-style Makefile >>>>>>>> Writing Makefile for Errno >>>>>>>> make[4]: Entering directory >>>>>>>> '/Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/ext/Errno' >>>>>>>> "../../miniperl" "-I../../lib" Errno_pm.PL Errno.pm >>>>>>>> Can't locate Errno.pm in @INC (you may need to install the Errno >>>>>>>> module) (@INC contains: >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/AutoLoader/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/Carp/lib >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/PathTools >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/PathTools/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/ExtUtils-Install/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/ExtUtils-MakeMaker/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/ExtUtils-Manifest/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/File-Path/lib >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/ext/re >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/Term-ReadLine/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/Exporter/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/ext/File-Find/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/Text-Tabs/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/constant/lib >>>>>>>> >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/cpan/version/lib >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/lib .) at >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/dist/PathTools/Cwd.pm >>>>>>>> line 444. >>>>>>>> Unsuccessful Makefile.PL(cpan/ExtUtils-MakeMaker): code=512 at >>>>>>>> make_ext.pl line 518. >>>>>>>> make[3]: *** [GNUmakefile:599: cpan/ExtUtils-MakeMaker/pm_to_blib] >>>>>>>> Error 2 >>>>>>>> >>>>>>>> I have also seen errors where the build is trying to use /miniperl >>>>>>>> instead of ./miniperl, as well as >>>>>>>> /build_dir/hostpkg/perl/perl-5.28.1/perl instead of >>>>>>>> /Volumes/test/openwrt/build_dir/hostpkg/perl/perl-5.28.1/perl. The >>>>>>>> will occur if we try to build perl without host/clean and clean. Seems >>>>>>>> like a race condition due to dependency misconfiguration. >>>>>>>> >>>>>>>> Here is the list of all commands in order to compile OpenWRT starting >>>>>>>> from a clean build root: >>>>>>>> make -j 12 >>>>>>>> make package/feeds/packages/perl/host/clean >>>>>>>> make package/feeds/packages/perl/clean >>>>>>>> make package/feeds/packages/perl/compile >>>>>>>> make -j 12 >>>>>>>> >>>>>>>> The first make fails, then we perform host-clean and clean for perl, >>>>>>>> next compile will also do host-compile - we have to use a single >>>>>>>> worker here. Finally we can complete the rest of the build process. I >>>>>>>> should note that Languages, Perl, perl is not selected in menuconfig. >>>>>>>> I can understand if the hostpkg/perl is required during the build >>>>>>>> process, however perl/host{clean,compile} is not enough, I also need >>>>>>>> to perform perl/{clean,compile}. >>>>>>>> >>>>>>>> Here is the quick patch I made in order to verify if there are any >>>>>>>> other broken packages: no. Only perl fails to compile. I am also not >>>>>>>> sure how to handle patches and pull-requests for feeds, so I thought I >>>>>>>> should rather share my research here and ask for help. >>>>>>>> >>>>>>>> feeds/packages/lang/perl/patches/302-macos_11_support.patch >>>>>>>> Index: perl-5.28.1/hints/darwin.sh >>>>>>>> =================================================================== >>>>>>>> --- perl-5.28.1.orig/hints/darwin.sh >>>>>>>> +++ perl-5.28.1/hints/darwin.sh >>>>>>>> @@ -327,7 +327,7 @@ EOM >>>>>>>> # "ProductVersion: 10.11" "10.11" >>>>>>>> prodvers=`sw_vers|awk '/^ProductVersion:/{print $2}'|awk -F. >>>>>>>> '{print $1"."$2}'` >>>>>>>> case "$prodvers" in >>>>>>>> - 10.*) >>>>>>>> + 10.*|11.*) >>>>>>>> add_macosx_version_min ccflags $prodvers >>>>>>>> add_macosx_version_min ldflags $prodvers >>>>>>>> ;; >>>>>>>> >>>>>>> This patch is for https://github.com/openwrt/packages >>>>>>> >>>>>>> Please submit a PR there. >>>>>>> >>>>>>> Speaking of perl, it could probably use an update. >>>>>> >>>>>> I would only make a pull-request when I’m certain I have corrected all >>>>>> issues and tested thoroughly. >>>>>> Indeed the perl package must be updated. I’m not sure if I am allowed to >>>>>> create patches for /feeds, because >>>>>> /feeds and /package/feeds are in .gitignore, so I shouldn't force >>>>>> changes inside these directories. >>>>>> At least I’m not aware of a proper way to do so. >>>>>> >>>>>>>> >>>>>>>> Thank you for any help! >>>>>>>> Georgi Valkov >>>>>>>> >>>>>>>> https://bugs.openwrt.org/index.php?do=details&task_id=3458 >> > _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
