diff options
| author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-08-16 21:16:29 -0400 |
|---|---|---|
| committer | John Ericson <John.Ericson@Obsidian.Systems> | 2021-08-18 17:22:50 +0000 |
| commit | f110a182a66005782c0e58091bcda7243bf2a0ae (patch) | |
| tree | 9dc114f30483a606958aea2685110a8382451539 /pkgs/development/python-modules/rangehttpserver | |
| parent | aa045621af26840816c7760f0e0f3d41e91dfaa8 (diff) | |
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/development/python-modules/rangehttpserver')
0 files changed, 0 insertions, 0 deletions
