mirror of
https://github.com/astral-sh/uv.git
synced 2025-10-27 18:36:44 +00:00
Add --python-platform riscv64-unknown-linux to various commands (#15630)
## Summary We (and I'm sure many others) are currently doing a lot of RISC-V work in QEMU. It is possible to significantly improve the speed of Python-related builds by taking care of the environment setup using an AMD64 `uv` binary (bypassing binfmt/qemu-system emulation). Some approx numbers from local testing in riscv64 Ubuntu in QEMU: | Resolver arch | Command | Time | | --- | --- | --- | | riscv64 | `pip install --upgrade --break-system-packages --index-url=https://gitlab.com/api/v4/projects/riseproject%2Fpython%2Fwheel_builder/packages/pypi/simple openai-harmony` | 15s | | riscv64 | `uv pip install --upgrade --system --break-system-packages --index-url=https://gitlab.com/api/v4/projects/riseproject%2Fpython%2Fwheel_builder/packages/pypi/simple openai-harmony` | 5s | | amd64 | `uv pip install --python-platform=riscv64-unknown-linux --upgrade --system --break-system-packages --index-url=https://gitlab.com/api/v4/projects/riseproject%2Fpython%2Fwheel_builder/packages/pypi/simple openai-harmony` | 4s | The numbers from some larger internal packages with deeper dependency trees are much more pronounced - 3m6 vs 43s vs 8s, in one example. Manylinux 2.39 is specified, as it's the first (only?) RISC-V manylinux ## Test Plan Locally, in QEMU. `$ docker run --platform linux/riscv64 -it ubuntu:latest`, get amd64 libc into LD_LIBRARY_PATH, tests as above
This commit is contained in:
parent
35ce8e1dae
commit
f76e0fe5e6
3 changed files with 34 additions and 0 deletions
|
|
@ -78,6 +78,11 @@ pub enum TargetTriple {
|
|||
#[serde(alias = "x8664-unknown-linux-musl")]
|
||||
X8664UnknownLinuxMusl,
|
||||
|
||||
/// A RISCV64 Linux target.
|
||||
#[cfg_attr(feature = "clap", value(name = "riscv64-unknown-linux"))]
|
||||
#[serde(rename = "riscv64-unknown-linux")]
|
||||
Riscv64UnknownLinuxGnu,
|
||||
|
||||
/// An `x86_64` target for the `manylinux2014` platform. Equivalent to `x86_64-manylinux_2_17`.
|
||||
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux2014"))]
|
||||
#[serde(rename = "x86_64-manylinux2014")]
|
||||
|
|
@ -273,6 +278,13 @@ impl TargetTriple {
|
|||
},
|
||||
Arch::Aarch64,
|
||||
),
|
||||
Self::Riscv64UnknownLinuxGnu => Platform::new(
|
||||
Os::Manylinux {
|
||||
major: 2,
|
||||
minor: 39,
|
||||
},
|
||||
Arch::Riscv64,
|
||||
),
|
||||
Self::Aarch64UnknownLinuxMusl => {
|
||||
Platform::new(Os::Musllinux { major: 1, minor: 2 }, Arch::Aarch64)
|
||||
}
|
||||
|
|
@ -483,6 +495,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => "aarch64",
|
||||
Self::Aarch64UnknownLinuxMusl => "aarch64",
|
||||
Self::X8664UnknownLinuxMusl => "x86_64",
|
||||
Self::Riscv64UnknownLinuxGnu => "riscv64",
|
||||
Self::X8664Manylinux2014 => "x86_64",
|
||||
Self::X8664Manylinux217 => "x86_64",
|
||||
Self::X8664Manylinux228 => "x86_64",
|
||||
|
|
@ -525,6 +538,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => "Linux",
|
||||
Self::Aarch64UnknownLinuxMusl => "Linux",
|
||||
Self::X8664UnknownLinuxMusl => "Linux",
|
||||
Self::Riscv64UnknownLinuxGnu => "Linux",
|
||||
Self::X8664Manylinux2014 => "Linux",
|
||||
Self::X8664Manylinux217 => "Linux",
|
||||
Self::X8664Manylinux228 => "Linux",
|
||||
|
|
@ -567,6 +581,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => "",
|
||||
Self::Aarch64UnknownLinuxMusl => "",
|
||||
Self::X8664UnknownLinuxMusl => "",
|
||||
Self::Riscv64UnknownLinuxGnu => "",
|
||||
Self::X8664Manylinux2014 => "",
|
||||
Self::X8664Manylinux217 => "",
|
||||
Self::X8664Manylinux228 => "",
|
||||
|
|
@ -612,6 +627,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => "",
|
||||
Self::Aarch64UnknownLinuxMusl => "",
|
||||
Self::X8664UnknownLinuxMusl => "",
|
||||
Self::Riscv64UnknownLinuxGnu => "",
|
||||
Self::X8664Manylinux2014 => "",
|
||||
Self::X8664Manylinux217 => "",
|
||||
Self::X8664Manylinux228 => "",
|
||||
|
|
@ -656,6 +672,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => "posix",
|
||||
Self::Aarch64UnknownLinuxMusl => "posix",
|
||||
Self::X8664UnknownLinuxMusl => "posix",
|
||||
Self::Riscv64UnknownLinuxGnu => "posix",
|
||||
Self::X8664Manylinux2014 => "posix",
|
||||
Self::X8664Manylinux217 => "posix",
|
||||
Self::X8664Manylinux228 => "posix",
|
||||
|
|
@ -698,6 +715,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => "linux",
|
||||
Self::Aarch64UnknownLinuxMusl => "linux",
|
||||
Self::X8664UnknownLinuxMusl => "linux",
|
||||
Self::Riscv64UnknownLinuxGnu => "linux",
|
||||
Self::X8664Manylinux2014 => "linux",
|
||||
Self::X8664Manylinux217 => "linux",
|
||||
Self::X8664Manylinux228 => "linux",
|
||||
|
|
@ -740,6 +758,7 @@ impl TargetTriple {
|
|||
Self::Aarch64UnknownLinuxGnu => true,
|
||||
Self::Aarch64UnknownLinuxMusl => true,
|
||||
Self::X8664UnknownLinuxMusl => true,
|
||||
Self::Riscv64UnknownLinuxGnu => true,
|
||||
Self::X8664Manylinux2014 => true,
|
||||
Self::X8664Manylinux217 => true,
|
||||
Self::X8664Manylinux228 => true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue