From e05bc0af963bc1c440374d73a35c0a252a60a1bf Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 19 Jan 2026 03:55:21 +0800 Subject: [PATCH] python2Packages.buildPythonPackage: preserve disabled after .overrideAttrs Port to python2/mk-python-derivation.nix commit bb3a41f312d0 ("buildPython*: fix the disabled functionality for overrideAttrs-") --- .../python/python2/mk-python-derivation.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 6184fe0ef316..e5dd2546643b 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -304,7 +304,18 @@ let } ) ); + + # Workaround to make the `lib.extendDerivation`-based disabled functionality + # respect `.overrideAttrs` + # It doesn't cover `..overrideAttrs`. + disablePythonPackage = + drv: + lib.extendDerivation ( + drv.disabled + -> throw "${lib.removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}" + ) { } drv + // { + overrideAttrs = fdrv: disablePythonPackage (drv.overrideAttrs fdrv); + }; in -lib.extendDerivation ( - disabled -> throw "${name} not supported for interpreter ${python.executable}" -) { } self +disablePythonPackage self