[][src]Crate compress_tools

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.

PlatformBuild Status
Linuxbuild status
macOSbuild status
Windowsbuild status

Dependencies

You must have libarchive properly installed on your system in order to use this. If building on *nix systems, pkg-config is used to locate the libarchive; on Windows vcpkg will be used to locating the libarchive.

The minimum supported Rust version is 1.38.

Features

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)?;

Enums

Error
Ownership

Determine the ownership behavior when unpacking the archive.

Functions

uncompress_archive

Uncompress an archive using source as a reader and dest as the destination directory.

uncompress_archive_file

Uncompress a specific file from an archive. The source is used as a reader, the target as a writer and the path is the relative path for the file to be extracted from the archive.

uncompress_data

Uncompress a file using the source need as reader and the target as a writer.

Type Definitions

Result