about summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorUri Baghin <uri@canva.com>2023-06-07 10:03:05 +1000
committerUri Baghin <uri@canva.com>2023-06-22 15:33:54 +1000
commitfd8e2ca0df35ddb67ad07f18cd570293ae0344b7 (patch)
treeb6df3b3a1fe5e3f7fec5b7c8332443d170a9d9a4 /pkgs/stdenv/adapters.nix
parent08285c3efb441d273ae25316c26414f8bfd01540 (diff)
downloadnixlib-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.nix24
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