diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index 82708d112f1..b8d0d16e97b 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -34,14 +34,18 @@ self: super: let }); }; - staticAdapters = [ makeStaticLibraries propagateBuildInputs ] + staticAdapters = + # makeStaticDarwin must go first so that the extraBuildInputs + # override does not recreate mkDerivation, removing subsequent + # adapters. + optional super.stdenv.hostPlatform.isDarwin makeStaticDarwin + + ++ [ makeStaticLibraries propagateBuildInputs ] # Apple does not provide a static version of libSystem or crt0.o # So we can’t build static binaries without extensive hacks. ++ optional (!super.stdenv.hostPlatform.isDarwin) makeStaticBinaries - ++ optional super.stdenv.hostPlatform.isDarwin makeStaticDarwin - # Glibc doesn’t come with static runtimes by default. # ++ optional (super.stdenv.hostPlatform.libc == "glibc") ((flip overrideInStdenv) [ self.stdenv.glibc.static ]) ;