lib.extendDerivation: Fix interaction between output selection and overrideAttrs

This commit is contained in:
Robert Hensing 2022-11-19 11:40:46 +01:00 committed by Artturin
parent bff126ffbc
commit 5b2f597b11

View File

@ -213,6 +213,13 @@ rec {
outputSpecified = true; outputSpecified = true;
drvPath = assert condition; drv.${outputName}.drvPath; drvPath = assert condition; drv.${outputName}.drvPath;
outPath = assert condition; drv.${outputName}.outPath; outPath = assert condition; drv.${outputName}.outPath;
} //
# TODO: give the derivation control over the outputs.
# `overrideAttrs` may not be the only attribute that needs
# updating when switching outputs.
lib.optionalAttrs (passthru?overrideAttrs) {
# TODO: also add overrideAttrs when overrideAttrs is not custom, e.g. when not splicing.
overrideAttrs = f: (passthru.overrideAttrs f).${outputName};
}; };
}; };