mirror of
https://github.com/astral-sh/uv
synced 2026-01-21 21:40:11 -05:00
## 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.
80 lines
2.4 KiB
TOML
80 lines
2.4 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 }
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
uv-cache = { workspace = true }
|
|
uv-cache-info = { workspace = true }
|
|
uv-cache-key = { workspace = true }
|
|
uv-client = { workspace = true }
|
|
uv-dirs = { workspace = true }
|
|
uv-distribution-filename = { workspace = true }
|
|
uv-extract = { workspace = true }
|
|
uv-fs = { workspace = true }
|
|
uv-install-wheel = { workspace = true }
|
|
uv-pep440 = { workspace = true }
|
|
uv-pep508 = { workspace = true }
|
|
uv-platform-tags = { workspace = true }
|
|
uv-pypi-types = { workspace = true }
|
|
uv-state = { workspace = true }
|
|
uv-static = { workspace = true }
|
|
uv-trampoline-builder = { 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, default-features = false }
|
|
itertools = { workspace = true }
|
|
owo-colors = { workspace = true }
|
|
regex = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
reqwest-middleware = { workspace = true }
|
|
reqwest-retry = { 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(target_os = "linux")'.dependencies]
|
|
procfs = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows-sys = { workspace = true }
|
|
windows-registry = { workspace = true }
|
|
windows-result = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { version = "1.0.89" }
|
|
assert_fs = { version = "1.1.2" }
|
|
indoc = { workspace = true }
|
|
insta = { version = "1.40.0" }
|
|
itertools = { version = "0.13.0" }
|
|
temp-env = { version = "0.3.6" }
|
|
tempfile = { workspace = true }
|
|
test-log = { version = "0.2.16", features = ["trace"], default-features = false }
|