diff options
author | Rahul Butani <rrbutani@users.noreply.github.com> | 2024-05-10 01:27:14 -0700 |
---|---|---|
committer | Rahul Butani <rrbutani@users.noreply.github.com> | 2024-05-10 01:27:19 -0700 |
commit | 7c28930254ca30130b0598eac806f15b2d428883 (patch) | |
tree | d3535beb26541e88d5050c86105889cb333311d8 | |
parent | 446a3fbadaa5d5338bdb7127fac484e9db1ee2ec (diff) |
uucp: unbreak on Darwin/in `pkgsLLVM`
`configure` contains snippets like `main(){return(0);}` which modern clang versions complain about (with the default warnings and errors): ```console configure:1283:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] main(){return(0);} ^ int ``` As a workaround, this commit has the package: - regenerate `configure` as part of the build - patches a test for `void` to not rely on `exit` being implicitly defined
-rw-r--r-- | pkgs/tools/misc/uucp/default.nix | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/pkgs/tools/misc/uucp/default.nix b/pkgs/tools/misc/uucp/default.nix index 28f7a6572c185..4e1d74e4f73af 100644 --- a/pkgs/tools/misc/uucp/default.nix +++ b/pkgs/tools/misc/uucp/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, autoreconfHook }: stdenv.mkDerivation rec { pname = "uucp"; @@ -13,11 +13,19 @@ stdenv.mkDerivation rec { prePatch = '' # do not set sticky bit in nix store - substituteInPlace Makefile.in \ - --replace 4555 0555 - sed -i '/chown $(OWNER)/d' Makefile.in + substituteInPlace Makefile.am \ + --replace-fail 4555 0555 + sed -i '/chown $(OWNER)/d' Makefile.am + + # don't reply on implicitly defined `exit` function in `HAVE_VOID` test: + substituteInPlace configure.in \ + --replace-fail '(void) exit (0)' '(void) (0)' ''; + # Regenerate `configure`; the checked in version was generated in 2002 and + # contains snippets like `main(){return(0);}` that modern compilers dislike. + nativeBuildInputs = [ autoreconfHook ]; + makeFlags = [ "AR:=$(AR)" ]; meta = { |