diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 09d2e52d276a1..53a45d2ff9108 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -452,11 +452,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 `.overrideAttrs` + # It doesn't cover `..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