Add manylinux target triples up to glibc 2.40 (#9234)

<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->

PR #4965 added `*-manylinux_2_31` as a target triple, and issue #4966
described the need for a more general solution.

In lieu of a general solution, this PR adds further explicit manylinux
target triples for different glibc version up to the one used by the
latest Ubuntu release (glibc 2.40 used in Ubuntu 24.10).

## Test Plan

<!-- How was it tested? -->

Local, manual testing with a Python wheel targeting
`x86_64-manylinux_2_35`.
This commit is contained in:
Hristo Filaretov 2024-11-19 20:37:43 +01:00 committed by GitHub
parent 56d3622087
commit f49230471c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 594 additions and 0 deletions

View file

@ -83,6 +83,51 @@ pub enum TargetTriple {
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_31"))]
X8664Manylinux231,
/// An `x86_64` target for the `manylinux_2_32` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_32"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_32"))]
X8664Manylinux232,
/// An `x86_64` target for the `manylinux_2_33` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_33"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_33"))]
X8664Manylinux233,
/// An `x86_64` target for the `manylinux_2_34` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_34"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_34"))]
X8664Manylinux234,
/// An `x86_64` target for the `manylinux_2_35` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_35"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_35"))]
X8664Manylinux235,
/// An `x86_64` target for the `manylinux_2_36` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_36"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_36"))]
X8664Manylinux236,
/// An `x86_64` target for the `manylinux_2_37` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_37"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_37"))]
X8664Manylinux237,
/// An `x86_64` target for the `manylinux_2_38` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_38"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_38"))]
X8664Manylinux238,
/// An `x86_64` target for the `manylinux_2_39` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_39"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_39"))]
X8664Manylinux239,
/// An `x86_64` target for the `manylinux_2_40` platform.
#[cfg_attr(feature = "clap", value(name = "x86_64-manylinux_2_40"))]
#[cfg_attr(feature = "schemars", schemars(rename = "x86_64-manylinux_2_40"))]
X8664Manylinux240,
/// An ARM64 target for the `manylinux_2_17` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_17"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_17"))]
@ -97,6 +142,51 @@ pub enum TargetTriple {
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_31"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_31"))]
Aarch64Manylinux231,
/// An ARM64 target for the `manylinux_2_32` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_32"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_32"))]
Aarch64Manylinux232,
/// An ARM64 target for the `manylinux_2_33` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_33"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_33"))]
Aarch64Manylinux233,
/// An ARM64 target for the `manylinux_2_34` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_34"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_34"))]
Aarch64Manylinux234,
/// An ARM64 target for the `manylinux_2_35` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_35"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_35"))]
Aarch64Manylinux235,
/// An ARM64 target for the `manylinux_2_36` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_36"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_36"))]
Aarch64Manylinux236,
/// An ARM64 target for the `manylinux_2_37` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_37"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_37"))]
Aarch64Manylinux237,
/// An ARM64 target for the `manylinux_2_38` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_38"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_38"))]
Aarch64Manylinux238,
/// An ARM64 target for the `manylinux_2_39` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_39"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_39"))]
Aarch64Manylinux239,
/// An ARM64 target for the `manylinux_2_40` platform.
#[cfg_attr(feature = "clap", value(name = "aarch64-manylinux_2_40"))]
#[cfg_attr(feature = "schemars", schemars(rename = "aarch64-manylinux_2_40"))]
Aarch64Manylinux240,
}
impl TargetTriple {
@ -160,6 +250,69 @@ impl TargetTriple {
},
Arch::X86_64,
),
Self::X8664Manylinux232 => Platform::new(
Os::Manylinux {
major: 2,
minor: 32,
},
Arch::X86_64,
),
Self::X8664Manylinux233 => Platform::new(
Os::Manylinux {
major: 2,
minor: 33,
},
Arch::X86_64,
),
Self::X8664Manylinux234 => Platform::new(
Os::Manylinux {
major: 2,
minor: 34,
},
Arch::X86_64,
),
Self::X8664Manylinux235 => Platform::new(
Os::Manylinux {
major: 2,
minor: 35,
},
Arch::X86_64,
),
Self::X8664Manylinux236 => Platform::new(
Os::Manylinux {
major: 2,
minor: 36,
},
Arch::X86_64,
),
Self::X8664Manylinux237 => Platform::new(
Os::Manylinux {
major: 2,
minor: 37,
},
Arch::X86_64,
),
Self::X8664Manylinux238 => Platform::new(
Os::Manylinux {
major: 2,
minor: 38,
},
Arch::X86_64,
),
Self::X8664Manylinux239 => Platform::new(
Os::Manylinux {
major: 2,
minor: 39,
},
Arch::X86_64,
),
Self::X8664Manylinux240 => Platform::new(
Os::Manylinux {
major: 2,
minor: 40,
},
Arch::X86_64,
),
Self::Aarch64Manylinux217 => Platform::new(
Os::Manylinux {
major: 2,
@ -181,6 +334,69 @@ impl TargetTriple {
},
Arch::Aarch64,
),
Self::Aarch64Manylinux232 => Platform::new(
Os::Manylinux {
major: 2,
minor: 32,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux233 => Platform::new(
Os::Manylinux {
major: 2,
minor: 33,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux234 => Platform::new(
Os::Manylinux {
major: 2,
minor: 34,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux235 => Platform::new(
Os::Manylinux {
major: 2,
minor: 35,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux236 => Platform::new(
Os::Manylinux {
major: 2,
minor: 36,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux237 => Platform::new(
Os::Manylinux {
major: 2,
minor: 37,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux238 => Platform::new(
Os::Manylinux {
major: 2,
minor: 38,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux239 => Platform::new(
Os::Manylinux {
major: 2,
minor: 39,
},
Arch::Aarch64,
),
Self::Aarch64Manylinux240 => Platform::new(
Os::Manylinux {
major: 2,
minor: 40,
},
Arch::Aarch64,
),
}
}
@ -198,9 +414,27 @@ impl TargetTriple {
Self::X8664Manylinux217 => "x86_64",
Self::X8664Manylinux228 => "x86_64",
Self::X8664Manylinux231 => "x86_64",
Self::X8664Manylinux232 => "x86_64",
Self::X8664Manylinux233 => "x86_64",
Self::X8664Manylinux234 => "x86_64",
Self::X8664Manylinux235 => "x86_64",
Self::X8664Manylinux236 => "x86_64",
Self::X8664Manylinux237 => "x86_64",
Self::X8664Manylinux238 => "x86_64",
Self::X8664Manylinux239 => "x86_64",
Self::X8664Manylinux240 => "x86_64",
Self::Aarch64Manylinux217 => "aarch64",
Self::Aarch64Manylinux228 => "aarch64",
Self::Aarch64Manylinux231 => "aarch64",
Self::Aarch64Manylinux232 => "aarch64",
Self::Aarch64Manylinux233 => "aarch64",
Self::Aarch64Manylinux234 => "aarch64",
Self::Aarch64Manylinux235 => "aarch64",
Self::Aarch64Manylinux236 => "aarch64",
Self::Aarch64Manylinux237 => "aarch64",
Self::Aarch64Manylinux238 => "aarch64",
Self::Aarch64Manylinux239 => "aarch64",
Self::Aarch64Manylinux240 => "aarch64",
}
}
@ -218,9 +452,27 @@ impl TargetTriple {
Self::X8664Manylinux217 => "Linux",
Self::X8664Manylinux228 => "Linux",
Self::X8664Manylinux231 => "Linux",
Self::X8664Manylinux232 => "Linux",
Self::X8664Manylinux233 => "Linux",
Self::X8664Manylinux234 => "Linux",
Self::X8664Manylinux235 => "Linux",
Self::X8664Manylinux236 => "Linux",
Self::X8664Manylinux237 => "Linux",
Self::X8664Manylinux238 => "Linux",
Self::X8664Manylinux239 => "Linux",
Self::X8664Manylinux240 => "Linux",
Self::Aarch64Manylinux217 => "Linux",
Self::Aarch64Manylinux228 => "Linux",
Self::Aarch64Manylinux231 => "Linux",
Self::Aarch64Manylinux232 => "Linux",
Self::Aarch64Manylinux233 => "Linux",
Self::Aarch64Manylinux234 => "Linux",
Self::Aarch64Manylinux235 => "Linux",
Self::Aarch64Manylinux236 => "Linux",
Self::Aarch64Manylinux237 => "Linux",
Self::Aarch64Manylinux238 => "Linux",
Self::Aarch64Manylinux239 => "Linux",
Self::Aarch64Manylinux240 => "Linux",
}
}
@ -238,9 +490,27 @@ impl TargetTriple {
Self::X8664Manylinux217 => "",
Self::X8664Manylinux228 => "",
Self::X8664Manylinux231 => "",
Self::X8664Manylinux232 => "",
Self::X8664Manylinux233 => "",
Self::X8664Manylinux234 => "",
Self::X8664Manylinux235 => "",
Self::X8664Manylinux236 => "",
Self::X8664Manylinux237 => "",
Self::X8664Manylinux238 => "",
Self::X8664Manylinux239 => "",
Self::X8664Manylinux240 => "",
Self::Aarch64Manylinux217 => "",
Self::Aarch64Manylinux228 => "",
Self::Aarch64Manylinux231 => "",
Self::Aarch64Manylinux232 => "",
Self::Aarch64Manylinux233 => "",
Self::Aarch64Manylinux234 => "",
Self::Aarch64Manylinux235 => "",
Self::Aarch64Manylinux236 => "",
Self::Aarch64Manylinux237 => "",
Self::Aarch64Manylinux238 => "",
Self::Aarch64Manylinux239 => "",
Self::Aarch64Manylinux240 => "",
}
}
@ -258,9 +528,27 @@ impl TargetTriple {
Self::X8664Manylinux217 => "",
Self::X8664Manylinux228 => "",
Self::X8664Manylinux231 => "",
Self::X8664Manylinux232 => "",
Self::X8664Manylinux233 => "",
Self::X8664Manylinux234 => "",
Self::X8664Manylinux235 => "",
Self::X8664Manylinux236 => "",
Self::X8664Manylinux237 => "",
Self::X8664Manylinux238 => "",
Self::X8664Manylinux239 => "",
Self::X8664Manylinux240 => "",
Self::Aarch64Manylinux217 => "",
Self::Aarch64Manylinux228 => "",
Self::Aarch64Manylinux231 => "",
Self::Aarch64Manylinux232 => "",
Self::Aarch64Manylinux233 => "",
Self::Aarch64Manylinux234 => "",
Self::Aarch64Manylinux235 => "",
Self::Aarch64Manylinux236 => "",
Self::Aarch64Manylinux237 => "",
Self::Aarch64Manylinux238 => "",
Self::Aarch64Manylinux239 => "",
Self::Aarch64Manylinux240 => "",
}
}
@ -278,9 +566,27 @@ impl TargetTriple {
Self::X8664Manylinux217 => "posix",
Self::X8664Manylinux228 => "posix",
Self::X8664Manylinux231 => "posix",
Self::X8664Manylinux232 => "posix",
Self::X8664Manylinux233 => "posix",
Self::X8664Manylinux234 => "posix",
Self::X8664Manylinux235 => "posix",
Self::X8664Manylinux236 => "posix",
Self::X8664Manylinux237 => "posix",
Self::X8664Manylinux238 => "posix",
Self::X8664Manylinux239 => "posix",
Self::X8664Manylinux240 => "posix",
Self::Aarch64Manylinux217 => "posix",
Self::Aarch64Manylinux228 => "posix",
Self::Aarch64Manylinux231 => "posix",
Self::Aarch64Manylinux232 => "posix",
Self::Aarch64Manylinux233 => "posix",
Self::Aarch64Manylinux234 => "posix",
Self::Aarch64Manylinux235 => "posix",
Self::Aarch64Manylinux236 => "posix",
Self::Aarch64Manylinux237 => "posix",
Self::Aarch64Manylinux238 => "posix",
Self::Aarch64Manylinux239 => "posix",
Self::Aarch64Manylinux240 => "posix",
}
}
@ -298,9 +604,27 @@ impl TargetTriple {
Self::X8664Manylinux217 => "linux",
Self::X8664Manylinux228 => "linux",
Self::X8664Manylinux231 => "linux",
Self::X8664Manylinux232 => "linux",
Self::X8664Manylinux233 => "linux",
Self::X8664Manylinux234 => "linux",
Self::X8664Manylinux235 => "linux",
Self::X8664Manylinux236 => "linux",
Self::X8664Manylinux237 => "linux",
Self::X8664Manylinux238 => "linux",
Self::X8664Manylinux239 => "linux",
Self::X8664Manylinux240 => "linux",
Self::Aarch64Manylinux217 => "linux",
Self::Aarch64Manylinux228 => "linux",
Self::Aarch64Manylinux231 => "linux",
Self::Aarch64Manylinux232 => "linux",
Self::Aarch64Manylinux233 => "linux",
Self::Aarch64Manylinux234 => "linux",
Self::Aarch64Manylinux235 => "linux",
Self::Aarch64Manylinux236 => "linux",
Self::Aarch64Manylinux237 => "linux",
Self::Aarch64Manylinux238 => "linux",
Self::Aarch64Manylinux239 => "linux",
Self::Aarch64Manylinux240 => "linux",
}
}