From f89ed7b547ce8b34815b7a4d4047fcfee1fa798b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Mon, 20 Jan 2020 18:18:08 +0100 Subject: [PATCH] make: update to 4.3 --- srcpkgs/make/patches/fix-glibc-2.28.patch | 96 ----------------------- srcpkgs/make/patches/fix-glob-dtype.patch | 31 -------- srcpkgs/make/template | 8 +- 3 files changed, 4 insertions(+), 131 deletions(-) delete mode 100644 srcpkgs/make/patches/fix-glibc-2.28.patch delete mode 100644 srcpkgs/make/patches/fix-glob-dtype.patch diff --git a/srcpkgs/make/patches/fix-glibc-2.28.patch b/srcpkgs/make/patches/fix-glibc-2.28.patch deleted file mode 100644 index 62ecf66d7b..0000000000 --- a/srcpkgs/make/patches/fix-glibc-2.28.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Sun, 24 Sep 2017 09:12:58 -0400 -Subject: glob: Do not assume glibc glob internals. - -It has been proposed that glibc glob start using gl_lstat, -which the API allows it to do. GNU 'make' should not get in -the way of this. See: -https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html - -* dir.c (local_lstat): New function, like local_stat. -(dir_setup_glob): Use it to initialize gl_lstat too, as the API -requires. ---- - dir.c | 29 +++++++++++++++++++++++++++-- - 1 file changed, 27 insertions(+), 2 deletions(-) - -diff --git a/dir.c b/dir.c -index adbb8a9..c343e4c 100644 ---- a/dir.c -+++ b/dir.c -@@ -1299,15 +1299,40 @@ local_stat (const char *path, struct stat *buf) - } - #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 --- -cgit v1.0-41-gc330 - -From 48c8a116a914a325a0497721f5d8b58d5bba34d4 Mon Sep 17 00:00:00 2001 -From: Paul Smith -Date: Sun, 19 Nov 2017 15:09:16 -0500 -Subject: * configure.ac: Support GLIBC glob interface version 2 - ---- - configure.ac | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 8c72568..4710832 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -404,10 +404,9 @@ AC_CACHE_CHECK([if system libc has GNU glob], [make_cv_sys_gnu_glob], - #include - #include - --#define GLOB_INTERFACE_VERSION 1 - #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 - # include --# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION -+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 - gnu glob - # endif - #endif], --- -cgit v1.0-41-gc330 - - diff --git a/srcpkgs/make/patches/fix-glob-dtype.patch b/srcpkgs/make/patches/fix-glob-dtype.patch deleted file mode 100644 index 56c4e6c050..0000000000 --- a/srcpkgs/make/patches/fix-glob-dtype.patch +++ /dev/null @@ -1,31 +0,0 @@ -musl 1.1.19 introduced the _DIRENT_HAVE_D_* macros in commit -1bc10ffeaa7c7ce44b3e214e02e302642511c7c7, triggering a bug in GNU make -that's present up to the current version: - -http://git.savannah.gnu.org/cgit/make.git/tree/glob/glob.c?id=5d653b535a0e0e607c8be2016bcaadd6f326a698#n1333 - -The glob replacement they ship includes and uses internally a -GLOB_ONLYDIR flag, which is opportunistic and implemented via d_type -if _DIRENT_HAVE_D_TYPE is defined, and it fails to consider that -DT_LNK could be a symlink to a directory. This is an ancient version -of glob.c; the modern GNU glob in glibc rightly considers DT_LNK. Thus -the bug is not seen on glibc systems (where the glob replacement is -not used), but will be seen on any system where _DIRENT_HAVE_D_TYPE is -defined and where configure decides to replace the libc glob with -their GNU one. - -http://www.openwall.com/lists/musl/2018/03/13/1 - -diff --git a/glob/glob.c b/glob/glob.c -index f3911bc..d6bb8ba 100644 ---- a/glob/glob.c -+++ b/glob/glob.c -@@ -1330,7 +1330,7 @@ glob_in_dir (pattern, directory, flags, errfunc, pglob) - /* If we shall match only directories use the information - provided by the dirent call if possible. */ - if ((flags & GLOB_ONLYDIR) -- && d->d_type != DT_UNKNOWN && d->d_type != DT_DIR) -+ && d->d_type != DT_UNKNOWN && d->d_type != DT_DIR && d->d_type != DT_LNK) - continue; - #endif - diff --git a/srcpkgs/make/template b/srcpkgs/make/template index 4625abcaaa..cb687ebee3 100644 --- a/srcpkgs/make/template +++ b/srcpkgs/make/template @@ -1,7 +1,7 @@ # Template file for 'make' pkgname=make -version=4.2.1 -revision=5 +version=4.3 +revision=1 bootstrap=yes build_style=gnu-configure configure_args="$(vopt_with guile)" @@ -11,8 +11,8 @@ short_desc="The GNU make system" maintainer="Enno Boland " license="GPL-3.0-or-later" homepage="http://www.gnu.org/software/make" -distfiles="${GNU_SITE}/make/${pkgname}-${version}.tar.bz2" -checksum=d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 +distfiles="${GNU_SITE}/make/${pkgname}-${version}.tar.lz" +checksum=de1a441c4edf952521db30bfca80baae86a0ff1acd0a00402999344f04c45e82 build_options=guile patch_args="-Np1"