summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorminskim <minskim@pkgsrc.org>2018-04-30 01:47:30 +0000
committerminskim <minskim@pkgsrc.org>2018-04-30 01:47:30 +0000
commite60b87be665ffd172ab0eb1e4a199a69448dda5e (patch)
tree7275dbb225afb76ad14fdd07153cf07f50c99dc1
parent11614c62ad92fb8b923322772f5e8b49f0c6a624 (diff)
downloadpkgsrc-e60b87be665ffd172ab0eb1e4a199a69448dda5e.tar.gz
devel/gmake: Make this work with glibc glob interface v2
http://git.savannah.gnu.org/cgit/make.git/commit/?id=193f1e81
-rw-r--r--devel/gmake/Makefile4
-rw-r--r--devel/gmake/distinfo3
-rw-r--r--devel/gmake/patches/patch-dir.c51
3 files changed, 55 insertions, 3 deletions
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