summaryrefslogtreecommitdiff
path: root/lang/guile20
diff options
context:
space:
mode:
authorjperkin <jperkin@pkgsrc.org>2017-03-08 14:38:34 +0000
committerjperkin <jperkin@pkgsrc.org>2017-03-08 14:38:34 +0000
commitc895b75982bbc5cef94e48338fbe6f787abc3ff0 (patch)
tree281957021ed28376f73a8c93734c84a68e716468 /lang/guile20
parentf7a64a04ad322d328a27d2bd755b8085fec86be8 (diff)
downloadpkgsrc-c895b75982bbc5cef94e48338fbe6f787abc3ff0.tar.gz
Pull in upstream fix for mkostemp issue, should fix SunOS and PR#52035.
Diffstat (limited to 'lang/guile20')
-rw-r--r--lang/guile20/distinfo4
-rw-r--r--lang/guile20/patches/patch-libguile_filesys.c33
2 files changed, 14 insertions, 23 deletions
diff --git a/lang/guile20/distinfo b/lang/guile20/distinfo
index 54953dfffe2..b6459dae81a 100644
--- a/lang/guile20/distinfo
+++ b/lang/guile20/distinfo
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.8 2017/02/21 15:55:28 gdt Exp $
+$NetBSD: distinfo,v 1.9 2017/03/08 14:38:34 jperkin Exp $
SHA1 (guile-2.0.14.tar.gz) = fd04a4973715b8c4cd6c03a97e08d7f2c3c2bd68
RMD160 (guile-2.0.14.tar.gz) = 754aaf1bf3c6bed9afdde49c5154b87047408a1e
SHA512 (guile-2.0.14.tar.gz) = d69c9bdf589fedcc227f3203012f6ed11c327cef3a0147d8e016fe276abecdb4272625efe1d0c7aa68219fe8f29bbced44089a4b479e4eafe01976c6b2b83633
Size (guile-2.0.14.tar.gz) = 7823099 bytes
SHA1 (patch-lib_signal.in.h) = a5ddf019ed1e33b9f5b9994d1368be88660684a5
-SHA1 (patch-libguile_filesys.c) = 6274f3786b829f1007eaef362278912f1d8472cc
+SHA1 (patch-libguile_filesys.c) = 3aadb171d94e6ad583583b028b281c5f87818400
SHA1 (patch-libguile_stime.c) = a817e58e4ec05ad040a11ccdaacca53511ad0ad8
SHA1 (patch-libguile_threads.c) = 6250af1130fb8a6f22db4ba04c9f70bc6c9f0ade
diff --git a/lang/guile20/patches/patch-libguile_filesys.c b/lang/guile20/patches/patch-libguile_filesys.c
index 59593293fb4..842706b1a0a 100644
--- a/lang/guile20/patches/patch-libguile_filesys.c
+++ b/lang/guile20/patches/patch-libguile_filesys.c
@@ -1,28 +1,19 @@
-$NetBSD: patch-libguile_filesys.c,v 1.3 2017/02/21 15:55:28 gdt Exp $
+$NetBSD: patch-libguile_filesys.c,v 1.4 2017/03/08 14:38:34 jperkin Exp $
-When using mkostemp (an interface not defined by POSIX), restrict
-flags to the set defined by the documentation of particular operating
-systems.
-
-See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24862#23 for discussion.
-
-This patch has not yet been sent upstream.
+Pull in upstream patch to fix mkostemp flags.
--- libguile/filesys.c.orig 2016-12-15 00:03:33.000000000 +0000
+++ libguile/filesys.c
-@@ -1486,6 +1486,15 @@ SCM_DEFINE (scm_i_mkstemp, "mkstemp!", 1
+@@ -1483,6 +1483,12 @@ SCM_DEFINE (scm_i_mkstemp, "mkstemp!", 1
+ else
+ {
+ open_flags = scm_i_mode_to_open_flags (mode, &is_binary, FUNC_NAME);
++ /* mkostemp(2) only defines O_APPEND, O_SYNC, and O_CLOEXEC to be
++ useful, as O_RDWR|O_CREAT|O_EXCL are implicitly added. It also
++ notes that other flags may error on some systems, which turns
++ out to be the case. Of those flags, O_APPEND is the only one
++ of interest anyway, so limit to that flag. */
++ open_flags &= O_APPEND;
mode_bits = scm_i_mode_bits (mode);
}
-+#ifdef __APPLE__
-+ /* https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24862#23 */
-+ open_flags &= O_APPEND|O_SHLOCK|O_EXLOCK|O_CLOEXEC;
-+#endif
-+#ifdef __NetBSD__
-+ /* Restrict to list of flags documented in man page. */
-+ open_flags &= O_APPEND|O_DIRECT|O_SHLOCK|O_EXLOCK|O_SYNC|O_CLOEXEC;
-+#endif
-+
- SCM_SYSCALL (rv = mkostemp (c_tmpl, open_flags));
- if (rv == -1)
- SCM_SYSERROR;