mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-19 03:05:06 +00:00
Patch sysconfig
data at install time (#9857)
## Summary
This PR reimplements
[`sysconfigpatcher`](https://github.com/bluss/sysconfigpatcher) in Rust
and applies it to our Python installations at install-time, ensuring
that the `sysconfig` data is more likely to be correct.
For now, we only rewrite prefixes (i.e., any path that starts with
`/install` gets rewritten to the correct absolute path for the current
machine).
Unlike `sysconfigpatcher`, this PR does not yet do any of the following:
- Patch `pkginfo` files.
- Change `clang` references to `cc`.
A few things that we should do as follow-ups, in my opinion:
1. Rewrite
[`AR`](c1ebf8ab92/src/sysconfigpatcher.py (L61)
).
2. Remove `-isysroot`, which we already do for newer builds.
This commit is contained in:
parent
5903ce5759
commit
d2fb4c585d
13 changed files with 817 additions and 19 deletions
|
@ -8,7 +8,7 @@ pub use crate::discovery::{
|
|||
find_python_installations, EnvironmentPreference, Error as DiscoveryError, PythonDownloads,
|
||||
PythonNotFound, PythonPreference, PythonRequest, PythonSource, PythonVariant, VersionRequest,
|
||||
};
|
||||
pub use crate::environment::{InvalidEnvironment, InvalidEnvironmentKind, PythonEnvironment};
|
||||
pub use crate::environment::{InvalidEnvironmentKind, PythonEnvironment};
|
||||
pub use crate::implementation::ImplementationName;
|
||||
pub use crate::installation::{PythonInstallation, PythonInstallationKey};
|
||||
pub use crate::interpreter::{Error as InterpreterError, Interpreter};
|
||||
|
@ -39,6 +39,7 @@ mod prefix;
|
|||
#[cfg(windows)]
|
||||
mod py_launcher;
|
||||
mod python_version;
|
||||
mod sysconfig;
|
||||
mod target;
|
||||
mod version_files;
|
||||
mod virtualenv;
|
||||
|
@ -220,6 +221,7 @@ mod tests {
|
|||
"arch": "x86_64"
|
||||
},
|
||||
"manylinux_compatible": true,
|
||||
"standalone": true,
|
||||
"markers": {
|
||||
"implementation_name": "{IMPLEMENTATION}",
|
||||
"implementation_version": "{FULL_VERSION}",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue