mirror of
https://github.com/astral-sh/uv
synced 2026-01-21 21:40:11 -05:00
As described in #4242, we're currently incorrectly downloading glibc python-build-standalone on musl target, but we also can't fix this by using musl python-build-standalone on musl targets since the musl builds are effectively broken. We reintroduce the libc detection previously removed in #2381, using it to detect which libc is the current one before we have a python interpreter. I changed the strategy a big to support an empty `PATH` which we use in the tests. For simplicity, i've decided to just filter out the musl python-build-standalone archives from the list of available archive, given this is temporary. This means we show the same error message as if we don't have a build for the platform. We could also add a dedicated error message for musl. Fixes #4242 ## Test Plan Tested manually. On my ubuntu host, python downloads continue to pass: ``` target/x86_64-unknown-linux-musl/debug/uv python install ``` On alpine, we fail: ``` $ docker run -it --rm -v .:/io alpine /io/target/x86_64-unknown-linux-musl/debug/uv python install Searching for Python installations error: No download found for request: cpython-any-linux-x86_64-musl ```
70 lines
2.1 KiB
TOML
70 lines
2.1 KiB
TOML
[package]
|
|
name = "uv-python"
|
|
version = "0.0.1"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
cache-key = { workspace = true }
|
|
distribution-filename = { workspace = true }
|
|
install-wheel-rs = { workspace = true }
|
|
pep440_rs = { workspace = true }
|
|
pep508_rs = { workspace = true }
|
|
platform-tags = { workspace = true }
|
|
pypi-types = { workspace = true }
|
|
uv-cache = { workspace = true }
|
|
uv-client = { workspace = true }
|
|
uv-extract = { workspace = true }
|
|
uv-fs = { workspace = true }
|
|
uv-state = { workspace = true }
|
|
uv-warnings = { workspace = true }
|
|
|
|
anyhow = { workspace = true }
|
|
clap = { workspace = true, optional = true }
|
|
configparser = { workspace = true }
|
|
fs-err = { workspace = true, features = ["tokio"] }
|
|
futures = { workspace = true }
|
|
goblin = { workspace = true }
|
|
itertools = { workspace = true }
|
|
owo-colors = { workspace = true }
|
|
regex = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
reqwest-middleware = { workspace = true }
|
|
rmp-serde = { workspace = true }
|
|
same-file = { workspace = true }
|
|
schemars = { workspace = true, optional = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
target-lexicon = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-util = { workspace = true, features = ["compat"] }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
which = { workspace = true }
|
|
|
|
[target.'cfg(any(unix, target_os = "wasi", target_os = "redox"))'.dependencies]
|
|
rustix = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows-sys = { workspace = true }
|
|
winsafe = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { version = "1.0.80" }
|
|
assert_fs = { version = "1.1.1" }
|
|
indoc = { version = "2.0.4" }
|
|
itertools = { version = "0.13.0" }
|
|
temp-env = { version = "0.3.6" }
|
|
tempfile = { version = "3.9.0" }
|
|
test-log = { version = "0.2.15", features = ["trace"], default-features = false }
|