Unverified Commit a504cf27 authored by Adam C. Stephens's avatar Adam C. Stephens Committed by GitHub
Browse files

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

parents 01fcddad 19b2d2ac
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
@@ -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.