summaryrefslogtreecommitdiffstats
path: root/source/d
diff options
context:
space:
mode:
Diffstat (limited to 'source/d')
-rw-r--r--source/d/make/0370a7a40fe9523ea334dcb8a2a60f1418595b49.patch48
-rwxr-xr-xsource/d/make/make.SlackBuild4
-rwxr-xr-xsource/d/ruby/ruby.SlackBuild2
3 files changed, 52 insertions, 2 deletions
diff --git a/source/d/make/0370a7a40fe9523ea334dcb8a2a60f1418595b49.patch b/source/d/make/0370a7a40fe9523ea334dcb8a2a60f1418595b49.patch
new file mode 100644
index 000000000..9b6a35447
--- /dev/null
+++ b/source/d/make/0370a7a40fe9523ea334dcb8a2a60f1418595b49.patch
@@ -0,0 +1,48 @@
+commit 0370a7a40fe9523ea334dcb8a2a60f1418595b49
+Author: Dmitry Goncharov <dgoncharov@users.sf.net>
+Date: Sun Nov 6 07:36:26 2022 -0500
+
+ [SV 63307] Spawn children with the default disposition of sigpipe.
+
+ * src/main.c (main): Set sigpipe disposition to a handler, rather than
+ SIG_IGN, in order for children to have the default sigpipe disposition.
+ * tests/scripts/misc/sigpipe: Add sigpipe tests.
+
+diff --git a/src/main.c b/src/main.c
+index eec93656..d8857696 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -1152,6 +1152,15 @@ temp_stdin_unlink ()
+ }
+ }
+
++#ifdef SIGPIPE
++static void
++handle_sigpipe (int sig)
++{
++ /* Suppress unused variable warning. */
++ sig = sig;
++}
++#endif
++
+ #ifdef _AMIGA
+ int
+ main (int argc, char **argv)
+@@ -1182,9 +1191,15 @@ main (int argc, char **argv, char **envp)
+ /* Useful for attaching debuggers, etc. */
+ SPIN ("main-entry");
+
+- /* Don't die if our stdout sends us SIGPIPE. */
++ /* Don't die if our stdout sends us SIGPIPE to get temporary files removed.
++ * If make has inherited SIG_IGN, keep running with SIG_IGN to let make's
++ * children inherit SIG_IGN.
++ * Othwerwise, set sigpipe disposition to a handler, in order for children to
++ * have the default sigpipe disposition. */
++
+ #ifdef SIGPIPE
+- bsd_signal (SIGPIPE, SIG_IGN);
++ if (bsd_signal (SIGPIPE, handle_sigpipe) == SIG_IGN)
++ bsd_signal (SIGPIPE, SIG_IGN);
+ #endif
+
+ #ifdef HAVE_ATEXIT
diff --git a/source/d/make/make.SlackBuild b/source/d/make/make.SlackBuild
index dfce383db..e879bcff1 100755
--- a/source/d/make/make.SlackBuild
+++ b/source/d/make/make.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=make
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -77,6 +77,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+cat $CWD/0370a7a40fe9523ea334dcb8a2a60f1418595b49.patch | patch -p1 --verbose || exit 1
+
# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/d/ruby/ruby.SlackBuild b/source/d/ruby/ruby.SlackBuild
index 092377804..d3c486f53 100755
--- a/source/d/ruby/ruby.SlackBuild
+++ b/source/d/ruby/ruby.SlackBuild
@@ -32,7 +32,7 @@ else
VERSION=$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
fi
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then