From 807b01da820ed3793b4a4545bf29cf14cc4c5801 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 11 Jan 2026 01:49:48 +0100 Subject: [PATCH] ucspi-tcp: fix build with GCC 14 Uses K&R C style function declarations (e.g., `extern int wait_nohang();`) which GCC 14+ treats as `(void)`, causing 'too many arguments' errors. Adding -std=gnu89 restores the pre-C23 behavior where empty parameter lists mean unspecified parameters. --- pkgs/by-name/uc/ucspi-tcp/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/uc/ucspi-tcp/package.nix b/pkgs/by-name/uc/ucspi-tcp/package.nix index d12828e15847..27dd43811476 100644 --- a/pkgs/by-name/uc/ucspi-tcp/package.nix +++ b/pkgs/by-name/uc/ucspi-tcp/package.nix @@ -10,6 +10,9 @@ stdenv.mkDerivation rec { pname = "ucspi-tcp"; version = "0.88"; + # Uses K&R C style function declarations which GCC 14+ rejects + env.NIX_CFLAGS_COMPILE = "-std=gnu89"; + src = fetchurl { url = "https://cr.yp.to/ucspi-tcp/ucspi-tcp-${version}.tar.gz"; sha256 = "171yl9kfm8w7l17dfxild99mbf877a9k5zg8yysgb1j8nz51a1ja";