diff --git a/pkgs/development/python-modules/hatch/default.nix b/pkgs/development/python-modules/hatch/default.nix index 21c71e08c5f8..909df93a064a 100644 --- a/pkgs/development/python-modules/hatch/default.nix +++ b/pkgs/development/python-modules/hatch/default.nix @@ -19,6 +19,7 @@ pexpect, platformdirs, pyproject-hooks, + python-discovery, rich, shellingham, tomli-w, @@ -47,18 +48,18 @@ buildPythonPackage (finalAttrs: { pname = "hatch"; - version = "1.16.2"; + version = "1.16.5"; pyproject = true; src = fetchFromGitHub { owner = "pypa"; repo = "hatch"; tag = "hatch-v${finalAttrs.version}"; - hash = "sha256-A91tpoNBTerB2e09dmvgwealId8mnjxcyiVyCkMxQlY="; + hash = "sha256-pUlRy8ar0zXsGGSA1VTZyPiU4LruYp/maU2C5T4E5WI="; }; patches = [ - (replaceVars ./paths.patch { + (replaceVars ./inject-uv-path.patch { uv = lib.getExe uv; }) ]; @@ -68,8 +69,12 @@ buildPythonPackage (finalAttrs: { hatch-vcs ]; - pythonRemoveDeps = [ "uv" ]; - + pythonRemoveDeps = [ + "uv" + ]; + pythonRelaxDeps = [ + "virtualenv" + ]; dependencies = [ click hatchling @@ -80,6 +85,7 @@ buildPythonPackage (finalAttrs: { pexpect platformdirs pyproject-hooks + python-discovery rich shellingham tomli-w @@ -108,6 +114,13 @@ buildPythonPackage (finalAttrs: { ]; disabledTests = [ + # AssertionError: assert ['dep2', 'pro...u7kv', 'dep1'] == ['dep2', 'pro...u7kv', 'dep1'] + # At index 1 diff: 'proj@ file:///build/tmp5snbu7kv' != 'proj @ file:///build/tmp5snbu7kv' + "test_all" + "test_context_formatting" + "test_dependencies" + "test_project_dependencies_context_formatting" + # AssertionError: assert (1980, 1, 2, 0, 0, 0) == (2020, 2, 2, 0, 0, 0) "test_default" "test_editable_default" @@ -234,7 +247,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Modern, extensible Python project manager"; homepage = "https://hatch.pypa.io/latest/"; - changelog = "https://github.com/pypa/hatch/blob/hatch-v${finalAttrs.version}/docs/history/hatch.md"; + changelog = "https://github.com/pypa/hatch/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ onny ]; mainProgram = "hatch"; diff --git a/pkgs/development/python-modules/hatch/paths.patch b/pkgs/development/python-modules/hatch/inject-uv-path.patch similarity index 83% rename from pkgs/development/python-modules/hatch/paths.patch rename to pkgs/development/python-modules/hatch/inject-uv-path.patch index 51845d3406cb..78cd38b5fece 100644 --- a/pkgs/development/python-modules/hatch/paths.patch +++ b/pkgs/development/python-modules/hatch/inject-uv-path.patch @@ -1,11 +1,14 @@ diff --git a/src/hatch/env/virtual.py b/src/hatch/env/virtual.py -index 72605e58..546b6ad1 100644 +index 7a9b7e65..38f69fb7 100644 --- a/src/hatch/env/virtual.py +++ b/src/hatch/env/virtual.py -@@ -108,26 +108,7 @@ class VirtualEnvironment(EnvironmentInterface): - if self.explicit_uv_path: - return self.explicit_uv_path +@@ -108,29 +108,7 @@ class VirtualEnvironment(EnvironmentInterface): + @cached_property + def uv_path(self) -> str: +- if self.explicit_uv_path: +- return self.explicit_uv_path +- - from hatch.env.internal import is_default_environment - - env_name = "hatch-uv" @@ -16,7 +19,7 @@ index 72605e58..546b6ad1 100644 - or is_default_environment(env_name, self.app.project.config.internal_envs[env_name]) - ): - uv_env = self.app.project.get_environment(env_name) -- self.app.project.prepare_environment(uv_env) +- self.app.project.prepare_environment(uv_env, keep_env=bool(os.environ.get(AppEnvVars.KEEP_ENV))) - with uv_env: - return self.platform.modules.shutil.which("uv") - @@ -44,7 +47,7 @@ index d8c6379e..874f8936 100644 command.append("--system-site-packages") diff --git a/tests/conftest.py b/tests/conftest.py -index 44681a10..d7e91d36 100644 +index b47e90e8..542035d9 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -205,7 +205,7 @@ def python_on_path():