diff --git a/Cargo.lock b/Cargo.lock index 71b8cf9..93dce30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -926,6 +926,26 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "liblzma" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0791ab7e08ccc8e0ce893f6906eb2703ed8739d8e89b57c0714e71bad09024c8" +dependencies = [ + "liblzma-sys", +] + +[[package]] +name = "liblzma-sys" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01b9596486f6d60c3bbe644c0e1be1aa6ccc472ad630fe8927b456973d7cb736" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "libredox" version = "0.1.3" @@ -995,17 +1015,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "lzma-sys" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "memchr" version = "2.7.4" @@ -1115,6 +1124,7 @@ dependencies = [ "is_executable", "itertools", "libc", + "liblzma", "linked-hash-map", "lz4_flex", "memchr", @@ -1134,7 +1144,6 @@ dependencies = [ "test-strategy", "time", "unrar", - "xz2", "zip", "zstd", ] @@ -2078,15 +2087,6 @@ dependencies = [ "rustix", ] -[[package]] -name = "xz2" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" -dependencies = [ - "lzma-sys", -] - [[package]] name = "yansi" version = "1.0.1" diff --git a/Cargo.toml b/Cargo.toml index 5d31493..1fe15af 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,7 +41,7 @@ tar = "0.4.42" tempfile = "3.10.1" time = { version = "0.3.36", default-features = false } unrar = { version = "0.5.7", optional = true } -xz2 = "0.1.7" +liblzma = "0.4" zip = { version = "0.6.6", default-features = false, features = [ "time", "aes-crypto", diff --git a/src/commands/compress.rs b/src/commands/compress.rs index 15880bd..ad948d0 100644 --- a/src/commands/compress.rs +++ b/src/commands/compress.rs @@ -68,7 +68,7 @@ pub fn compress_files( ) } Lz4 => Box::new(lz4_flex::frame::FrameEncoder::new(encoder).auto_finish()), - Lzma => Box::new(xz2::write::XzEncoder::new( + Lzma => Box::new(liblzma::write::XzEncoder::new( encoder, level.map_or(6, |l| (l as u32).clamp(0, 9)), )), diff --git a/src/commands/decompress.rs b/src/commands/decompress.rs index 6c254ad..ac38002 100644 --- a/src/commands/decompress.rs +++ b/src/commands/decompress.rs @@ -128,7 +128,7 @@ pub fn decompress_file(options: DecompressOptions) -> crate::Result<()> { Box::new(bzip3::read::Bz3Decoder::new(decoder)?) } Lz4 => Box::new(lz4_flex::frame::FrameDecoder::new(decoder)), - Lzma => Box::new(xz2::read::XzDecoder::new(decoder)), + Lzma => Box::new(liblzma::read::XzDecoder::new(decoder)), Snappy => Box::new(snap::read::FrameDecoder::new(decoder)), Zstd => Box::new(zstd::stream::Decoder::new(decoder)?), Brotli => Box::new(brotli::Decompressor::new(decoder, BUFFER_CAPACITY)), diff --git a/src/commands/list.rs b/src/commands/list.rs index 4a344a7..229fa23 100644 --- a/src/commands/list.rs +++ b/src/commands/list.rs @@ -57,7 +57,7 @@ pub fn list_archive_contents( Box::new(bzip3::read::Bz3Decoder::new(decoder).unwrap()) } Lz4 => Box::new(lz4_flex::frame::FrameDecoder::new(decoder)), - Lzma => Box::new(xz2::read::XzDecoder::new(decoder)), + Lzma => Box::new(liblzma::read::XzDecoder::new(decoder)), Snappy => Box::new(snap::read::FrameDecoder::new(decoder)), Zstd => Box::new(zstd::stream::Decoder::new(decoder)?), Brotli => Box::new(brotli::Decompressor::new(decoder, BUFFER_CAPACITY)),