Initial support for ARMv5TE platform via cross compilation (#10234)

## Summary
Allows uv to recognize the ARMv5TE platform. This platform is currently
supported on Debian distributions. It is an older 32 bit platform mostly
used in embedded devices, currently in rust tier 2.5 so it requires
cross compilation.

Fixes #10157 .

## Test Plan
Tested directly on device by applying a slightly different patch to tag
0.5.4 which is used by the current Home Assistant version (2024.12.5).
After the patch Home Assistant is able to recognize the Python venv and
setup its dependencies.

Patched uv was built with 
```
$ CARGO_TARGET_ARMV5TE_UNKNOWN_LINUX_GNUEABI_LINKER="/usr/bin/arm-linux-gnueabi-gcc" maturin build --release --target armv5te-unknown-linux-gnueabi --manylinux off
``` 

The target wheel was then moved on the device and installed via pip
install.
This commit is contained in:
Luca Leonardo Scorcia 2024-12-30 17:49:57 +01:00 committed by GitHub
parent 0ea4f5f8b1
commit dec6f5aa02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 11 additions and 3 deletions

View file

@ -69,6 +69,8 @@ def prepare_arch(arch: dict) -> tuple[str, str]:
family = "X86_32(target_lexicon::X86_32Architecture::I686)"
case "aarch64":
family = "Aarch64(target_lexicon::Aarch64Architecture::Aarch64)"
case "armv5tel":
family = "Arm(target_lexicon::ArmArchitecture::Armv5te)"
case "armv7":
family = "Arm(target_lexicon::ArmArchitecture::Armv7)"
case value: