summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/stdenv/adapters.nix12
-rw-r--r--pkgs/top-level/static.nix5
2 files changed, 15 insertions, 2 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 0409bf1104b..8f62bd24dda 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -65,6 +65,18 @@ rec {
       static = true;
     };
 
+
+  /* Modify a stdenv so that all buildInputs are implicitly propagated to
+     consuming derivations
+  */
+  propagateBuildInputs = stdenv: stdenv //
+    { mkDerivation = args: stdenv.mkDerivation (args // {
+        propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ (args.buildInputs or []);
+        buildInputs = [];
+      });
+    };
+
+
   /* Modify a stdenv so that the specified attributes are added to
      every derivation returned by its mkDerivation function.
 
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix
index 193356a61ec..108c6006fb6 100644
--- a/pkgs/top-level/static.nix
+++ b/pkgs/top-level/static.nix
@@ -12,7 +12,8 @@
 
 self: super: let
   inherit (super.stdenvAdapters) makeStaticBinaries
-                                 makeStaticLibraries;
+                                 makeStaticLibraries
+                                 propagateBuildInputs;
   inherit (super.lib) foldl optional flip id composeExtensions;
   inherit (super) makeSetupHook;
 
@@ -30,7 +31,7 @@ self: super: let
     });
   };
 
-  staticAdapters = [ makeStaticLibraries ]
+  staticAdapters = [ makeStaticLibraries propagateBuildInputs ]
 
     # Apple does not provide a static version of libSystem or crt0.o
     # So we can’t build static binaries without extensive hacks.