about summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-08-20 06:03:45 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2021-08-20 06:09:48 +0000
commit3edba5edfceef20c613c37967685f5eb04d1877d (patch)
tree88120499a4c8cf26e6e10f2899ee13f016da5e7c /pkgs/stdenv/adapters.nix
parent904625852d535bbe53cadb006c9e1137ab481818 (diff)
downloadnixlib-3edba5edfceef20c613c37967685f5eb04d1877d.tar
nixlib-3edba5edfceef20c613c37967685f5eb04d1877d.tar.gz
nixlib-3edba5edfceef20c613c37967685f5eb04d1877d.tar.bz2
nixlib-3edba5edfceef20c613c37967685f5eb04d1877d.tar.lz
nixlib-3edba5edfceef20c613c37967685f5eb04d1877d.tar.xz
nixlib-3edba5edfceef20c613c37967685f5eb04d1877d.tar.zst
nixlib-3edba5edfceef20c613c37967685f5eb04d1877d.zip
pkgsStatic: Finally obviate overlay!
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r--pkgs/stdenv/adapters.nix14
1 files changed, 14 insertions, 0 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 9e1c73a57db1..971be95e935d 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -108,6 +108,20 @@ rec {
     });
   });
 
+  # Puts all the other ones together
+  makeStatic = stdenv: lib.foldl (lib.flip lib.id) stdenv (
+    lib.optional 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.
+    ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeStaticBinaries
+
+    # Glibc doesn’t come with static runtimes by default.
+    # ++ lib.optional (stdenv.hostPlatform.libc == "glibc") ((lib.flip overrideInStdenv) [ self.stdenv.glibc.static ])
+  );
+
 
   /* Modify a stdenv so that all buildInputs are implicitly propagated to
      consuming derivations