Something I wasn’t clear about was that substituteAll
is also based on stdenv.mkDerivation
, but it overrides the default builder. That’s why it has overrideAttrs
but doesn’t respect patches
.
This is fair and an issue with the current approach of mkDerivation
. This situation might get better once module system for packages is implemented: Working group member search: Module system for packages
This is currently only documented in the source code. I opened an issue to add it to the manual as well.
You can find same the documentation with noogle, though it doesn’t show up in the first few pages if you search patch
.