Avoid liblzma-dev system dep in uv-dev and uv-bench (#9933)

Enable `lzma-sys/static` through the performance feature not only in uv,
but in uv-dev and uv-bench too, to avoid the system dependency on
`liblzma-dev`.

Ref #9880
This commit is contained in:
konsti 2024-12-17 16:12:33 +01:00 committed by GitHub
parent 052c1a6fd1
commit b7df5dbaf3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 23 additions and 7 deletions

View file

@ -152,8 +152,6 @@ jobs:
- uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: "Install system dependencies"
run: sudo apt-get install liblzma-dev
- name: "Generate all"
run: cargo dev generate-all --mode check
@ -1853,13 +1851,13 @@ jobs:
- name: "Install requirements and prime cache"
run: |
sudo apt-get update
sudo apt-get install -y libsasl2-dev libldap2-dev libkrb5-dev liblzma-dev
sudo apt-get install -y libsasl2-dev libldap2-dev libkrb5-dev
cargo run --bin uv -- venv --cache-dir .cache
cargo run --bin uv -- pip compile scripts/requirements/jupyter.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
cargo run --bin uv -- pip compile scripts/requirements/airflow.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
- name: "Build benchmarks"
run: cargo codspeed build --profile profiling --features codspeed -p uv-bench
run: cargo codspeed build --profile profiling --features "codspeed,performance" -p uv-bench
- name: "Run benchmarks"
uses: CodSpeedHQ/action@v3

3
Cargo.lock generated
View file

@ -4536,6 +4536,7 @@ dependencies = [
"uv-distribution",
"uv-distribution-filename",
"uv-distribution-types",
"uv-extract",
"uv-install-wheel",
"uv-pep440",
"uv-pep508",
@ -4802,10 +4803,12 @@ dependencies = [
"uv-client",
"uv-distribution-filename",
"uv-distribution-types",
"uv-extract",
"uv-installer",
"uv-macros",
"uv-options-metadata",
"uv-pep508",
"uv-performance-flate2-backend",
"uv-performance-memory-allocator",
"uv-pypi-types",
"uv-python",

View file

@ -36,6 +36,7 @@ uv-dispatch = { workspace = true }
uv-distribution = { workspace = true }
uv-distribution-filename = { workspace = true }
uv-distribution-types = { workspace = true }
uv-extract = { workspace = true, optional = true }
uv-install-wheel = { workspace = true }
uv-pep440 = { workspace = true }
uv-pep508 = { workspace = true }
@ -51,5 +52,11 @@ criterion = { version = "0.5.1", default-features = false, features = ["async_to
jiff = { workspace = true }
tokio = { workspace = true }
[package.metadata.cargo-shear]
ignored = ["uv-extract"]
[features]
codspeed = ["codspeed-criterion-compat"]
performance = [
"uv-extract/performance"
]

View file

@ -21,6 +21,7 @@ uv-cli = { workspace = true }
uv-client = { workspace = true }
uv-distribution-filename = { workspace = true }
uv-distribution-types = { workspace = true }
uv-extract = { workspace = true, optional = true }
uv-installer = { workspace = true }
uv-macros = { workspace = true }
uv-options-metadata = { workspace = true }
@ -52,8 +53,9 @@ tokio = { workspace = true }
tracing = { workspace = true }
tracing-durations-export = { workspace = true, features = ["plot"] }
tracing-subscriber = { workspace = true }
walkdir = { workspace = true }
uv-performance-flate2-backend = { path = "../uv-performance-flate2-backend", optional = true }
uv-performance-memory-allocator = { path = "../uv-performance-memory-allocator", optional = true }
walkdir = { workspace = true }
[[bin]]
name = "uv-dev"
@ -64,8 +66,14 @@ required-features = ["dev"]
default = ["performance"]
# Actually build the dev CLI.
dev = []
performance = ["dep:uv-performance-memory-allocator"]
performance = [
"performance-memory-allocator",
"performance-flate2-backend",
"uv-extract/performance"
]
performance-memory-allocator = ["dep:uv-performance-memory-allocator"]
performance-flate2-backend = ["dep:uv-performance-flate2-backend"]
render = ["poloto", "resvg", "tagu"]
[package.metadata.cargo-shear]
ignored = ["flate2", "uv-performance-memory-allocator", "uv-performance-flate2-backend"]
ignored = ["flate2", "uv-extract", "uv-performance-memory-allocator", "uv-performance-flate2-backend"]