buildPythonPackage: preserve the disabled effect after <pkg>.overrideAttrs (#376419)

This commit is contained in:
Martin Weinelt 2025-05-23 22:39:11 +02:00 committed by GitHub
commit a64a02f6d6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -472,11 +472,21 @@ let
# This derivation transformation function must be independent to `attrs`
# for fixed-point arguments support in the future.
transformDrv =
drv:
extendDerivation (
drv.disabled
-> throw "${removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}"
) { } (toPythonModule drv);
let
# Workaround to make the `lib.extendDerivation`-based disabled functionality
# respect `<pkg>.overrideAttrs`
# It doesn't cover `<pkg>.<output>.overrideAttrs`.
disablePythonPackage =
drv:
extendDerivation (
drv.disabled
-> throw "${removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}"
) { } drv
// {
overrideAttrs = fdrv: disablePythonPackage (drv.overrideAttrs fdrv);
};
in
drv: disablePythonPackage (toPythonModule drv);
in
transformDrv self