From 04c39df3258e848613f95e06775ec46e2665fe13 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sat, 1 Feb 2025 23:40:28 +0800 Subject: [PATCH] buildPython*: abstract out transformDrv --- .../interpreters/python/mk-python-derivation.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 11bb1af773ee..39263a887639 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -271,7 +271,7 @@ let isSetuptoolsDependency = isSetuptoolsDependency' (attrs.pname or null); # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. - self = toPythonModule ( + self = ( stdenv.mkDerivation ( finalAttrs: (cleanAttrs attrs) @@ -451,7 +451,14 @@ let ) ); + # This derivation transformation function must be independent to `attrs` + # for fixed-point arguments support in the future. + transformDrv = + drv: + extendDerivation ( + drv.disabled + -> throw "${lib.removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}" + ) { } (toPythonModule drv); + in -extendDerivation ( - disabled -> throw "${name} not supported for interpreter ${python.executable}" -) { } self +transformDrv self