zsh: fix sigsuspend probe under autoconf 2.73 / C23 (#513971)

This commit is contained in:
Adam C. Stephens
2026-04-27 13:36:04 +00:00
committed by GitHub
2 changed files with 20 additions and 0 deletions
@@ -0,0 +1,17 @@
Prototype the K&R handler so the probe still compiles under -std=gnu23
(selected by autoconf 2.73). Upstream removed the probe in 8dd271fdec52,
which does not apply against 5.9 with the PCRE backports.
https://github.com/NixOS/nixpkgs/issues/513543
--- a/configure.ac
+++ b/configure.ac
@@ -2334,8 +2334,7 @@ if test x$signals_style = xPOSIX_SIGNALS; then
#include <signal.h>
#include <unistd.h>
int child=0;
-void handler(sig)
- int sig;
+void handler(int sig)
{if(sig==SIGCHLD) child=1;}
int main() {
struct sigaction act;
+3
View File
@@ -63,6 +63,9 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-bl1PG9Zk1wK+2mfbCBhD3OEpP8HQboqEO8sLFqX8DmA=";
excludes = [ "ChangeLog" ];
})
# autoconf 2.73 picks -std=gnu23, breaking the K&R sigsuspend probe and
# causing $(...) hangs. Drop with the next zsh release.
./fix-sigsuspend-probe-c23.patch
]
++ lib.optionals stdenv.cc.isGNU [
# Fixes compilation with gcc >= 14.