From ff9cf48f59384ae964b8b1f6160219d26ddd82a0 Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Tue, 7 Jan 2025 09:45:45 -0500 Subject: [PATCH] Re-enable zlib-ng on x86 platforms --- Cargo.lock | 31 ++++++++++++++++--- .../uv-performance-flate2-backend/Cargo.toml | 9 +++++- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cf1ce2226037..7a16a53e5a04 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -631,6 +631,15 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +[[package]] +name = "cmake" +version = "0.1.52" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" +dependencies = [ + "cc", +] + [[package]] name = "codspeed" version = "2.7.2" @@ -1026,7 +1035,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1101,6 +1110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", + "libz-ng-sys", "libz-rs-sys", "miniz_oxide", ] @@ -1887,7 +1897,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2007,6 +2017,16 @@ dependencies = [ "redox_syscall 0.5.8", ] +[[package]] +name = "libz-ng-sys" +version = "1.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4436751a01da56f1277f323c80d584ffad94a3d14aecd959dd0dff75aa73a438" +dependencies = [ + "cmake", + "libc", +] + [[package]] name = "libz-rs-sys" version = "0.4.1" @@ -2765,7 +2785,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3202,7 +3222,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3771,7 +3791,7 @@ dependencies = [ "getrandom", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5262,6 +5282,7 @@ name = "uv-performance-flate2-backend" version = "0.1.0" dependencies = [ "flate2", + "libz-ng-sys", ] [[package]] diff --git a/crates/uv-performance-flate2-backend/Cargo.toml b/crates/uv-performance-flate2-backend/Cargo.toml index b82083d39081..7f137bfe652f 100644 --- a/crates/uv-performance-flate2-backend/Cargo.toml +++ b/crates/uv-performance-flate2-backend/Cargo.toml @@ -7,5 +7,12 @@ edition = "2021" [lib] doctest = false -[dependencies] +# Use `zlib-ng` on x86_64 targets, apart from FreeBSD. +[target.'cfg(all(target_arch = "x86_64", not(target_os = "freebsd")))'.dependencies] +flate2 = { version = "1.0.28", default-features = false, features = ["zlib-ng"] } +# See: https://github.com/rust-lang/libz-sys/issues/225 +libz-ng-sys = { version = "<1.1.20" } + +# Use `zlib-rs` everywhere else. +[target.'cfg(not(all(target_arch = "x86_64", not(target_os = "freebsd"))))'.dependencies] flate2 = { version = "1.0.28", default-features = false, features = ["zlib-rs"] }