about summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorJames Kay <james@hadean.com>2018-12-13 20:35:50 +0000
committerJames Kay <james@hadean.com>2018-12-14 11:02:18 +0000
commiteb76dd37a709a1ad21fb297c005a8ac428053964 (patch)
treefee1ee3bb771740ad6c2e3a5df9ee5e0c6faa526 /pkgs/stdenv/adapters.nix
parentb7fbde893a705c1fbaaedc278b86691ffd935e43 (diff)
downloadnixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.tar
nixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.tar.gz
nixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.tar.bz2
nixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.tar.lz
nixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.tar.xz
nixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.tar.zst
nixlib-eb76dd37a709a1ad21fb297c005a8ac428053964.zip
makeStaticBinaries: add a static glibc when performing a mkDerivation
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r--pkgs/stdenv/adapters.nix15
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 850785cd881f..7823d6413442 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -31,12 +31,19 @@ rec {
 
   # Return a modified stdenv that tries to build statically linked
   # binaries.
-  makeStaticBinaries = stdenv: stdenv //
+  makeStaticBinaries = stdenv:
+    let stdenv' = if stdenv.hostPlatform.libc != "glibc" then stdenv else
+      stdenv.override (prev: {
+          extraBuildInputs = prev.extraBuildInputs or [] ++ [
+              stdenv.glibc.static
+            ];
+        });
+    in stdenv' //
     { mkDerivation = args:
-      if stdenv.hostPlatform.isDarwin
+      if stdenv'.hostPlatform.isDarwin
       then throw "Cannot build fully static binaries on Darwin/macOS"
-      else stdenv.mkDerivation (args // {
-        NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + "-static";
+      else stdenv'.mkDerivation (args // {
+        NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + " -static";
         configureFlags = (args.configureFlags or []) ++ [
             "--disable-shared" # brrr...
           ];