diff --git a/overrides/build-systems.json b/overrides/build-systems.json index 89ef6d7..6364f18 100644 --- a/overrides/build-systems.json +++ b/overrides/build-systems.json @@ -8564,7 +8564,15 @@ "setuptools" ], "mkdocs-material": [ - "setuptools" + "setuptools", + { + "buildSystem": "hatchling", + "from": "8.5.3" + }, + { + "buildSystem": "hatch-nodejs-version", + "from": "8.5.3" + } ], "mkdocs-material-extensions": [ { diff --git a/overrides/default.nix b/overrides/default.nix index 6be59f8..dd7c53f 100644 --- a/overrides/default.nix +++ b/overrides/default.nix @@ -2739,6 +2739,20 @@ lib.composeManyExtensions [ mkdocs = super.mkdocs.overridePythonAttrs (old: { propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.babel ]; }); + + # hatch-requirements-txt has a huge set of circular dependencies which + # are only used at build time, and none of which are required to use + # mkdocs-material as a dependency, so we remove the part of + # pyproject.toml that requires it + mkdocs-material = super.mkdocs-material.overridePythonAttrs (old: { + postPatch = pkgs.optionalString (lib.versionAtLeast old.version "8.5.3") '' + substituteInPlace pyproject.toml \ + --replace ', "hatch-requirements-txt"' "" \ + --replace '"hatch-requirements-txt",' "" \ + --replace '[tool.hatch.metadata.hooks.requirements_txt]' "" \ + --replace 'filename = "requirements.txt"' "" + ''; + }); } )