The compress-tools
crate aims to provide a convenient and easy to use set
of methods which builds on top of libarchive
exposing a small set of it’s
functionalities.
Platform | Build Status |
---|---|
Linux - x86_64 | |
macOS - x86_64 | |
Windows - x86_64 |
You must have libarchive
, 3.2.0 or newer, properly installed on your
system in order to use this. If building on *nix and Windows GNU
systems, pkg-config
is used to locate the libarchive
; on Windows
MSVC, vcpkg
will be used to locating the libarchive
.
The minimum supported Rust version is 1.59.
This crate is capable of extracting:
- compressed files
- archive files
- single file from an archive
For example, to extract an archive file it is as simple as:
use compress_tools::*;
use std::fs::File;
use std::path::Path;
let mut source = File::open("tree.tar.gz")?;
let dest = Path::new("/tmp/dest");
uncompress_archive(&mut source, &dest, Ownership::Preserve)?;
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.