diff options
-rw-r--r-- | devel/gmake/Makefile | 6 | ||||
-rw-r--r-- | devel/gmake/distinfo | 17 | ||||
-rw-r--r-- | devel/gmake/patches/patch-configure | 20 | ||||
-rw-r--r-- | devel/gmake/patches/patch-configure.ac | 20 | ||||
-rw-r--r-- | devel/gmake/patches/patch-dir.c | 51 | ||||
-rw-r--r-- | devel/gmake/patches/patch-makeint.h | 17 | ||||
-rw-r--r-- | devel/gmake/patches/patch-posixos.c | 162 | ||||
-rw-r--r-- | devel/gmake/patches/patch-src_hash.c (renamed from devel/gmake/patches/patch-pa) | 8 |
8 files changed, 12 insertions, 289 deletions
diff --git a/devel/gmake/Makefile b/devel/gmake/Makefile index 90397c00043..e9069639d76 100644 --- a/devel/gmake/Makefile +++ b/devel/gmake/Makefile @@ -1,11 +1,9 @@ -# $NetBSD: Makefile,v 1.109 2020/01/18 23:30:28 rillig Exp $ +# $NetBSD: Makefile,v 1.110 2020/06/12 14:48:38 sevan Exp $ -DISTNAME= make-4.2.1 +DISTNAME= make-4.3 PKGNAME= g${DISTNAME} -PKGREVISION= 1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=make/} -EXTRACT_SUFX= .tar.bz2 MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= https://www.gnu.org/software/make/make.html diff --git a/devel/gmake/distinfo b/devel/gmake/distinfo index d68606958e1..73f2f452577 100644 --- a/devel/gmake/distinfo +++ b/devel/gmake/distinfo @@ -1,13 +1,8 @@ -$NetBSD: distinfo,v 1.36 2018/07/04 14:09:07 bsiegert Exp $ +$NetBSD: distinfo,v 1.37 2020/06/12 14:48:38 sevan Exp $ -SHA1 (make-4.2.1.tar.bz2) = 7d9d11eb36cfb752da1fb11bb3e521d2a3cc8830 -RMD160 (make-4.2.1.tar.bz2) = 7cf74e2fd9764ffeb48f40a49077099874ad8a54 -SHA512 (make-4.2.1.tar.bz2) = 9cf00869a2f938492554f71d8cb288b5b009b3bd0489ef164f2c8f6532fc37db5c7e20af1dea288536e7c9710ee0bc6e1ddcdfc4928a8540e6e43661741825b8 -Size (make-4.2.1.tar.bz2) = 1407126 bytes +SHA1 (make-4.3.tar.gz) = 3c40e5b49b893dbb14f1e2e1f8fe89b7298cc51d +RMD160 (make-4.3.tar.gz) = 2f2d49f85200433a7a5119bd9d56758a3033c2c0 +SHA512 (make-4.3.tar.gz) = 9a1185cc468368f4ec06478b1cfa343bf90b5cd7c92c0536567db0315b0ee909af53ecce3d44cfd93dd137dbca1ed13af5713e8663590c4fdd21ea635d78496b +Size (make-4.3.tar.gz) = 2317073 bytes SHA1 (patch-af) = 8ff060ecba9d664044eabd98741253881d8c9bbe -SHA1 (patch-configure) = e3122c5c1bbe59ec4c233f42feb6d7952a1e1215 -SHA1 (patch-configure.ac) = 7d22c8f5e5d349687885f55120fa2f7c1251e399 -SHA1 (patch-dir.c) = 1616d8e26c0761c8734063806fa581ae8884b4e8 -SHA1 (patch-makeint.h) = cb5f0889d84874a16fc10bc6f91e18c2277194cc -SHA1 (patch-pa) = 2c0168db7afec3da98b30392290e5b9464ea7b5e -SHA1 (patch-posixos.c) = 4c566b23442bcc87f776181be531957c254162de +SHA1 (patch-src_hash.c) = 4820633cc6b5d0d42cd8aeea46bb1b3f5f6475bd diff --git a/devel/gmake/patches/patch-configure b/devel/gmake/patches/patch-configure deleted file mode 100644 index f08e92f3f3d..00000000000 --- a/devel/gmake/patches/patch-configure +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-configure,v 1.1 2018/04/28 06:59:41 minskim Exp $ - -Support GLIBC glob interface version 2. - -http://git.savannah.gnu.org/cgit/make.git/commit/?id=48c8a116 - ---- configure.orig 2014-10-05 16:25:21.000000000 +0000 -+++ configure -@@ -11060,10 +11060,9 @@ else - #include <glob.h> - #include <fnmatch.h> - --#define GLOB_INTERFACE_VERSION 1 - #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 - # include <gnu-versions.h> --# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION -+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 - gnu glob - # endif - #endif diff --git a/devel/gmake/patches/patch-configure.ac b/devel/gmake/patches/patch-configure.ac deleted file mode 100644 index b2b8f038a96..00000000000 --- a/devel/gmake/patches/patch-configure.ac +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-configure.ac,v 1.1 2018/04/28 06:59:41 minskim Exp $ - -Support GLIBC glob interface version 2. - -http://git.savannah.gnu.org/cgit/make.git/commit/?id=48c8a116 - ---- configure.ac.orig 2014-10-05 16:24:51.000000000 +0000 -+++ configure.ac -@@ -401,10 +401,9 @@ AC_CACHE_CHECK([if system libc has GNU g - #include <glob.h> - #include <fnmatch.h> - --#define GLOB_INTERFACE_VERSION 1 - #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 - # include <gnu-versions.h> --# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION -+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 - gnu glob - # endif - #endif], diff --git a/devel/gmake/patches/patch-dir.c b/devel/gmake/patches/patch-dir.c deleted file mode 100644 index a3dfe8de9b9..00000000000 --- a/devel/gmake/patches/patch-dir.c +++ /dev/null @@ -1,51 +0,0 @@ -$NetBSD: patch-dir.c,v 1.1 2018/04/30 01:47:30 minskim Exp $ - -Support GLIBC glob interface version 2. - -http://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81 - ---- dir.c.orig 2014-10-05 16:24:51.000000000 +0000 -+++ dir.c -@@ -1212,15 +1212,40 @@ local_stat (const char *path, struct sta - } - #endif - -+/* Similarly for lstat. */ -+#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) -+# ifndef VMS -+# ifndef HAVE_SYS_STAT_H -+int lstat (const char *path, struct stat *sbuf); -+# endif -+# else -+ /* We are done with the fake lstat. Go back to the real lstat */ -+# ifdef lstat -+# undef lstat -+# endif -+# endif -+# define local_lstat lstat -+#elif defined(WINDOWS32) -+/* Windows doesn't support lstat(). */ -+# define local_lstat local_stat -+#else -+static int -+local_lstat (const char *path, struct stat *buf) -+{ -+ int e; -+ EINTRLOOP (e, lstat (path, buf)); -+ return e; -+} -+#endif -+ - void - dir_setup_glob (glob_t *gl) - { - gl->gl_opendir = open_dirstream; - gl->gl_readdir = read_dirstream; - gl->gl_closedir = free; -+ gl->gl_lstat = local_lstat; - gl->gl_stat = local_stat; -- /* We don't bother setting gl_lstat, since glob never calls it. -- The slot is only there for compatibility with 4.4 BSD. */ - } - - void diff --git a/devel/gmake/patches/patch-makeint.h b/devel/gmake/patches/patch-makeint.h deleted file mode 100644 index 4b42e8290fe..00000000000 --- a/devel/gmake/patches/patch-makeint.h +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-makeint.h,v 1.8 2018/07/04 14:09:07 bsiegert Exp $ - -* Do not override stack limits by default. - It can dramatically increase the memory use of multi-threaded programs. - ---- makeint.h.orig 2016-05-21 20:22:32.000000000 +0000 -+++ makeint.h -@@ -442,9 +442,6 @@ extern int unixy_shell; - #define NEXT_TOKEN(s) while (ISSPACE (*(s))) ++(s) - #define END_OF_TOKEN(s) while (! STOP_SET (*(s), MAP_SPACE|MAP_NUL)) ++(s) - --#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) --# define SET_STACK_SIZE --#endif - #ifdef SET_STACK_SIZE - # include <sys/resource.h> - extern struct rlimit stack_limit; diff --git a/devel/gmake/patches/patch-posixos.c b/devel/gmake/patches/patch-posixos.c deleted file mode 100644 index dc3081c203f..00000000000 --- a/devel/gmake/patches/patch-posixos.c +++ /dev/null @@ -1,162 +0,0 @@ -$NetBSD: patch-posixos.c,v 1.1 2018/07/04 14:09:07 bsiegert Exp $ - -http://git.savannah.gnu.org/cgit/make.git/commit/?id=b552b05251980f693c729e251f93f5225b400714 - -[SV 51159] Use a non-blocking read with pselect to avoid hangs. -* posixos.c (set_blocking): Set blocking on a file descriptor. -* (jobserver_setup): Set non-blocking on the jobserver read side. -* (jobserver_parse_auth): Ditto. -* (jobserver_acquire_all): Set blocking to avoid a busy-wait loop. -* (jobserver_acquire): If the non-blocking read() returns without - taking a token then try again. - ---- posixos.c.orig 2016-05-21 20:21:52.000000000 +0000 -+++ posixos.c -@@ -59,6 +59,24 @@ make_job_rfd (void) - #endif - } - -+static void -+set_blocking (int fd, int blocking) -+{ -+ // If we're not using pselect() don't change the blocking -+#ifdef HAVE_PSELECT -+ int flags; -+ EINTRLOOP (flags, fcntl (fd, F_GETFL)); -+ if (flags >= 0) -+ { -+ int r; -+ flags = blocking ? (flags & ~O_NONBLOCK) : (flags | O_NONBLOCK); -+ EINTRLOOP (r, fcntl (fd, F_SETFL, flags)); -+ if (r < 0) -+ pfatal_with_name ("fcntl(O_NONBLOCK)"); -+ } -+#endif -+} -+ - unsigned int - jobserver_setup (int slots) - { -@@ -78,6 +96,9 @@ jobserver_setup (int slots) - pfatal_with_name (_("init jobserver pipe")); - } - -+ /* When using pselect() we want the read to be non-blocking. */ -+ set_blocking (job_fds[0], 0); -+ - return 1; - } - -@@ -113,6 +134,9 @@ jobserver_parse_auth (const char *auth) - return 0; - } - -+ /* When using pselect() we want the read to be non-blocking. */ -+ set_blocking (job_fds[0], 0); -+ - return 1; - } - -@@ -161,7 +185,10 @@ jobserver_acquire_all (void) - { - unsigned int tokens = 0; - -- /* Close the write side, so the read() won't hang. */ -+ /* Use blocking reads to wait for all outstanding jobs. */ -+ set_blocking (job_fds[0], 1); -+ -+ /* Close the write side, so the read() won't hang forever. */ - close (job_fds[1]); - job_fds[1] = -1; - -@@ -239,18 +266,12 @@ jobserver_pre_acquire (void) - unsigned int - jobserver_acquire (int timeout) - { -- sigset_t empty; -- fd_set readfds; - struct timespec spec; - struct timespec *specp = NULL; -- int r; -- char intake; -+ sigset_t empty; - - sigemptyset (&empty); - -- FD_ZERO (&readfds); -- FD_SET (job_fds[0], &readfds); -- - if (timeout) - { - /* Alarm after one second (is this too granular?) */ -@@ -259,28 +280,52 @@ jobserver_acquire (int timeout) - specp = &spec; - } - -- r = pselect (job_fds[0]+1, &readfds, NULL, NULL, specp, &empty); -- -- if (r == -1) -+ while (1) - { -- /* Better be SIGCHLD. */ -- if (errno != EINTR) -- pfatal_with_name (_("pselect jobs pipe")); -- return 0; -- } -+ fd_set readfds; -+ int r; -+ char intake; - -- if (r == 0) -- /* Timeout. */ -- return 0; -+ FD_ZERO (&readfds); -+ FD_SET (job_fds[0], &readfds); - -- /* The read FD is ready: read it! */ -- EINTRLOOP (r, read (job_fds[0], &intake, 1)); -- if (r < 0) -- pfatal_with_name (_("read jobs pipe")); -+ r = pselect (job_fds[0]+1, &readfds, NULL, NULL, specp, &empty); -+ if (r < 0) -+ switch (errno) -+ { -+ case EINTR: -+ /* SIGCHLD will show up as an EINTR. */ -+ return 0; -+ -+ case EBADF: -+ /* Someone closed the jobs pipe. -+ That shouldn't happen but if it does we're done. */ -+ O (fatal, NILF, _("job server shut down")); -+ -+ default: -+ pfatal_with_name (_("pselect jobs pipe")); -+ } -+ -+ if (r == 0) -+ /* Timeout. */ -+ return 0; -+ -+ /* The read FD is ready: read it! This is non-blocking. */ -+ EINTRLOOP (r, read (job_fds[0], &intake, 1)); -+ -+ if (r < 0) -+ { -+ /* Someone sniped our token! Try again. */ -+ if (errno == EAGAIN) -+ continue; -+ -+ pfatal_with_name (_("read jobs pipe")); -+ } - -- /* What does it mean if read() returns 0? It shouldn't happen because only -- the master make can reap all the tokens and close the write side...?? */ -- return r > 0; -+ /* read() should never return 0: only the master make can reap all the -+ tokens and close the write side...?? */ -+ return r > 0; -+ } - } - - #else diff --git a/devel/gmake/patches/patch-pa b/devel/gmake/patches/patch-src_hash.c index 345fd4ef93f..ecd6df8aa4e 100644 --- a/devel/gmake/patches/patch-pa +++ b/devel/gmake/patches/patch-src_hash.c @@ -1,10 +1,10 @@ -$NetBSD: patch-pa,v 1.1 2009/10/30 18:20:04 ahoka Exp $ +$NetBSD: patch-src_hash.c,v 1.1 2020/06/12 14:48:38 sevan Exp $ PCC says: hash.c:326: error: Constant "4294967295" is out of range ---- hash.c.orig 2006-02-11 21:00:39.000000000 +0100 -+++ hash.c -@@ -323,7 +323,7 @@ round_up_2 (unsigned long n) +--- work/make-4.3/src/hash.c.orig 2020-06-12 14:40:24.838680043 +0000 ++++ work/make-4.3/src/hash.c +@@ -321,7 +321,7 @@ round_up_2 (unsigned long n) n |= (n >> 8); n |= (n >> 16); |