From e60b87be665ffd172ab0eb1e4a199a69448dda5e Mon Sep 17 00:00:00 2001 From: minskim Date: Mon, 30 Apr 2018 01:47:30 +0000 Subject: devel/gmake: Make this work with glibc glob interface v2 http://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81 --- devel/gmake/Makefile | 4 ++-- devel/gmake/distinfo | 3 ++- devel/gmake/patches/patch-dir.c | 51 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 devel/gmake/patches/patch-dir.c diff --git a/devel/gmake/Makefile b/devel/gmake/Makefile index 6f99e3a97d6..9cf03141190 100644 --- a/devel/gmake/Makefile +++ b/devel/gmake/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.103 2016/12/17 14:14:06 joerg Exp $ +# $NetBSD: Makefile,v 1.104 2018/04/30 01:47:30 minskim Exp $ DISTNAME= make-4.1 PKGNAME= g${DISTNAME} -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=make/} EXTRACT_SUFX= .tar.bz2 diff --git a/devel/gmake/distinfo b/devel/gmake/distinfo index e11c8154b82..540de379ceb 100644 --- a/devel/gmake/distinfo +++ b/devel/gmake/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.33 2018/04/28 06:59:41 minskim Exp $ +$NetBSD: distinfo,v 1.34 2018/04/30 01:47:30 minskim Exp $ SHA1 (make-4.1.tar.bz2) = 0d701882fd6fd61a9652cb8d866ad7fc7de54d58 RMD160 (make-4.1.tar.bz2) = 0f322d6c28867ea817f7d02c57e635c8ef556909 @@ -7,6 +7,7 @@ Size (make-4.1.tar.bz2) = 1327342 bytes SHA1 (patch-af) = 8ff060ecba9d664044eabd98741253881d8c9bbe SHA1 (patch-configure) = e3122c5c1bbe59ec4c233f42feb6d7952a1e1215 SHA1 (patch-configure.ac) = 7d22c8f5e5d349687885f55120fa2f7c1251e399 +SHA1 (patch-dir.c) = 1616d8e26c0761c8734063806fa581ae8884b4e8 SHA1 (patch-main.c) = 6674cc95ce702c06b8214963bcb43bde3919be4f SHA1 (patch-makeint.h) = d4508002620ca35d2661c1b6f8ae0ed3b4771fb1 SHA1 (patch-pa) = 2c0168db7afec3da98b30392290e5b9464ea7b5e diff --git a/devel/gmake/patches/patch-dir.c b/devel/gmake/patches/patch-dir.c new file mode 100644 index 00000000000..a3dfe8de9b9 --- /dev/null +++ b/devel/gmake/patches/patch-dir.c @@ -0,0 +1,51 @@ +$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 -- cgit v1.2.3