From 1c26a2fabc21ef4e126e06241a24989a8272cf20 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Sat, 31 Aug 2024 23:52:05 -0400 Subject: [PATCH] makeStaticDarwin: handle when `env.NIX_CFLAGS_LINK` is set --- pkgs/stdenv/adapters.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index fab385c9a50c..b566eb6291eb 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -138,11 +138,16 @@ rec { # but more portable than Nix store binaries. makeStaticDarwin = stdenv: stdenv.override (old: { mkDerivationFromStdenv = withOldMkDerivation old (stdenv: mkDerivationSuper: args: - (mkDerivationSuper args).overrideAttrs (prevAttrs: { - NIX_CFLAGS_LINK = toString (prevAttrs.NIX_CFLAGS_LINK or "") - + lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc"; - nativeBuildInputs = (prevAttrs.nativeBuildInputs or []); - })); + (mkDerivationSuper args).overrideAttrs (prevAttrs: + if prevAttrs ? env.NIX_CFLAGS_LINK then { + env = prevAttrs.env // { + NIX_CFLAGS_LINK = toString args.env.NIX_CFLAGS_LINK + + lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc"; + }; + } else { + NIX_CFLAGS_LINK = toString (prevAttrs.NIX_CFLAGS_LINK or "") + + lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc"; + })); }); # Puts all the other ones together