From 0aebd262f121eb2162636a57db666d39d623bdd3 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sun, 28 Sep 2025 17:00:12 +0800 Subject: [PATCH] python3Packages.buildPythonPackage: add internal helper getFinalPassthru Add getFinalPassthru, an internal helper function that produces informative error message when an atttribute is not found in `finalAttrs.passthru`. --- .../interpreters/python/mk-python-derivation.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index eb8e76101c49..98565766e54b 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -204,6 +204,20 @@ let self = stdenv.mkDerivation ( finalAttrs: let + getFinalPassthru = + let + pos = unsafeGetAttrPos "passthru" finalAttrs; + in + attrName: + finalAttrs.passthru.${attrName} or (throw ( + '' + ${finalAttrs.name}: passthru.${attrName} missing after overrideAttrs overriding. + '' + + optionalString (pos != null) '' + Last overridden at ${pos.file}:${toString pos.line} + '' + )); + format' = assert (pyproject != null) -> (format == null); if pyproject != null then