3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/stdenv/generic
John Ericson f110a182a6 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.
2021-08-18 17:22:50 +00:00
..
builder.sh
check-meta.nix stdenv/check-meta: add maxSilent 2021-08-07 02:18:59 +03:00
default-builder.sh
default.nix stdenv: Fix overriding + overrideAttrs 2021-08-18 17:22:50 +00:00
make-derivation.nix stdenv: Fix overriding + overrideAttrs 2021-08-18 17:22:50 +00:00
setup.sh stdenv: typo 2021-07-19 14:49:47 +09:00