summary refs log tree commit diff
path: root/pkgs/os-specific/linux/musl
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-08-16 21:16:29 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2021-08-18 17:22:50 +0000
commitf110a182a66005782c0e58091bcda7243bf2a0ae (patch)
tree9dc114f30483a606958aea2685110a8382451539 /pkgs/os-specific/linux/musl
parentaa045621af26840816c7760f0e0f3d41e91dfaa8 (diff)
downloadnixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.tar
nixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.tar.gz
nixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.tar.bz2
nixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.tar.lz
nixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.tar.xz
nixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.tar.zst
nixpkgs-f110a182a66005782c0e58091bcda7243bf2a0ae.zip
stdenv: Fix overriding + `overrideAttrs`
The old stdenv adapters were subtly wrong in two ways:

 - `overrideAttrs` leaked the original, unoverridden `mkDerivation`.

 - `stdenv.override` would throw away any manually-set `mkDerivation`
   from a stdenv reverting to the original.

Now, `mkDerivation` is controlled (nearly directly) via an argument, and
always correctly closes over the final ("self") stdenv. This means the
adapters can work entirely via `.override` without any manual `stdenv //
...`, and both those issues are fixed.

Note hashes are changed, because stdenvs no previously overridden like
`stdenvNoCC` and `crossLibcStdenv` now are. I had to add some
`dontDisableStatic = true` accordingly. The flip side however is that
since the overrides compose, we no longer need to override anything but
the default `stdenv` from which all the others are created.
Diffstat (limited to 'pkgs/os-specific/linux/musl')
-rw-r--r--pkgs/os-specific/linux/musl/default.nix1
1 files changed, 1 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index ae175a36324..f19c7ea7a44 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -82,6 +82,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   dontDisableStatic = true;
+  dontAddStaticConfigureFlags = true;
   separateDebugInfo = true;
 
   NIX_DONT_SET_RPATH = true;