On Sun, Nov 06, 2022 at 12:28:58AM -0400, Brad Smith wrote: > On Thu, Nov 03, 2022 at 11:20:05PM -0400, Brad Smith wrote: > > On Thu, Nov 03, 2022 at 07:36:37PM -0400, Brad Smith wrote: > > > On Thu, Nov 03, 2022 at 03:43:17PM -0400, Brad Smith wrote: > > > > Here is an update to GNU make 4.4. > > > > > > > > Ran through a bulk by naddy@ on amd64. > > > > > > > > https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html > > > > > > > > "There was one suspicious build failure: x11/lablgtk2 fails at the fake > > > > step with > > > > ocamlfind: sourceView2Enums.ml: No such file or directory > > > > > > > > Other than that, no problems." > > > > > > Fix the date in the man page patch. > > > > Looks like this needs a tweak to build on non-Clang archs. > > With some assistance upstream provided a patch for the loadapi tests > crashing. > > The output-sync test is an issue with the framework, and not an issue > with make to worry about. It'll be fixed.
Here are some additional patches to have the tests pass. But upstream had this to say.. "I'm not sure what the problem actually is here. It's something weird about the shell; it's doing something strange with SIGTERM. However I modified the helper app to be able to send TERM then replaced the test recipe "kill -TERM && sleep" with a reference to that." Index: Makefile =================================================================== RCS file: /home/cvs/ports/devel/gmake/Makefile,v retrieving revision 1.65 diff -u -p -u -p -r1.65 Makefile --- Makefile 11 Mar 2022 18:50:08 -0000 1.65 +++ Makefile 6 Nov 2022 22:43:14 -0000 @@ -1,6 +1,6 @@ COMMENT= GNU make -DISTNAME= make-4.3 +DISTNAME= make-4.4 PKGNAME= g${DISTNAME} CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=make/} @@ -26,8 +26,12 @@ MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/buil TEST_ENV= SHELL=$$SHELL -# Known test failures: -# output-sync can fail due to a race condition in the test itself -# https://lists.gnu.org/archive/html/bug-make/2020-01/msg00075.html +# Test suite will run .orig files +PATCHORIG= .~ + +.include <bsd.port.arch.mk> +.if !${PROPERTIES:Mclang} +CFLAGS+= -std=gnu99 +.endif .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /home/cvs/ports/devel/gmake/distinfo,v retrieving revision 1.10 diff -u -p -u -p -r1.10 distinfo --- distinfo 1 Feb 2020 15:29:24 -0000 1.10 +++ distinfo 31 Oct 2022 17:34:34 -0000 @@ -1,2 +1,2 @@ -SHA256 (make-4.3.tar.lz) = 3hpEHE7flSUh2zC/yoC6roag/xrNCgBAKZk0TwTEXoI= -SIZE (make-4.3.tar.lz) = 1266180 +SHA256 (make-4.4.tar.lz) = SND8CyoEu1DykRwW2mVyMoX39IBMdPxaISSj32xfeMQ= +SIZE (make-4.4.tar.lz) = 1283355 Index: patches/patch-Makefile_in =================================================================== RCS file: /home/cvs/ports/devel/gmake/patches/patch-Makefile_in,v retrieving revision 1.6 diff -u -p -u -p -r1.6 patch-Makefile_in --- patches/patch-Makefile_in 11 Mar 2022 18:50:08 -0000 1.6 +++ patches/patch-Makefile_in 31 Oct 2022 17:38:15 -0000 @@ -1,12 +1,12 @@ Index: Makefile.in --- Makefile.in.orig +++ Makefile.in -@@ -1039,7 +1039,7 @@ make_SOURCES = $(make_SRCS) $(am__append_1) $(am__appe - $(am__append_4) $(am__append_5) - EXTRA_make_SOURCES = $(amiga_SRCS) $(vms_SRCS) - make_LDADD = $(LIBOBJS) $(GUILE_LIBS) lib/libgnu.a $(GETLOADAVG_LIBS) \ +@@ -564,7 +564,7 @@ EXTRA_make_SOURCES = $(amiga_SRCS) $(vms_SRCS) + @HAVE_GUILE_FALSE@_GUILE_LIBS = + @HAVE_GUILE_TRUE@_GUILE_LIBS = $(GUILE_LIBS) + make_LDADD = $(LIBOBJS) $(_GUILE_LIBS) lib/libgnu.a $(GETLOADAVG_LIBS) \ - @LIBINTL@ + @LTLIBINTL@ AM_CPPFLAGS = -Isrc -I$(top_srcdir)/src -Ilib -I$(top_srcdir)/lib \ - -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" \ + -DLIBDIR=\"$(libdir)\" -DLOCALEDIR=\"$(localedir)\" \ Index: patches/patch-doc_make_1 =================================================================== RCS file: /home/cvs/ports/devel/gmake/patches/patch-doc_make_1,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-doc_make_1 --- patches/patch-doc_make_1 11 Mar 2022 18:50:08 -0000 1.2 +++ patches/patch-doc_make_1 3 Nov 2022 23:33:07 -0000 @@ -5,8 +5,8 @@ Index: doc/make.1 --- doc/make.1.orig +++ doc/make.1 @@ -1,13 +1,13 @@ --.TH MAKE 1 "28 February 2016" "GNU" "User Commands" -+.TH GMAKE 1 "28 February 2016" "GNU" "User Commands" +-.TH MAKE 1 "31 May 2022" "GNU" "User Commands" ++.TH GMAKE 1 "31 May 2022" "GNU" "User Commands" .SH NAME -make \- GNU make utility to maintain groups of programs +gmake \- GNU make utility to maintain groups of programs @@ -40,7 +40,7 @@ Index: doc/make.1 +.BR gmake , you must write a file called the .I makefile - that describes the relationships among files in your program, and the states + that describes the relationships among files in your program, and provides @@ -35,17 +35,17 @@ Once a suitable makefile exists, each time you change this simple shell command: .sp 1 @@ -61,7 +61,7 @@ Index: doc/make.1 +.B gmake executes commands in the .I makefile - to update one or more target + to update one or more @@ -56,7 +56,7 @@ is typically a program. If no .B \-f @@ -98,7 +98,7 @@ Index: doc/make.1 decides what to do. .TP 0.5i .BI \-\-debug "[=FLAGS]" -@@ -172,7 +172,7 @@ If several +@@ -179,7 +179,7 @@ If several options are used to specify several directories, the directories are searched in the order specified. Unlike the arguments to other flags of @@ -107,7 +107,7 @@ Index: doc/make.1 directories given with .B \-I flags may come directly after the flag: -@@ -195,7 +195,7 @@ option, the last one is effective. +@@ -202,7 +202,7 @@ option, the last one is effective. If the .B \-j option is given without an argument, @@ -115,8 +115,8 @@ Index: doc/make.1 +.BR gmake will not limit the number of jobs that can run simultaneously. .TP 0.5i - \fB\-k\fR, \fB\-\-keep\-going\fR -@@ -256,7 +256,7 @@ This also prints the version information given by the + \fB\--jobserver-style=\fR\fIstyle\fR +@@ -273,7 +273,7 @@ This also prints the version information given by the .B \-v switch (see below). To print the data base without trying to remake any files, use @@ -125,7 +125,7 @@ Index: doc/make.1 .TP 0.5i \fB\-q\fR, \fB\-\-question\fR ``Question mode''. -@@ -287,7 +287,7 @@ Touch files (mark them up to date without really chang +@@ -304,7 +304,7 @@ Touch files (mark them up to date without really chang instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of @@ -134,7 +134,7 @@ Index: doc/make.1 .TP 0.5i .B \-\-trace Information about the disposition of each target is printed (why the target is -@@ -295,7 +295,7 @@ being rebuilt and what commands are run to rebuild it) +@@ -312,7 +312,7 @@ being rebuilt and what commands are run to rebuild it) .TP 0.5i \fB\-v\fR, \fB\-\-version\fR Print the version of the @@ -143,7 +143,7 @@ Index: doc/make.1 program plus a copyright, a list of authors and a notice that there is no warranty. .TP 0.5i -@@ -304,7 +304,7 @@ Print a message containing the working directory +@@ -321,7 +321,7 @@ Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive @@ -152,7 +152,7 @@ Index: doc/make.1 commands. .TP 0.5i .B \-\-no\-print\-directory -@@ -324,33 +324,33 @@ Without +@@ -361,33 +361,33 @@ Without it is almost the same as running a .I touch command on the given file before running Index: patches/patch-src_function_c =================================================================== RCS file: patches/patch-src_function_c diff -N patches/patch-src_function_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_function_c 6 Nov 2022 03:41:35 -0000 @@ -0,0 +1,25 @@ +Index: src/function.c +--- src/function.c.orig ++++ src/function.c +@@ -2801,7 +2801,7 @@ define_new_function (const floc *flocp, const char *na + _("Invalid maximum argument count (%u) for function %s"), max, name); + + ent = xmalloc (sizeof (struct function_table_entry)); +- ent->name = name; ++ ent->name = xstrdup (name); + ent->len = (unsigned char) len; + ent->minimum_args = (unsigned char) min; + ent->maximum_args = (unsigned char) max; +@@ -2812,7 +2812,11 @@ define_new_function (const floc *flocp, const char *na + ent->fptr.alloc_func_ptr = func; + + ent = hash_insert (&function_table, ent); +- free (ent); ++ if (ent) ++ { ++ free ((void*)ent->name); ++ free (ent); ++ } + } + + void Index: patches/patch-src_makeint_h =================================================================== RCS file: patches/patch-src_makeint_h diff -N patches/patch-src_makeint_h --- patches/patch-src_makeint_h 11 Mar 2022 18:50:08 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: src/makeint.h ---- src/makeint.h.orig -+++ src/makeint.h -@@ -115,7 +115,7 @@ extern int errno; - #endif - - /* Some systems define _POSIX_VERSION but are not really POSIX.1. */ --#if (defined (butterfly) || defined (__arm) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) -+#if (defined (butterfly) || (defined (__mips) && defined (_SYSTYPE_SVR3)) || (defined (sequent) && defined (i386))) - # undef POSIX - #endif - Index: patches/patch-tests_scripts_features_archives =================================================================== RCS file: /home/cvs/ports/devel/gmake/patches/patch-tests_scripts_features_archives,v retrieving revision 1.4 diff -u -p -u -p -r1.4 patch-tests_scripts_features_archives --- patches/patch-tests_scripts_features_archives 11 Mar 2022 18:50:08 -0000 1.4 +++ patches/patch-tests_scripts_features_archives 31 Oct 2022 17:38:12 -0000 @@ -1,7 +1,7 @@ Index: tests/scripts/features/archives --- tests/scripts/features/archives.orig +++ tests/scripts/features/archives -@@ -184,7 +184,7 @@ $mk_string = q! +@@ -185,7 +185,7 @@ $mk_string = q! DIR = artest vpath % $(DIR) default: lib(foo) Index: patches/patch-tests_scripts_features_output-sync =================================================================== RCS file: patches/patch-tests_scripts_features_output-sync diff -N patches/patch-tests_scripts_features_output-sync --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tests_scripts_features_output-sync 6 Nov 2022 22:23:40 -0000 @@ -0,0 +1,12 @@ +Index: tests/scripts/features/output-sync +--- tests/scripts/features/output-sync.orig ++++ tests/scripts/features/output-sync +@@ -360,7 +360,7 @@ use POSIX (); + # file. + run_make_test(q! + pid:=$(shell echo $$PPID) +-all:; @kill -TERM $(pid) && sleep 16 ++all:; @#HELPER# term $(pid) sleep 10 + !, '-O -j2', '/#MAKE#: \*\*\* \[#MAKEFILE#:3: all] Terminated/', POSIX::SIGTERM); + } + Index: patches/patch-tests_scripts_features_temp_stdin =================================================================== RCS file: patches/patch-tests_scripts_features_temp_stdin diff -N patches/patch-tests_scripts_features_temp_stdin --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tests_scripts_features_temp_stdin 6 Nov 2022 22:26:11 -0000 @@ -0,0 +1,12 @@ +Index: tests/scripts/features/temp_stdin +--- tests/scripts/features/temp_stdin.orig ++++ tests/scripts/features/temp_stdin +@@ -71,7 +71,7 @@ run_make_test(q! + include bye.mk + pid:=$(shell echo $$PPID) + all:; +-bye.mk: force; @kill -TERM $(pid) && sleep 16 ++bye.mk: force; @#HELPER# term $(pid) sleep 10 + force: + !, '-f-', '/#MAKE#: \*\*\* \[#MAKEFILE#:5: bye.mk] Terminated/', POSIX::SIGTERM); + } Index: patches/patch-tests_thelp_pl =================================================================== RCS file: patches/patch-tests_thelp_pl diff -N patches/patch-tests_thelp_pl --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tests_thelp_pl 6 Nov 2022 22:23:37 -0000 @@ -0,0 +1,24 @@ +Index: tests/thelp.pl +--- tests/thelp.pl.orig ++++ tests/thelp.pl +@@ -16,6 +16,7 @@ + # wait <word> : wait for a file named <word> to exist + # tmout <secs> : Change the timeout for waiting. Default is 4 seconds. + # sleep <secs> : Sleep for <secs> seconds then echo <secs> ++# term <pid> : send SIGTERM to PID <pid> + # fail <err> : echo <err> to stdout then exit with error code err + # + # If given -q only the "out" command generates output. +@@ -92,6 +93,12 @@ sub op { + if ($op eq 'sleep') { + sleep($nm); + print "sleep $nm\n" unless $quiet; ++ return 1; ++ } ++ ++ if ($op eq 'term') { ++ print "term $nm\n"; ++ kill('TERM', $nm); + return 1; + } + Index: pkg/PLIST =================================================================== RCS file: /home/cvs/ports/devel/gmake/pkg/PLIST,v retrieving revision 1.18 diff -u -p -u -p -r1.18 PLIST --- pkg/PLIST 11 Mar 2022 18:50:08 -0000 1.18 +++ pkg/PLIST 31 Oct 2022 17:39:14 -0000 @@ -25,6 +25,7 @@ share/locale/nl/LC_MESSAGES/make.mo share/locale/pl/LC_MESSAGES/make.mo share/locale/pt/LC_MESSAGES/make.mo share/locale/pt_BR/LC_MESSAGES/make.mo +share/locale/ro/LC_MESSAGES/make.mo share/locale/ru/LC_MESSAGES/make.mo share/locale/sr/LC_MESSAGES/make.mo share/locale/sv/LC_MESSAGES/make.mo