diff options
author | Jude Taylor <jude.taylor@dfinity.org> | 2020-04-28 07:51:39 -0700 |
---|---|---|
committer | Jude Taylor <jude.taylor@dfinity.org> | 2020-04-28 08:41:48 -0700 |
commit | 0de6275003170cb82e5f9a3bdfb649ff22b8b12a (patch) | |
tree | 777fe88588412df18621640e61529f219941c23c /pkgs/top-level/static.nix | |
parent | 7610f0417b2f3c42f99ff1f30f8224007fb31a20 (diff) | |
download | nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.tar nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.tar.gz nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.tar.bz2 nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.tar.lz nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.tar.xz nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.tar.zst nixpkgs-0de6275003170cb82e5f9a3bdfb649ff22b8b12a.zip |
pkgsStatic: fix eval on Darwin
Diffstat (limited to 'pkgs/top-level/static.nix')
-rw-r--r-- | pkgs/top-level/static.nix | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index c7db64b99f6..b372af12b79 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -14,15 +14,18 @@ self: super: let inherit (super.stdenvAdapters) makeStaticBinaries makeStaticLibraries propagateBuildInputs; - inherit (super.lib) foldl optional flip id composeExtensions optionalAttrs; + inherit (super.lib) foldl optional flip id composeExtensions optionalAttrs optionalString; inherit (super) makeSetupHook; # Best effort static binaries. Will still be linked to libSystem, # but more portable than Nix store binaries. - makeStaticDarwin = stdenv: stdenv // { + makeStaticDarwin = stdenv_: let stdenv = stdenv_.override { + # extraBuildInputs are dropped in cross.nix, but darwin still needs them + extraBuildInputs = [ self.buildPackages.darwin.CF ]; + }; in stdenv // { mkDerivation = args: stdenv.mkDerivation (args // { NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") - + " -static-libgcc"; + + optionalString stdenv.cc.isGNU " -static-libgcc"; nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ (makeSetupHook { substitutions = { libsystem = "${stdenv.cc.libc}/lib/libSystem.B.dylib"; |