From 3ca34d25fce6a6cf70a3284446ee2d96c6dbc558 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 12 May 2026 17:35:11 +0200 Subject: [PATCH] fetchCargoVendor: break infinite recursion with ast-serialize The ast-serialize package depends on fetchCargoVendor and is part of the bootstrap chain for requests. --- pkgs/build-support/rust/fetch-cargo-vendor.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/rust/fetch-cargo-vendor.nix b/pkgs/build-support/rust/fetch-cargo-vendor.nix index 2802bf9e73f1..23c746921c57 100644 --- a/pkgs/build-support/rust/fetch-cargo-vendor.nix +++ b/pkgs/build-support/rust/fetch-cargo-vendor.nix @@ -3,7 +3,7 @@ stdenvNoCC, runCommand, writers, - python3Packages, + python3, cargo, gitMinimal, nix-prefetch-git, @@ -11,6 +11,16 @@ }: let + python = python3.override { + self = python; + packageOverrides = final: prev: { + # The ast-serialize package, a dependency for mypy, depends on + # fetchCargoVendor and is part of the bootstrap chain for requests. + charset-normalizer = prev.charset-normalizer.override { withMypyc = false; }; + }; + }; + python3Packages = python.pkgs; + replaceWorkspaceValues = writers.writePython3Bin "replace-workspace-values" { libraries = with python3Packages; [ tomli