[1m[32m==>[0m[1m Building on glalie[0m
[1m[32m==>[0m[1m Checking for remote environment...[0m
[1m[32m==>[0m[1m Syncing package to remote host...[0m
sending incremental file list
created directory packages/python-hatch
./
.SRCINFO
          1,210 100%    0.00kB/s    0:00:00            1,210 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=7/9)
.nvchecker.toml
            161 100%  157.23kB/s    0:00:00              161 100%  157.23kB/s    0:00:00 (xfr#2, to-chk=6/9)
LICENSE
            646 100%  630.86kB/s    0:00:00              646 100%  630.86kB/s    0:00:00 (xfr#3, to-chk=5/9)
PKGBUILD
          3,912 100%    3.73MB/s    0:00:00            3,912 100%    3.73MB/s    0:00:00 (xfr#4, to-chk=4/9)
REUSE.toml
            375 100%  366.21kB/s    0:00:00              375 100%  366.21kB/s    0:00:00 (xfr#5, to-chk=3/9)
python-hatch-1.17.0-1.log
            733 100%  715.82kB/s    0:00:00              733 100%  715.82kB/s    0:00:00 (xfr#6, to-chk=2/9)
LICENSES/
LICENSES/0BSD.txt -> ../LICENSE

sent 3,450 bytes  received 188 bytes  2,425.33 bytes/sec
total size is 6,507  speedup is 1.79
[1m[32m==>[0m[1m Running pkgctl build --arch riscv64 on remote host...[0m
==> WARNING: invalid architecture: riscv64
==> Updating pacman database cache
[?25l:: Synchronizing package databases...
 core downloading...
 extra downloading...
 multilib downloading...
[?25h==> Building python-hatch
  ->   repo: extra
  ->   arch: riscv64
  -> worker: felix-5
==> Building python-hatch for [extra] (riscv64)
Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.
[?25l:: Synchronizing package databases...
 core downloading...
 extra downloading...
:: Starting full system upgrade...
 there is nothing to do
[?25h==> Building in chroot for [extra] (riscv64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-5]...done
[1m[32m==>[0m[1m Making package: python-hatch 1.17.0-1 (Sun Aug 30 05:33:52 2026)[0m
[1m[32m==>[0m[1m Retrieving sources...[0m
[1m[34m  ->[0m[1m Downloading hatch-v1.17.0.tar.gz...[0m
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
  0      0   0      0   0      0      0      0                              0  0      0   0      0   0      0      0      0                              0  0      0   0      0   0      0      0      0                              0
  0      0   0      0   0      0      0      0           00:01              0100 153.3k   0 153.3k   0      0  73310      0           00:02         148.3k100  1.32M   0  1.32M   0      0 426.2k      0           00:03         654.7k100  2.71M   0  2.71M   0      0 666.2k      0           00:04         906.9k100  4.20M   0  4.20M   0      0 832.1k      0           00:05          1.03M100  5.08M   0  5.08M   0      0 877.0k      0           00:05          1.03M100  5.08M   0  5.08M   0      0 877.0k      0           00:05          1.03M100  5.08M   0  5.08M   0      0 876.9k      0           00:05          1.03M
[1m[32m==>[0m[1m Validating source files with b2sums...[0m
    hatch-v1.17.0.tar.gz ... Passed
Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file.
[1m[32m==>[0m[1m Making package: python-hatch 1.17.0-1 (Sat Aug 29 21:34:28 2026)[0m
[1m[32m==>[0m[1m Checking runtime dependencies...[0m
[1m[32m==>[0m[1m Installing missing dependencies...[0m
[?25lresolving dependencies...
looking for conflicting packages...

Package (42)                    New Version    Net Change  Download Size

extra/jemalloc                  1:5.3.1-3        0.89 MiB               
extra/python-cffi               2.1.1-1          1.41 MiB               
extra/python-cryptography       50.0.1-1         6.43 MiB               
extra/python-distlib            0.4.3-1          1.33 MiB               
extra/python-editables          0.6-1            0.04 MiB               
extra/python-filelock           3.29.6-1         0.50 MiB               
extra/python-h11                0.16.0-2         0.29 MiB               
extra/python-httpcore2          2.3.0-1          1.05 MiB       0.13 MiB
extra/python-idna               3.19-1           0.66 MiB               
extra/python-jaraco.classes     3.4.0-3          0.05 MiB               
extra/python-jaraco.context     6.1.2-1          0.06 MiB               
extra/python-jaraco.functools   4.1.0-3          0.07 MiB               
extra/python-jeepney            0.9.0-3          0.44 MiB               
extra/python-markdown-it-py     4.2.0-1          0.81 MiB               
extra/python-mdurl              0.1.2-9          0.06 MiB               
extra/python-more-itertools     11.1.0-1         0.77 MiB               
extra/python-pathspec           1.1.1-1          0.47 MiB               
extra/python-pluggy             1.6.0-3.1        0.23 MiB               
extra/python-ptyprocess         0.7.0-9          0.12 MiB               
extra/python-pycparser          3.00-1           0.71 MiB               
extra/python-pygments           2.20.0-1        15.36 MiB               
extra/python-secretstorage      3.5.0-1          0.13 MiB               
extra/python-trove-classifiers  2026.6.1.19-1    0.16 MiB               
extra/python-truststore         0.10.4-3         0.19 MiB       0.04 MiB
extra/uv                        0.12.7-1        43.62 MiB               
extra/python-click              8.3.3-1          1.38 MiB               
extra/python-distro             1.9.0-4          0.20 MiB       0.04 MiB
extra/python-hatchling          1.30.1-1         1.09 MiB               
extra/python-httpx2             2.3.0-1          1.06 MiB       0.17 MiB
extra/python-hyperlink          21.0.0-8         0.59 MiB               
extra/python-keyring            25.7.0-3         0.36 MiB       0.08 MiB
extra/python-packaging          26.3-1           1.58 MiB               
extra/python-pexpect            4.9.0-7.1        0.61 MiB               
extra/python-platformdirs       4.11.5-1         0.47 MiB               
extra/python-python-discovery   1.6.0-1          0.47 MiB               
extra/python-rich               15.0.0-1         4.49 MiB               
extra/python-shellingham        1.5.4-4          0.06 MiB               
extra/python-tomli-w            1.2.0-2          0.04 MiB               
extra/python-tomlkit            0.15.1-1         0.83 MiB               
extra/python-userpath           1.9.2-4          0.08 MiB       0.02 MiB
extra/python-uv                 0.12.7-1         0.77 MiB               
extra/python-virtualenv         21.7.4-1         6.41 MiB               

Total Download Size:    0.47 MiB
Total Installed Size:  96.35 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 python-httpx2-2.3.0-1-any downloading...
 python-httpcore2-2.3.0-1-any downloading...
 python-keyring-25.7.0-3-any downloading...
 python-truststore-0.10.4-3-any downloading...
 python-distro-1.9.0-4-any downloading...
 python-userpath-1.9.2-4-any downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing python-click...
installing python-distro...
installing python-editables...
installing python-packaging...
installing python-pathspec...
Optional dependencies for python-pathspec
    python-google-re2: re2 backend
installing python-pluggy...
installing python-trove-classifiers...
installing python-hatchling...
installing python-h11...
installing python-truststore...
Optional dependencies for python-truststore
    python-urllib3: when injecting into SSLContext via urllib3
installing python-httpcore2...
Optional dependencies for python-httpcore2
    python-anyio: asyncio support
    python-h2: HTTP/2 support
    python-socksio: SOCKS proxy support
    python-trio: trio async support
installing python-idna...
installing python-httpx2...
Optional dependencies for python-httpx2
    python-brotli: for brotli response decompression
    python-brotlicffi: for brotli response decompression
    python-click: command line client support [installed]
    python-h2: HTTP/2 support
    python-pygments: command line client support [pending]
    python-rich: command line client support [pending]
    python-socksio: SOCKS proxy support
    python-trio: alternative async library
    python-zstandard: for zstd response decompression
installing python-hyperlink...
installing python-more-itertools...
installing python-jaraco.classes...
installing python-jaraco.context...
installing python-jaraco.functools...
installing python-pycparser...
installing python-cffi...
Optional dependencies for python-cffi
    python-setuptools: "limited api" version checking in cffi.setuptools_ext
installing python-cryptography...
installing python-jeepney...
Optional dependencies for python-jeepney
    python-trio: support D-Bus applications with Trio
installing python-secretstorage...
installing python-keyring...
Optional dependencies for python-keyring
    libsecret: libsecret backend [installed]
    python-dbus: kwallet backend
    python-gobject: libsecret backend
    python-keyrings-alt: Alternative backends
    python-pluggy: devpi client [installed]
installing python-ptyprocess...
installing python-pexpect...
installing python-platformdirs...
installing python-filelock...
installing python-python-discovery...
installing python-mdurl...
installing python-markdown-it-py...
Optional dependencies for python-markdown-it-py
    python-mdit_py_plugins: core plugins
    python-linkify-it-py: linkify extension
installing python-pygments...
installing python-rich...
installing python-shellingham...
installing python-tomli-w...
installing python-tomlkit...
installing python-userpath...
installing jemalloc...
Optional dependencies for jemalloc
    perl: for jeprof [installed]
installing uv...
installing python-uv...
installing python-distlib...
installing python-virtualenv...
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
[?25h[1m[32m==>[0m[1m Checking buildtime dependencies...[0m
[1m[32m==>[0m[1m Installing missing dependencies...[0m
[?25lresolving dependencies...
looking for conflicting packages...

Package (31)                     New Version     Net Change

extra/compiler-rt                22.1.8-1        167.26 MiB
core/libedit                     20260512_3.1-1    0.26 MiB
extra/libgit2                    1:1.9.7-1         2.91 MiB
extra/lld                        22.1.8-1          6.50 MiB
extra/llhttp                     9.3.1-1           0.11 MiB
extra/llvm-libs                  22.1.8-2        154.50 MiB
extra/perl-error                 0.17030-3         0.04 MiB
extra/perl-mailtools             2.22-3            0.10 MiB
extra/perl-timedate              2.35-1            0.15 MiB
extra/python-autocommand         2.2.2-9           0.08 MiB
extra/python-iniconfig           2.3.0-1           0.07 MiB
extra/python-jaraco.collections  5.1.0-3           0.11 MiB
extra/python-jaraco.text         4.0.0-4           0.08 MiB
extra/python-pkg_resources       81.0.0-1          0.50 MiB
extra/python-pyproject-hooks     1.2.0-6           0.11 MiB
extra/python-setuptools          1:82.0.1-1        7.35 MiB
extra/python-setuptools-scm      10.2.1-1          0.23 MiB
extra/python-typing_extensions   4.16.0-1          0.53 MiB
extra/python-vcs-versioning      2.3.1-1           1.18 MiB
extra/zlib-ng                    2.3.3-1           0.23 MiB
extra/git                        2.55.0-1         29.92 MiB
core/libxcrypt-compat            4.5.2-1           0.19 MiB
extra/python-build               1.4.3-1           0.26 MiB
extra/python-flit-core           4.0.2-1           0.36 MiB
extra/python-hatch-vcs           0.5.0-4.1         0.04 MiB
extra/python-installer           1.0.0-1           0.20 MiB
extra/python-pyfakefs            6.2.0-1           4.89 MiB
extra/python-pytest              1:9.0.3-1         4.86 MiB
extra/python-pytest-mock         3.14.1-1          0.11 MiB
extra/python-wheel               0.48.0-1          0.34 MiB
extra/rust                       1:1.98.0-1      264.14 MiB

Total Installed Size:  647.62 MiB

:: Proceed with installation? [Y/n] 
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing python-pyproject-hooks...
installing python-build...
Optional dependencies for python-build
    python-pip: to use as the Python package installer (default)
    python-uv: to use as the Python package installer [installed]
    python-virtualenv: to use virtualenv for build isolation [installed]
installing python-autocommand...
installing python-jaraco.text...
Optional dependencies for python-jaraco.text
    python-inflect: for show-newlines script
installing python-jaraco.collections...
installing python-wheel...
Optional dependencies for python-wheel
    python-keyring: for wheel.signatures [installed]
    python-xdg: for wheel.signatures
    python-setuptools: for legacy bdist_wheel subcommand [pending]
installing python-typing_extensions...
installing python-pkg_resources...
installing python-setuptools...
installing python-vcs-versioning...
Optional dependencies for python-vcs-versioning
    python-rich: formatting of log messages [installed]
installing python-setuptools-scm...
Optional dependencies for python-setuptools-scm
    python-rich: use rich as console log handler [installed]
installing python-hatch-vcs...
installing python-installer...
installing perl-error...
installing perl-timedate...
installing perl-mailtools...
installing zlib-ng...
installing git...
Optional dependencies for git
    git-zsh-completion: upstream zsh completion
    tk: gitk and git gui
    openssh: ssh transport and crypto
    man: show help with `git command --help`
    perl-libwww: git svn
    perl-term-readkey: git svn and interactive.singlekey setting
    perl-io-socket-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    perl-cgi: gitweb (web interface) support
    python: git svn & git p4 [installed]
    subversion: git svn
    org.freedesktop.secrets: keyring credential helper
    libsecret: libsecret credential helper [installed]
    less: the default pager for git
installing libxcrypt-compat...
installing python-flit-core...
installing python-iniconfig...
installing python-pytest...
installing python-pyfakefs...
installing python-pytest-mock...
installing compiler-rt...
installing llhttp...
installing libgit2...
installing libedit...
installing llvm-libs...
installing lld...
installing rust...
Optional dependencies for rust
    gdb: rust-gdb script [installed]
    lldb: rust-lldb script
:: Running post-transaction hooks...
(1/4) Creating system user accounts...
Creating group 'git' with GID 968.
Creating user 'git' (git daemon user) with UID 968 and GID 968.
(2/4) Reloading system manager configuration...
  Skipped: Current root is not booted.
(3/4) Arming ConditionNeedsUpdate...
(4/4) Checking for old perl modules...
[?25h[1m[32m==>[0m[1m Retrieving sources...[0m
[1m[34m  ->[0m[1m Found hatch-v1.17.0.tar.gz[0m
[1m[33m==> WARNING:[0m[1m Skipping all source file integrity checks.[0m
[1m[32m==>[0m[1m Extracting sources...[0m
[1m[34m  ->[0m[1m Extracting hatch-v1.17.0.tar.gz with bsdtar[0m
[1m[32m==>[0m[1m Starting build()...[0m
* Getting build dependencies for wheel...
* Building wheel...
Successfully built hatch-1.17.0-py3-none-any.whl
[1m[32m==>[0m[1m Starting check()...[0m
============================= test session starts ==============================
platform linux -- Python 3.14.7, pytest-9.0.3, pluggy-1.6.0
rootdir: /build/python-hatch/src/hatch-hatch-v1.17.0
configfile: pyproject.toml
plugins: mock-3.14.1, pyfakefs-6.2.0
collected 1434 items / 41 deselected / 1393 selected

tests/cli/build/test_build.py ...............                            [  1%]
tests/cli/check/test_check_code.py .........                             [  1%]
tests/cli/check/test_check_fmt.py .......                                [  2%]
tests/cli/check/test_check_group.py ...                                  [  2%]
tests/cli/check/test_check_types.py ....                                 [  2%]
tests/cli/clean/test_clean.py .                                          [  2%]
tests/cli/config/test_explore.py .                                       [  2%]
tests/cli/config/test_find.py .                                          [  2%]
tests/cli/config/test_restore.py ..                                      [  3%]
tests/cli/config/test_set.py ...........                                 [  3%]
tests/cli/config/test_show.py ..                                         [  4%]
tests/cli/dep/show/test_requirements.py ........                         [  4%]
tests/cli/dep/test_dep_lock.py .......                                   [  5%]
tests/cli/dep/test_hash.py ....                                          [  5%]
tests/cli/env/test_create.py ......................................      [  8%]
tests/cli/env/test_find.py ....s                                         [  8%]
tests/cli/env/test_lock.py ..............................                [ 10%]
tests/cli/env/test_prune.py .....                                        [ 10%]
tests/cli/env/test_remove.py ..........                                  [ 11%]
tests/cli/env/test_run.py .....                                          [ 12%]
tests/cli/fmt/test_fmt.py ...................                            [ 13%]
tests/cli/new/test_new.py .....................                          [ 14%]
tests/cli/project/test_metadata.py .........                             [ 15%]
tests/cli/publish/test_publish.py ssssssssssssssssssssss                 [ 17%]
tests/cli/python/test_find.py ...                                        [ 17%]
tests/cli/python/test_install.py .............                           [ 18%]
tests/cli/python/test_remove.py ....                                     [ 18%]
tests/cli/python/test_update.py ....                                     [ 18%]
tests/cli/run/test_run.py .............................................. [ 22%]
                                                                         [ 22%]
tests/cli/self/test_report.py .....s.                                    [ 22%]
tests/cli/status/test_status.py ...................                      [ 24%]
tests/cli/test/test_test.py ..................................           [ 26%]
tests/cli/test_root.py ....                                              [ 26%]
tests/cli/version/test_version.py .............                          [ 27%]
tests/config/test_model.py ............................................. [ 30%]
......................................................................   [ 35%]
tests/dep/test_sync.py ....................                              [ 37%]
tests/env/collectors/test_custom.py ......                               [ 37%]
tests/env/plugin/test_interface.py ..................................... [ 40%]
........................................................................ [ 45%]
....................................................                     [ 49%]
tests/index/test_core.py ...............                                 [ 50%]
tests/project/test_config.py ........................................... [ 53%]
........................................................................ [ 58%]
........................................................................ [ 63%]
........................................................................ [ 69%]
........................................................................ [ 74%]
........................................................................ [ 79%]
........................................................................ [ 84%]
.......                                                                  [ 85%]
tests/project/test_core.py ...........................                   [ 87%]
tests/project/test_frontend.py ...............                           [ 88%]
tests/project/test_utils.py ...                                          [ 88%]
tests/publish/plugin/test_interface.py ......                            [ 88%]
tests/python/test_core.py FF......FFFFFF......FFFF.....                  [ 90%]
tests/python/test_resolve.py .s...F.F.....ssss..                         [ 92%]
tests/utils/test_auth.py .                                               [ 92%]
tests/utils/test_fs.py ..............                                    [ 93%]
tests/utils/test_linehaul.py ........................                    [ 94%]
tests/utils/test_platform.py ssssssssssssssss........                    [ 96%]
tests/utils/test_runner.py ..............                                [ 97%]
tests/utils/test_structures.py .....                                     [ 98%]
tests/venv/test_core.py .........                                        [ 98%]
tests/venv/test_utils.py ..                                              [ 98%]
tests/workspaces/test_config.py ................                         [100%]

=================================== FAILURES ===================================
___________________________ test_custom_source[3.7] ____________________________

platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = '3.7'

    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_custom_source(platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = '3.7', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
___________________________ test_custom_source[3.8] ____________________________

platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = '3.8'

    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_custom_source(platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = '3.8', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.8' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
_________________________ test_custom_source[pypy2.7] __________________________

platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy2.7'

    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_custom_source(platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy2.7', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy2.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
_________________________ test_custom_source[pypy3.9] __________________________

platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy3.9'

    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_custom_source(platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.9', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.9' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
_________________________ test_custom_source[pypy3.10] _________________________

platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy3.10'

    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_custom_source(platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
_________________________ test_custom_source[pypy3.11] _________________________

platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy3.11'

    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_custom_source(platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.11', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.11' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
____________________________ test_installation[3.7] ____________________________

temp_dir = Path('/tmp/tmplriv7r9_')
platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = '3.7'

    @pytest.mark.requires_internet
    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_installation(temp_dir, platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
        # Ensure the source and any parent directories get created
        manager = PythonManager(temp_dir / "foo" / "bar")
>       dist = manager.install(name)
               ^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install
    dist = get_distribution(identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = '3.7', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
____________________________ test_installation[3.8] ____________________________

temp_dir = Path('/tmp/tmpzb_7s8jk')
platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = '3.8'

    @pytest.mark.requires_internet
    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_installation(temp_dir, platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
        # Ensure the source and any parent directories get created
        manager = PythonManager(temp_dir / "foo" / "bar")
>       dist = manager.install(name)
               ^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install
    dist = get_distribution(identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = '3.8', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='3.8' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
__________________________ test_installation[pypy2.7] __________________________

temp_dir = Path('/tmp/tmpafxyjgcy')
platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy2.7'

    @pytest.mark.requires_internet
    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_installation(temp_dir, platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
        # Ensure the source and any parent directories get created
        manager = PythonManager(temp_dir / "foo" / "bar")
>       dist = manager.install(name)
               ^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install
    dist = get_distribution(identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy2.7', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy2.7' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
__________________________ test_installation[pypy3.9] __________________________

temp_dir = Path('/tmp/tmpuh0s3o0a')
platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy3.9'

    @pytest.mark.requires_internet
    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_installation(temp_dir, platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
        # Ensure the source and any parent directories get created
        manager = PythonManager(temp_dir / "foo" / "bar")
>       dist = manager.install(name)
               ^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install
    dist = get_distribution(identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.9', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.9' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
_________________________ test_installation[pypy3.10] __________________________

temp_dir = Path('/tmp/tmpze5mtjcp')
platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy3.10'

    @pytest.mark.requires_internet
    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_installation(temp_dir, platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
        # Ensure the source and any parent directories get created
        manager = PythonManager(temp_dir / "foo" / "bar")
>       dist = manager.install(name)
               ^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install
    dist = get_distribution(identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
_________________________ test_installation[pypy3.11] __________________________

temp_dir = Path('/tmp/tmpt6qupru5')
platform = <hatch.utils.platform.Platform object at 0x3fa6c41400>
current_arch = 'riscv64', name = 'pypy3.11'

    @pytest.mark.requires_internet
    @pytest.mark.parametrize("name", ORDERED_DISTRIBUTIONS)
    def test_installation(temp_dir, platform, current_arch, name):
        if platform.name == "macos" and current_arch == "arm64" and name == "3.7":
            pytest.skip("No macOS 3.7 distribution for ARM")
    
        # Ensure the source and any parent directories get created
        manager = PythonManager(temp_dir / "foo" / "bar")
>       dist = manager.install(name)
               ^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_core.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/core.py:87: in install
    dist = get_distribution(identifier)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.11', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.11' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
__________________ TestDistributionVersions.test_pypy_custom ___________________

self = <tests.python.test_resolve.TestDistributionVersions object at 0x3fa57862c0>

    def test_pypy_custom(self):
        name = "pypy3.10"
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_resolve.py:60: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
____________________ TestDistributionPaths.test_pypy_custom ____________________

self = <tests.python.test_resolve.TestDistributionPaths object at 0x3fa54f0e10>

    def test_pypy_custom(self):
        name = "pypy3.10"
>       dist = get_distribution(name)
               ^^^^^^^^^^^^^^^^^^^^^^

/build/python-hatch/src/hatch-hatch-v1.17.0/tests/python/test_resolve.py:77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'pypy3.10', source = '', variant_cpu = '', variant_gil = ''

    def get_distribution(name: str, source: str = "", variant_cpu: str = "", variant_gil: str = "") -> Distribution:
        if source:
            return _get_distribution_class(source)(name, source)
    
        if name not in DISTRIBUTIONS:
            message = f"Unknown distribution: {name}"
            raise PythonDistributionUnknownError(message)
    
        arch = platform.machine().lower()
        if sys.platform == "win32":
            system = "windows"
            abi = "msvc"
        elif sys.platform == "darwin":
            system = "macos"
            abi = ""
        else:
            system = "linux"
            abi = "gnu" if any(platform.libc_ver()) else "musl"
    
        if not variant_cpu:
            variant_cpu = _get_default_variant_cpu(name, system, arch)
    
        if not variant_gil:
            variant_gil = _get_default_variant_gil()
    
        key = (system, arch, abi, variant_cpu, variant_gil)
    
        keys: dict[tuple, str] = DISTRIBUTIONS[name]
        if key not in keys:
            message = f"Could not find a default source for {name=} {system=} {arch=} {abi=} {variant_cpu=} {variant_gil=}"
>           raise PythonDistributionResolutionError(message)
E           hatch.errors.PythonDistributionResolutionError: Could not find a default source for name='pypy3.10' system='linux' arch='riscv64' abi='gnu' variant_cpu='' variant_gil=''

/build/python-hatch/src/hatch-hatch-v1.17.0/test-env/lib/python3.14/site-packages/hatch/python/resolve.py:188: PythonDistributionResolutionError
=========================== short test summary info ============================
FAILED tests/python/test_core.py::test_custom_source[3.7] - hatch.errors.Pyth...
FAILED tests/python/test_core.py::test_custom_source[3.8] - hatch.errors.Pyth...
FAILED tests/python/test_core.py::test_custom_source[pypy2.7] - hatch.errors....
FAILED tests/python/test_core.py::test_custom_source[pypy3.9] - hatch.errors....
FAILED tests/python/test_core.py::test_custom_source[pypy3.10] - hatch.errors...
FAILED tests/python/test_core.py::test_custom_source[pypy3.11] - hatch.errors...
FAILED tests/python/test_core.py::test_installation[3.7] - hatch.errors.Pytho...
FAILED tests/python/test_core.py::test_installation[3.8] - hatch.errors.Pytho...
FAILED tests/python/test_core.py::test_installation[pypy2.7] - hatch.errors.P...
FAILED tests/python/test_core.py::test_installation[pypy3.9] - hatch.errors.P...
FAILED tests/python/test_core.py::test_installation[pypy3.10] - hatch.errors....
FAILED tests/python/test_core.py::test_installation[pypy3.11] - hatch.errors....
FAILED tests/python/test_resolve.py::TestDistributionVersions::test_pypy_custom
FAILED tests/python/test_resolve.py::TestDistributionPaths::test_pypy_custom
=== 14 failed, 1334 passed, 45 skipped, 41 deselected in 2264.23s (0:37:44) ====
[1m[31m==> ERROR:[0m[1m A failure occurred in check().[0m
[1m    Aborting...[0m
==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-5/build
receiving incremental file list
python-hatch-1.17.0-1-riscv64-build.log
python-hatch-1.17.0-1-riscv64-check.log

sent 62 bytes  received 3,042 bytes  1,241.60 bytes/sec
total size is 41,812  speedup is 13.47
