Unverified Commit 11b85822 authored by dotlambda's avatar dotlambda Committed by GitHub
Browse files

hatch: 1.14.2 -> 1.16.1 (#466399)

parents 80a73db1 4d8e1ac5
Loading
Loading
Loading
Loading
+42 −23
Original line number Diff line number Diff line
@@ -14,14 +14,14 @@

python3Packages.buildPythonApplication rec {
  pname = "hatch";
  version = "1.14.2";
  version = "1.16.1";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "pypa";
    repo = "hatch";
    tag = "hatch-v${version}";
    hash = "sha256-LrfPDgpb9AQsaiYVb2MNdOfoIBbStZMKmESCbVhfn+s=";
    hash = "sha256-HreVb+RZzQV3p9TaoHDZLHBQFifyH+hocP01u5yU+ms=";
  };

  patches = [ (replaceVars ./paths.patch { uv = lib.getExe python3Packages.uv; }) ];
@@ -33,7 +33,9 @@ python3Packages.buildPythonApplication rec {

  pythonRemoveDeps = [ "uv" ];

  dependencies = with python3Packages; [
  dependencies =
    with python3Packages;
    [
      click
      hatchling
      httpx
@@ -42,19 +44,23 @@ python3Packages.buildPythonApplication rec {
      packaging
      pexpect
      platformdirs
      pyproject-hooks
      rich
      shellingham
      tomli-w
      tomlkit
      userpath
      virtualenv
    zstandard
    ]
    ++ lib.optionals (pythonOlder "3.14") [
      backports-zstd
    ];

  nativeCheckInputs =
    with python3Packages;
    [
      binary
      flit-core
      git
      pytestCheckHook
      pytest-mock
@@ -123,10 +129,23 @@ python3Packages.buildPythonApplication rec {
  ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "test_resolve" ];

  disabledTestPaths = [
    # ModuleNotFoundError: No module named 'hatchling.licenses.parse'
    # https://github.com/pypa/hatch/issues/1850
    "tests/backend/licenses/test_parse.py"
    "tests/backend/licenses/test_supported.py"
    # httpx.ConnectError: [Errno -3] Temporary failure in name resolution
    "tests/workspaces/test_config.py"

    # additional comment `-*- coding: utf-8 -*-` in output
    "tests/backend/builders/test_sdist.py"

    # missing output `Syncing dependencies`
    "tests/cli/build/test_build.py"
    "tests/cli/project/test_metadata.py"
    "tests/cli/version/test_version.py"

    # AttributeError: 'WheelBuilderConfig' object has no attribute 'sbom_files'
    "tests/backend/builders/test_wheel.py::TestSBOMFiles"

    # some issue with the version of `binary`
    "tests/dep/test_sync.py::test_dependency_not_found"
    "tests/dep/test_sync.py::test_marker_unmet"

    # AssertionError on the version metadata
    # https://github.com/pypa/hatch/issues/1877
+23 −23
Original line number Diff line number Diff line
diff --git a/src/hatch/env/virtual.py b/src/hatch/env/virtual.py
index 285edb32..90bd94e6 100644
index 72605e58..546b6ad1 100644
--- a/src/hatch/env/virtual.py
+++ b/src/hatch/env/virtual.py
@@ -106,26 +106,7 @@ class VirtualEnvironment(EnvironmentInterface):
@@ -108,26 +108,7 @@ class VirtualEnvironment(EnvironmentInterface):
         if self.explicit_uv_path:
             return self.explicit_uv_path
 
-        from hatch.env.internal import is_default_environment
-
-        env_name = 'hatch-uv'
-        env_name = "hatch-uv"
-        if not (
-            # Prevent recursive loop
-            self.name == env_name
-            # Only if dependencies have been set by the user
-            or is_default_environment(env_name, self.app.project.config.internal_envs[env_name])
-        ):
-            uv_env = self.app.get_environment(env_name)
-            self.app.prepare_environment(uv_env)
-            uv_env = self.app.project.get_environment(env_name)
-            self.app.project.prepare_environment(uv_env)
-            with uv_env:
-                return self.platform.modules.shutil.which('uv')
-                return self.platform.modules.shutil.which("uv")
-
-        import sysconfig
-
-        scripts_dir = sysconfig.get_path('scripts')
-        old_path = os.environ.get('PATH', os.defpath)
-        new_path = f'{scripts_dir}{os.pathsep}{old_path}'
-        return self.platform.modules.shutil.which('uv', path=new_path)
+        return '@uv@'
-        scripts_dir = sysconfig.get_path("scripts")
-        old_path = os.environ.get("PATH", os.defpath)
-        new_path = f"{scripts_dir}{os.pathsep}{old_path}"
-        return self.platform.modules.shutil.which("uv", path=new_path)
+        return "@uv@"
 
     @staticmethod
     def get_option_types() -> dict:
     @cached_property
     def distributions(self) -> InstalledDistributions:
diff --git a/src/hatch/venv/core.py b/src/hatch/venv/core.py
index d1303f03..e1e60871 100644
index d8c6379e..874f8936 100644
--- a/src/hatch/venv/core.py
+++ b/src/hatch/venv/core.py
@@ -131,7 +131,7 @@ class TempVirtualEnv(VirtualEnv):
 
 class UVVirtualEnv(VirtualEnv):
     def create(self, python, *, allow_system_packages=False):
-        command = [os.environ.get('HATCH_UV', 'uv'), 'venv', str(self.directory), '--python', python]
+        command = [os.environ.get('HATCH_UV', '@uv@'), 'venv', str(self.directory), '--python', python]
-        command = [os.environ.get("HATCH_UV", "uv"), "venv", str(self.directory), "--python", python]
+        command = [os.environ.get("HATCH_UV", "@uv@"), "venv", str(self.directory), "--python", python]
         if allow_system_packages:
             command.append('--system-site-packages')
             command.append("--system-site-packages")
 
diff --git a/tests/conftest.py b/tests/conftest.py
index e8fe663a..6066316d 100644
index 44681a10..d7e91d36 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -203,7 +203,7 @@ def python_on_path():
@@ -205,7 +205,7 @@ def python_on_path():
 
 @pytest.fixture(scope='session', autouse=True)
 @pytest.fixture(scope="session", autouse=True)
 def uv_on_path():
-    return shutil.which('uv')
+    return '@uv@'
-    return shutil.which("uv")
+    return "@uv@"
 
 
 @pytest.fixture(scope='session')
 @pytest.fixture(scope="session")