Skip to content

Add platform support for ARMv5TE #10157

@lscorcia

Description

@lscorcia

Hi, since Home Assistant switched to uv the installation on my NAS box can't be upgraded anymore. It is an armel platform with an armv5tel cpu (32bit, tier 2.5 in rust speak). I use Debian bookworm (stable) on it which supports it just fine, providing python 3.11 via system packages but I am using python 3.12 via manual build. For rust wheels, I cross compile them on a x64 VM and install them using pip into my venv since bookworm only provides rust v1.63 and there is no rustup support being a tier 2.5 platform.

$ curl -LsSf https://astral.sh/uv/install.sh | sh
ERROR: unknown CPU type: armv5tel

I noticed there is no support for this architecture in uv platform.rs:

uv_platform_tags::Arch::Armv6L => Self {

Would it be possible to add it to the platform matrix?

Some additional info that might be useful:

python -m sysconfig

sysconfig.txt

$ uname -m
armv5tel
$ pip debug --verbose
pip version: pip 24.0 from /srv/homeassistant/lib/python3.12/site-packages/pip (python 3.12)
sys.version: 3.12.3 (main, Dec 11 2024, 09:13:12) [GCC 12.2.0]
sys.executable: /srv/homeassistant/bin/python3.12
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: utf-8
sys.platform: linux
sys.implementation:
name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /srv/homeassistant/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
CacheControl==0.13.1
colorama==0.4.6
distlib==0.3.8
distro==1.8.0
msgpack==1.0.5
packaging==21.3
platformdirs==3.8.1
pyparsing==3.1.0
pyproject-hooks==1.0.0
requests==2.31.0
certifi==2023.07.22
chardet==5.1.0
idna==3.4
urllib3==1.26.17
rich==13.4.2 (Unable to locate actual module version, using vendor.txt specified version)
pygments==2.15.1
typing_extensions==4.7.1 (Unable to locate actual module version, using vendor.txt specified version)
resolvelib==1.0.1
setuptools==68.0.0 (Unable to locate actual module version, using vendor.txt specified version)
six==1.16.0
tenacity==8.2.2 (Unable to locate actual module version, using vendor.txt specified version)
tomli==2.0.1
truststore==0.8.0
webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 42
cp312-cp312-linux_armv5tel
cp312-abi3-linux_armv5tel
cp312-none-linux_armv5tel
cp311-abi3-linux_armv5tel
cp310-abi3-linux_armv5tel
cp39-abi3-linux_armv5tel
cp38-abi3-linux_armv5tel
cp37-abi3-linux_armv5tel
cp36-abi3-linux_armv5tel
cp35-abi3-linux_armv5tel
cp34-abi3-linux_armv5tel
cp33-abi3-linux_armv5tel
cp32-abi3-linux_armv5tel
py312-none-linux_armv5tel
py3-none-linux_armv5tel
py311-none-linux_armv5tel
py310-none-linux_armv5tel
py39-none-linux_armv5tel
py38-none-linux_armv5tel
py37-none-linux_armv5tel
py36-none-linux_armv5tel
py35-none-linux_armv5tel
py34-none-linux_armv5tel
py33-none-linux_armv5tel
py32-none-linux_armv5tel
py31-none-linux_armv5tel
py30-none-linux_armv5tel
cp312-none-any
py312-none-any
py3-none-any
py311-none-any
py310-none-any
py39-none-any
py38-none-any
py37-none-any
py36-none-any
py35-none-any
py34-none-any
py33-none-any
py32-none-any
py31-none-any
py30-none-any

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatibilityCompatibility with a specification or another tool

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions