diff --git a/Cargo.lock b/Cargo.lock index 50cb81d..92f21c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -79,15 +79,6 @@ version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" -[[package]] -name = "arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", -] - [[package]] name = "arrayref" version = "0.3.9" @@ -164,21 +155,11 @@ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "bzip2" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47" -dependencies = [ - "bzip2-sys", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.13+1.0.8" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" dependencies = [ - "cc", - "pkg-config", + "libbz2-rs-sys", ] [[package]] @@ -371,17 +352,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "digest" version = "0.10.7" @@ -716,6 +686,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +[[package]] +name = "libbz2-rs-sys" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b357333733e8260735ba5894eb928c02ecc69c78715f01a8019e7fa7f2db4c" + [[package]] name = "libc" version = "0.2.186" @@ -1061,6 +1037,7 @@ dependencies = [ name = "rustversion" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "same-file" @@ -1271,6 +1248,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "typed-path" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" + [[package]] name = "typenum" version = "1.20.1" @@ -1596,15 +1579,15 @@ dependencies = [ [[package]] name = "zip" -version = "3.0.0" +version = "8.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12598812502ed0105f607f941c386f43d441e00148fce9dec3ca5ffb0bde9308" +checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" dependencies = [ - "arbitrary", "crc32fast", "flate2", "indexmap", "memchr", + "typed-path", "zopfli", ] diff --git a/Cargo.toml b/Cargo.toml index b40ef11..9304db7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,15 +20,15 @@ harness = false [dependencies] anyhow = "1.0.98" -blake3 = { version = "=1.8.2", features = ["mmap", "rayon", "traits-preview"] } -bzip2 = "0.5" +blake3 = { version = "=1.8.5" } +bzip2 = "0.6" digest = { version = "0.10", features = ["rand_core"] } dirs = "6.0" dunce = "1.0.5" filetime = "0.2.25" flate2 = { version = "1.0.33", features = ["rust_backend"], default-features = false } fs2 = "0.4" -jsonc-parser = { version = "0.26", features = ["serde"] } +jsonc-parser = { version = "0.32", features = ["serde"] } liblzma = { version = "0.4.4", features = ["parallel", "static"] } rand = { version = "0.9", features = ["small_rng"] } serde = { version = "1.0.219", features = ["derive", "rc"] } @@ -37,14 +37,14 @@ sha2 = "0.10.6" tar = "0.4.44" tempfile = "3.22" thiserror = "2.0.18" -zip = { version = "3.0.0", features = ["deflate"], default-features = false } +zip = { version = "8.0.0", features = ["deflate"], default-features = false } zstd = { version = "0.13", features = ["experimental", "zstdmt"] } [dev-dependencies] anyhow = "1.0.102" assert_matches = "1.5" buck-resources = "1" -bzip2 = "0.5.2" +bzip2 = "0.6" criterion = "0.5.1" liblzma = { version = "0.4.6", features = ["parallel", "static"] } snapbox = { version = "0.6.24", features = ["color-auto", "diff", "json", "regex"], default-features = false } diff --git a/src/config.rs b/src/config.rs index cbb0ed4..512906b 100644 --- a/src/config.rs +++ b/src/config.rs @@ -136,7 +136,7 @@ pub fn parse_file(data: &str) -> anyhow::Result<(Value, ConfigFile)> { anyhow::format_err!("DotSlash file must start with `{REQUIRED_HEADER}`") })?; - let value = jsonc_parser::parse_to_serde_value(data, &Default::default())? + let value = jsonc_parser::parse_to_serde_value::>(data, &Default::default())? .with_context(|| anyhow::format_err!("Failed to parse JSON"))?; let config_file = ConfigFile::deserialize(&value).map_err(|err| { if value.get("oncall").is_some() { diff --git a/src/download.rs b/src/download.rs index 5362f6b..9574bc8 100644 --- a/src/download.rs +++ b/src/download.rs @@ -224,7 +224,7 @@ fn verify_artifact( HashAlgorithm::Blake3 => { let mut hasher = blake3::Hasher::new(); io::copy(&mut file, &mut hasher).map(|size_in_bytes| { - let digest = format!("{:x}", hasher.finalize()); + let digest = hasher.finalize().to_hex().to_string(); (size_in_bytes, digest) }) } diff --git a/src/print_entry_for_url.rs b/src/print_entry_for_url.rs index 1b5394c..b28dcce 100644 --- a/src/print_entry_for_url.rs +++ b/src/print_entry_for_url.rs @@ -47,7 +47,7 @@ pub fn print_entry_for_url(url: &OsStr) -> anyhow::Result<()> { let mut file = File::open(tempfile.path())?; let mut hasher = blake3::Hasher::new(); let size = io::copy(&mut file, &mut hasher)?; - let hex_digest = format!("{:x}", hasher.finalize()); + let hex_digest = hasher.finalize().to_hex().to_string(); let entry_json = serialize_entry(url, size, hex_digest)?; println!("{}", entry_json); diff --git a/src/subcommand.rs b/src/subcommand.rs index e3348d1..f7516ae 100644 --- a/src/subcommand.rs +++ b/src/subcommand.rs @@ -135,7 +135,7 @@ fn run_subcommand_impl(subcommand: &Subcommand, args: &mut ArgsOs) -> anyhow::Re let mut file = fs_ctx::file_open(file_arg)?; let mut hasher = blake3::Hasher::new(); io::copy(&mut file, &mut hasher)?; - let hex_digest = format!("{:x}", hasher.finalize()); + let hex_digest = hasher.finalize().to_hex().to_string(); println!("{}", hex_digest); }