diff options
author | Uri Baghin <uri@canva.com> | 2023-06-07 10:03:05 +1000 |
---|---|---|
committer | Uri Baghin <uri@canva.com> | 2023-06-22 15:33:54 +1000 |
commit | fd8e2ca0df35ddb67ad07f18cd570293ae0344b7 (patch) | |
tree | b6df3b3a1fe5e3f7fec5b7c8332443d170a9d9a4 /pkgs/stdenv/adapters.nix | |
parent | 08285c3efb441d273ae25316c26414f8bfd01540 (diff) | |
download | nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.tar nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.tar.gz nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.tar.bz2 nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.tar.lz nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.tar.xz nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.tar.zst nixlib-fd8e2ca0df35ddb67ad07f18cd570293ae0344b7.zip |
stdenv: fix makeStaticDarwin not composing with stdenvNoCC
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-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 0c5645e5a487..f5fbbcc22805 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 |