From 7a0d08029866bef6dcc39d11d68ea6c52e12643d Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Tue, 17 May 2022 17:41:27 +0200 Subject: [PATCH] python3.pkgs.buildPython*: allow overriding of the stdenv With this change it is possible to pass in `stdenv` directly to `buildPython*` or override it using e.g. ``` numpy.overridePythonAttrs(_: { stdenv = clangStdenv; }) ``` --- .../interpreters/python/mk-python-derivation.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index fbacf6bb23374..81308900f224a 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -102,13 +102,14 @@ , disabledTestPaths ? [] +# Allow passing in a custom stdenv to buildPython* +, stdenv ? python.stdenv + , ... } @ attrs: assert (pyproject != null) -> (format == null); let - inherit (python) stdenv; - format' = if pyproject != null then if pyproject then @@ -194,7 +195,7 @@ let # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. self = toPythonModule (stdenv.mkDerivation ((builtins.removeAttrs attrs [ "disabled" "checkPhase" "checkInputs" "nativeCheckInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "pyproject" "format" - "disabledTestPaths" "outputs" + "disabledTestPaths" "outputs" "stdenv" ]) // { name = namePrefix + name_;