diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index d2efb4be73ef..9c3546237de6 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -215,6 +215,23 @@ rec { mkDerivationFromStdenv = extendMkDerivationArgs old (_: extraAttrs); }); + /* + Modify a stdenv so as to extend `mkDerivation`'s arguments. + A stronger version of `addAttrsToDerivation`. + + Example: + requireCcache = + overrideMkDerivationArgs + (oldAttrs: { + requiredSystemFeatures = oldAttrs.requiredSystemFeatures or [ ] ++ [ "ccache" ]; + }); + */ + overrideMkDerivationArgs = + extension: stdenv: + stdenv.override (old: { + mkDerivationFromStdenv = extendMkDerivationArgs old extension; + }); + /* Use the trace output to report all processed derivations with their license name.