allow manylinux compatibility override via _manylinux module. (#6039)

## Summary
resolves https://github.com/astral-sh/uv/issues/5915, not entirely sure
if `manylinux_compatible` should be a separate field in the JSON
returned by the interpreter or there's some way to use the existing
`platform` for it.

## Test Plan
ran the below
```
rm -rf .venv
target/debug/uv venv
# commenting out the line below triggers the change..
# target/debug/uv pip install no-manylinux
target/debug/uv pip install cryptography --no-cache
```

is there an easy way to add this into the existing snapshot-based test
suite? looking around to see if there's a way that doesn't involve
something implementation-dependent like mocks.

~update: i think the output does differ between these two, so probably
we can use that.~ i lied - that "building..." output seems to be
discarded.
This commit is contained in:
Chan Kang 2024-08-20 21:57:42 -04:00 committed by GitHub
parent 2e02d579a0
commit c9774e9c43
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 128 additions and 4 deletions

View file

@ -127,8 +127,9 @@ mod resolver {
Arch::Aarch64,
);
static TAGS: LazyLock<Tags> =
LazyLock::new(|| Tags::from_env(&PLATFORM, (3, 11), "cpython", (3, 11), false).unwrap());
static TAGS: LazyLock<Tags> = LazyLock::new(|| {
Tags::from_env(&PLATFORM, (3, 11), "cpython", (3, 11), false, false).unwrap()
});
pub(crate) async fn resolve(
manifest: Manifest,