summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/xscreensaver/files/xscreensaver-6.01-interix.patch')
-rw-r--r--x11-misc/xscreensaver/files/xscreensaver-6.01-interix.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/x11-misc/xscreensaver/files/xscreensaver-6.01-interix.patch b/x11-misc/xscreensaver/files/xscreensaver-6.01-interix.patch
new file mode 100644
index 000000000000..72aa6535f139
--- /dev/null
+++ b/x11-misc/xscreensaver/files/xscreensaver-6.01-interix.patch
@@ -0,0 +1,30 @@
+diff -Nru a/driver/prefsw.c b/driver/prefsw.c
+--- a/driver/prefsw.c 2021-02-19 02:52:32.000000000 +0100
++++ b/driver/prefsw.c 2021-05-07 15:20:09.280321274 +0200
+@@ -798,7 +798,10 @@
+ sure that the bits actually land on the disk right away. */
+ /* Update 2020: Apparently here in the future, this sometimes takes
+ 3+ seconds, so let's not. */
++/* Interix has no sync() or alike. */
++#ifndef __INTERIX
+ /* sync(); */
++#endif
+
+ status = 0; /* wrote and renamed successfully! */
+ }
+diff -Nru a/driver/setuid.c b/driver/setuid.c
+--- a/driver/setuid.c 2021-02-05 16:16:23.000000000 +0100
++++ b/driver/setuid.c 2021-05-07 15:21:05.987949943 +0200
+@@ -104,9 +104,12 @@
+ if (uid == (uid_t) -1) uid = (uid_t) -2;
+
+ errno = 0;
++
++#ifndef __INTERIX
+ if (setgroups_needed_p (gid) &&
+ setgroups (1, &gid) < 0)
+ sgs_errno = errno ? errno : -1;
++#endif
+
+ errno = 0;
+ if (setgid (gid) != 0)