diff options
author | Uri Baghin <uri@canva.com> | 2023-06-26 15:22:01 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-26 15:22:01 +1000 |
commit | 6e51b1a92e681d31a1e4013807e4164d21c9c159 (patch) | |
tree | 4d7c98d14f0b8ddbddc50974af5df797eb8275b2 /pkgs/stdenv | |
parent | 128d5e13962d6f810295b82d99a91cc95be64bfe (diff) | |
parent | 42b5817e6b94974614cc9d0f803c14551274d6c5 (diff) |
Merge pull request #235990 from uri-canva/fix-static
nixStatic: Fix darwin.
Diffstat (limited to 'pkgs/stdenv')
-rw-r--r-- | pkgs/stdenv/adapters.nix | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 0c5645e5a487f..f5fbbcc22805d 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -95,18 +95,20 @@ rec { makeStaticDarwin = stdenv: stdenv.override (old: { # extraBuildInputs are dropped in cross.nix, but darwin still needs them extraBuildInputs = [ pkgs.buildPackages.darwin.CF ]; - mkDerivationFromStdenv = extendMkDerivationArgs old (args: { - NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + mkDerivationFromStdenv = withOldMkDerivation old (stdenv: mkDerivationSuper: args: + (mkDerivationSuper args).overrideAttrs (finalAttrs: { + NIX_CFLAGS_LINK = toString (finalAttrs.NIX_CFLAGS_LINK or "") + lib.optionalString (stdenv.cc.isGNU or false) " -static-libgcc"; - nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ - (pkgs.buildPackages.makeSetupHook { - name = "darwin-portable-libSystem-hook"; - substitutions = { - libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib"; - }; - } ./darwin/portable-libsystem.sh) - ]; - }); + nativeBuildInputs = (finalAttrs.nativeBuildInputs or []) + ++ lib.optional stdenv.hasCC [ + (pkgs.buildPackages.makeSetupHook { + name = "darwin-portable-libSystem-hook"; + substitutions = { + libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib"; + }; + } ./darwin/portable-libsystem.sh) + ]; + })); }); # Puts all the other ones together |