Hi Christian --
On 2020-01-30 4:46 PM, Christian Weisgerber wrote:
> Christian Weisgerber:
>
>> I'll start another test build shortly.
> Remaining fallout:
>
> multimedia/gstreamer-0.10/plugins-good
> multimedia/gstreamer-0.10/plugins-bad
> These need the same fix as plugins-base.
>
> devel/jdk/11
> Upstream fix available.
>
> Commits ready, pending approval from the respective maintainers.
>
> Once those are in, I think we can go ahead with the gmake update
> itself. Below is the cumulative patch from bcallah@'s and my work
> that I have in my tree.
>
> Any further comments?
>
> Brian, do you want to commit or should I?
By all means, feel free to be the one to commit this. You did the heavy
lifting! Much appreciated.
~Brian
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/gmake/Makefile,v
> retrieving revision 1.63
> diff -u -p -r1.63 Makefile
> --- Makefile 13 Sep 2019 16:59:34 -0000 1.63
> +++ Makefile 30 Jan 2020 21:32:49 -0000
> @@ -2,12 +2,11 @@
>
> COMMENT= GNU make
>
> -DISTNAME= make-4.2.1
> +DISTNAME= make-4.3
> PKGNAME= g${DISTNAME}
> -REVISION= 4
> CATEGORIES= devel
> MASTER_SITES= ${MASTER_SITE_GNU:=make/}
> -EXTRACT_SUFX= .tar.bz2
> +EXTRACT_SUFX= .tar.lz
>
> HOMEPAGE= https://www.gnu.org/software/make/
>
> @@ -18,14 +17,18 @@ PERMIT_PACKAGE= Yes
>
> WANTLIB= c iconv intl
>
> +DEBUG_PACKAGES= ${BUILD_PACKAGES}
> +
> SEPARATE_BUILD= Yes
> CONFIGURE_STYLE= gnu
> CONFIGURE_ARGS= --program-prefix="g" --without-guile
> CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
> LDFLAGS="-L${LOCALBASE}/lib"
> -MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/config
> +MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/build-aux
> +
> +TEST_ENV= SHELL=$$SHELL
>
> -pre-test:
> - find ${WRKSRC}/tests/scripts -name \*.orig -delete
> +# Known test failures:
> +# output-sync can fail due to a race condition in the test itself
>
> .include <bsd.port.mk>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/devel/gmake/distinfo,v
> retrieving revision 1.9
> diff -u -p -r1.9 distinfo
> --- distinfo 25 Jun 2016 19:47:11 -0000 1.9
> +++ distinfo 30 Jan 2020 21:32:49 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (make-4.2.1.tar.bz2) = 1uJivzYBtC0rHk74MQAp4dzyAIPFRGtLeqZwgf3/xYk=
> -SIZE (make-4.2.1.tar.bz2) = 1407126
> +SHA256 (make-4.3.tar.lz) = 3hpEHE7flSUh2zC/yoC6roag/xrNCgBAKZk0TwTEXoI=
> +SIZE (make-4.3.tar.lz) = 1266180
> Index: patches/patch-Makefile_in
> ===================================================================
> RCS file: /cvs/ports/devel/gmake/patches/patch-Makefile_in,v
> retrieving revision 1.4
> diff -u -p -r1.4 patch-Makefile_in
> --- patches/patch-Makefile_in 25 Jun 2016 19:47:11 -0000 1.4
> +++ patches/patch-Makefile_in 30 Jan 2020 21:32:49 -0000
> @@ -1,12 +1,14 @@
> -$OpenBSD: patch-Makefile_in,v 1.4 2016/06/25 19:47:11 naddy Exp $
> ---- Makefile.in.orig Sat Jun 11 01:03:22 2016
> -+++ Makefile.in Fri Jun 24 18:19:09 2016
> -@@ -481,7 +481,7 @@ EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cs
> - noinst_HEADERS = commands.h dep.h filedef.h job.h makeint.h rule.h variable.h \
> - debug.h getopt.h gettext.h hash.h output.h os.h
> +$OpenBSD$
> +
> +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) \
> +- @LIBINTL@
> ++ @LTLIBINTL@
>
> --make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ \
> -+make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LTLIBINTL@ \
> - $(GUILE_LIBS) $(am__append_1)
> - man_MANS = make.1
> - AM_CPPFLAGS = $(GLOBINC) $(am__append_2)
> + AM_CPPFLAGS = -Isrc -I$(top_srcdir)/src -Ilib -I$(top_srcdir)/lib \
> + -DLIBDIR=\"$(libdir)\" -DINCLUDEDIR=\"$(includedir)\" \
> Index: patches/patch-doc_make_1
> ===================================================================
> RCS file: patches/patch-doc_make_1
> diff -N patches/patch-doc_make_1
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-doc_make_1 30 Jan 2020 21:32:49 -0000
> @@ -0,0 +1,197 @@
> +$OpenBSD$
> +
> +Since we install GNU make as gmake replace make with gmake in the
> +manpage where it makes sense.
> +
> +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"
> + .SH NAME
> +-make \- GNU make utility to maintain groups of programs
> ++gmake \- GNU make utility to maintain groups of programs
> + .SH SYNOPSIS
> +-.B make
> ++.B gmake
> + [\fIOPTION\fR]... [\fITARGET\fR]...
> + .SH DESCRIPTION
> + .LP
> + The
> +-.I make
> ++.I gmake
> + utility will determine automatically which pieces of a large program need to
> + be recompiled, and issue the commands to recompile them. The manual describes
> + the GNU implementation of
> +@@ -15,15 +15,15 @@ the GNU implementation of
> + which was written by Richard Stallman and Roland McGrath, and is currently
> + maintained by Paul Smith. Our examples show C programs, since they are very
> + common, but you can use
> +-.B make
> ++.B gmake
> + with any programming language whose compiler can be run with a shell command.
> + In fact,
> +-.B make
> ++.B gmake
> + is not limited to programs. You can use it to describe any task where some
> + files must be updated automatically from others whenever the others change.
> + .LP
> + To prepare to use
> +-.BR make ,
> ++.BR gmake ,
> + you must write a file called the
> + .I makefile
> + that describes the relationships among files in your program, and the states
> +@@ -35,17 +35,17 @@ Once a suitable makefile exists, each time you change
> + this simple shell command:
> + .sp 1
> + .RS
> +-.B make
> ++.B gmake
> + .RE
> + .sp 1
> + suffices to perform all necessary recompilations.
> + The
> +-.B make
> ++.B gmake
> + program uses the makefile description and the last-modification times of the
> + files to decide which of the files need to be updated. For each of those
> + files, it issues the commands recorded in the makefile.
> + .LP
> +-.B make
> ++.B gmake
> + executes commands in the
> + .I makefile
> + to update one or more target
> +@@ -56,7 +56,7 @@ is typically a program.
> + If no
> + .B \-f
> + option is present,
> +-.B make
> ++.B gmake
> + will look for the makefiles
> + .IR GNUmakefile ,
> + .IR makefile ,
> +@@ -84,7 +84,7 @@ If
> + .I makefile
> + is '\-', the standard input is read.
> + .LP
> +-.B make
> ++.B gmake
> + updates a target if it depends on prerequisite files
> + that have been modified since the target was last modified,
> + or if the target does not exist.
> +@@ -111,7 +111,7 @@ previous one:
> + is equivalent to
> + .BR "\-C " /etc.
> + This is typically used with recursive invocations of
> +-.BR make .
> ++.BR gmake .
> + .TP 0.5i
> + .B \-d
> + Print debugging information in addition to normal processing.
> +@@ -119,7 +119,7 @@ The debugging information says which files are being c
> + remaking, which file-times are being compared and with what results,
> + which files actually need to be remade, which implicit rules are
> + considered and which are applied---everything interesting about how
> +-.B make
> ++.B gmake
> + decides what to do.
> + .TP 0.5i
> + .BI \-\-debug "[=FLAGS]"
> +@@ -172,7 +172,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
> +-.BR make ,
> ++.BR gmake ,
> + directories given with
> + .B \-I
> + flags may come directly after the flag:
> +@@ -195,7 +195,7 @@ option, the last one is effective.
> + If the
> + .B \-j
> + option is given without an argument,
> +-.BR make
> ++.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
> + .B \-v
> + switch (see below).
> + To print the data base without trying to remake any files, use
> +-.IR "make \-p \-f/dev/null" .
> ++.IR "gmake \-p \-f/dev/null" .
> + .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
> + instead of running their commands.
> + This is used to pretend that the commands were done, in order to fool
> + future invocations of
> +-.BR make .
> ++.BR gmake .
> + .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)
> + .TP 0.5i
> + \fB\-v\fR, \fB\-\-version\fR
> + Print the version of the
> +-.B make
> ++.B gmake
> + 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
> + before and after other processing.
> + This may be useful for tracking down errors from complicated nests of
> + recursive
> +-.B make
> ++.B gmake
> + commands.
> + .TP 0.5i
> + .B \-\-no\-print\-directory
> +@@ -324,33 +324,33 @@ Without
> + it is almost the same as running a
> + .I touch
> + command on the given file before running
> +-.BR make ,
> ++.BR gmake ,
> + except that the modification time is changed only in the imagination of
> +-.BR make .
> ++.BR gmake .
> + .TP 0.5i
> + .B \-\-warn\-undefined\-variables
> + Warn when an undefined variable is referenced.
> + .SH "EXIT STATUS"
> + GNU
> +-.B make
> ++.B gmake
> + exits with a status of zero if all makefiles were successfully parsed
> + and no targets that were built failed. A status of one will be returned
> + if the
> + .B \-q
> + flag was used and
> +-.B make
> ++.B gmake
> + determines that a target needs to be rebuilt. A status of two will be
> + returned if any errors were encountered.
> + .SH "SEE ALSO"
> + The full documentation for
> +-.B make
> ++.B gmake
> + is maintained as a Texinfo manual. If the
> + .B info
> + and
> +-.B make
> ++.B gmake
> + programs are properly installed at your site, the command
> + .IP
> +-.B info make
> ++.B info 'GNU make'
> + .PP
> + should give you access to the complete manual.
> + .SH BUGS
> Index: patches/patch-job_c
> ===================================================================
> RCS file: patches/patch-job_c
> diff -N patches/patch-job_c
> --- patches/patch-job_c 2 Nov 2019 00:33:29 -0000 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,114 +0,0 @@
> -$OpenBSD: patch-job_c,v 1.3 2019/11/02 00:33:29 jca Exp $
> -
> -Only unblock fatal signals after child invocation
> -http://git.savannah.gnu.org/cgit/make.git/commit/?id=78b5fec6898c26956d00548427cda1101cb80f8a
> -
> -Index: job.c
> ---- job.c.orig
> -+++ job.c
> -@@ -461,6 +461,62 @@ is_bourne_compatible_shell (const char *path)
> - return 0;
> - }
> -
> -+#ifdef POSIX
> -+extern sigset_t fatal_signal_set;
> -+
> -+static void
> -+block_sigs ()
> -+{
> -+ sigprocmask (SIG_BLOCK, &fatal_signal_set, (sigset_t *) 0);
> -+}
> -+
> -+static void
> -+unblock_sigs ()
> -+{
> -+ sigprocmask (SIG_UNBLOCK, &fatal_signal_set, (sigset_t *) 0);
> -+}
> -+
> -+void
> -+unblock_all_sigs ()
> -+{
> -+ sigset_t empty;
> -+ sigemptyset (&empty);
> -+ sigprocmask (SIG_SETMASK, &empty, (sigset_t *) 0);
> -+}
> -+
> -+#elif defined(HAVE_SIGSETMASK)
> -+
> -+extern int fatal_signal_mask;
> -+
> -+static void
> -+block_sigs ()
> -+{
> -+ sigblock (fatal_signal_mask);
> -+}
> -+
> -+static void
> -+unblock_sigs ()
> -+{
> -+ sigsetmask (siggetmask (0) & ~fatal_signal_mask);
> -+}
> -+
> -+void
> -+unblock_all_sigs ()
> -+{
> -+ sigsetmask (0);
> -+}
> -+
> -+#else
> -+
> -+#define block_sigs()
> -+#define unblock_sigs()
> -+
> -+void
> -+unblock_all_sigs ()
> -+{
> -+}
> -+
> -+
No comments:
Post a Comment