| 12 May 2026 |
emily | could use importCargoLock for those | 14:18:10 |
hexa | I tried :D it has a git dep | 14:18:20 |
emily | lovely | 14:18:29 |
nim65s | httpx or aiohttp can be tried quickly I guess | 14:18:37 |
nim65s | but they may have the same issue, now or in a near future | 14:18:57 |
hexa | I tried httpx and the recursion chain is longer | 14:19:03 |
nim65s | at least they are pretty much dropin | 14:19:07 |
hexa | I did not try aiohttp because it does not have featre parity | 14:19:14 |
hexa | Redacted or Malformed Event | 14:19:22 |
hexa | by which I mean e.g. ALL_PROXY env var support | 14:19:57 |
figsoda | i believe importCargoLock can handle that unless something changed in the 2 years i was gone | 14:20:28 |
figsoda | with outputHashes | 14:20:50 |
hexa | I specify outputHash and it wants to fetch that and it results in an infinite recursioin | 14:20:54 |
hexa | Redacted or Malformed Event | 14:21:00 |
figsoda | do you have a wip branch perhaps i can take a look | 14:21:42 |
hexa | error: infinite recursion encountered
note: trace involved the following derivations:
derivation 'python3.14-ast-serialize-0.3.0'
derivation 'cargo-vendor-dir'
derivation 'ruff_python_ast-0.0.0'
derivation 'cargo-1.95.0'
derivation 'auditable-cargo-bootstrap-1.95.0'
derivation 'cargo-auditable-bootstrap-0.7.2'
derivation 'cargo-auditable-bootstrap-0.7.2-vendor'
derivation 'fetch-cargo-vendor-util'
derivation 'python3-3.14.5-env'
derivation 'python3.14-charset-normalizer-3.4.7'
derivation 'python3.14-mypy-2.1.0'
| 14:22:15 |
hexa | https://github.com/mweinelt/nixpkgs/tree/python-updates-wip | 14:23:56 |
hexa | the last two commits are the elevant ones | 14:24:17 |
hexa | Redacted or Malformed Event | 14:24:20 |
hexa | you can probably move to a simpler base | 14:24:30 |
hexa | anway, the chain is mypy -> charset_normalizer -> requests -> fetch-cargo-venor | 14:25:01 |
hexa | and the loop is now ast-serialize -> mypyp -> .... | 14:25:13 |
hexa | Redacted or Malformed Event | 14:25:31 |
nim65s | so we can bootstrap with a version that don't has mypy ? | 14:26:38 |
nim65s | * so we can bootstrap with a version that don't have mypy ? | 14:26:49 |
hexa | Redacted or Malformed Event | 14:27:29 |
hexa | hm, without mypyc, indeed | 14:28:00 |
hexa | diff --git a/pkgs/build-support/rust/fetch-cargo-vendor.nix b/pkgs/build-support/rust/fetch-cargo-vendor.nix
index 2802bf9e73f1..f97c270e731a 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,14 @@
}:
let
+ python = python3.override {
+ self = python;
+ packageOverrides = final: prev: {
+ charset-normalier = prev.charset-normalizer.override { withMypyc = false; };
+ };
+ };
+ python3Packages = python.pkgs;
+
replaceWorkspaceValues = writers.writePython3Bin "replace-workspace-values" {
libraries = with python3Packages; [
tomli
diff --git a/pkgs/development/python-modules/charset-normalizer/default.nix b/pkgs/development/python-modules/charset-normalizer/default.nix
index 5137ceb0e83f..c3650a402f17 100644
--- a/pkgs/development/python-modules/charset-normalizer/default.nix
+++ b/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -8,6 +8,7 @@
pytestCheckHook,
requests,
setuptools,
+ withMypyc ? !isPyPy,
}:
buildPythonPackage rec {
@@ -30,9 +31,9 @@ buildPythonPackage rec {
build-system = [
setuptools
]
- ++ lib.optional (!isPyPy) mypy;
+ ++ lib.optional (withMypyc) mypy;
- env.CHARSET_NORMALIZER_USE_MYPYC = lib.optionalString (!isPyPy) "1";
+ env.CHARSET_NORMALIZER_USE_MYPYC = lib.optionalString (withMypyc) "1";
nativeCheckInputs = [ pytestCheckHook ];
| 14:33:05 |
hexa | Redacted or Malformed Event | 14:33:10 |
emily | wonder if it makes sense to RIIR the fetcher so that the cycle can be broken locally | 14:33:26 |