Add support for dynamic musl Python distributions on x86-64 Linux (#12121)

Following the upstream release and #12120, removes gating preventing
installation of the managed musl Python versions.

Of note

- The filtering of musl Python distributions has moved from the Rust
runtime to the metadata fetcher
- The filtering is now conditional on the PBS release date, removing all
old static musl distributions
- We could support the `+static` musl downloads in the future; right
now, they are deprioritized when selecting a variant
- I added test to CI which uses Alpine and installs numpy
This commit is contained in:
Zanie Blue 2025-03-11 18:14:10 -05:00 committed by GitHub
parent f3fb1c5a17
commit 553bcccb6a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 52 additions and 10642 deletions

File diff suppressed because it is too large Load diff

View file

@ -466,11 +466,7 @@ impl ManagedPythonDownload {
/// Iterate over all [`ManagedPythonDownload`]s.
pub fn iter_all() -> impl Iterator<Item = &'static ManagedPythonDownload> {
PYTHON_DOWNLOADS
.iter()
// TODO(konsti): musl python-build-standalone builds are currently broken (statically
// linked), so we pretend they don't exist. https://github.com/astral-sh/uv/issues/4242
.filter(|download| download.key.libc != Libc::Some(target_lexicon::Environment::Musl))
PYTHON_DOWNLOADS.iter()
}
pub fn url(&self) -> &'static str {

View file

@ -126,6 +126,10 @@ impl Arch {
pub fn family(&self) -> target_lexicon::Architecture {
self.family
}
pub fn is_arm(&self) -> bool {
matches!(self.family, target_lexicon::Architecture::Arm(_))
}
}
impl Display for Libc {