#tar #fetch #http #gzip #unroll

fetch_unroll

Simple utilities for fetching and unrolling .tar.gz archives

5 unstable releases

0.3.0 Jan 7, 2021
0.2.2 Dec 16, 2020
0.2.1 Feb 7, 2020
0.2.0 Feb 6, 2020
0.1.0 Jan 7, 2020

#342 in HTTP client

Download history 471/week @ 2024-01-12 425/week @ 2024-01-19 382/week @ 2024-01-26 172/week @ 2024-02-02 522/week @ 2024-02-09 632/week @ 2024-02-16 533/week @ 2024-02-23 527/week @ 2024-03-01 611/week @ 2024-03-08 446/week @ 2024-03-15 612/week @ 2024-03-22 628/week @ 2024-03-29 580/week @ 2024-04-05 721/week @ 2024-04-12 589/week @ 2024-04-19 560/week @ 2024-04-26

2,586 downloads per month
Used in 5 crates (4 directly)

Apache-2.0

19KB
395 lines

Simple fetch and unroll .tar.gz archives

License: Apache-2.0 Crates.io Package Docs.rs API Docs Travis-CI Status

Simple functions intended to use in Rust build.rs scripts for tasks which related to fetching from HTTP and unrolling .tar.gz archives with precompiled binaries and etc.

Usage example

use fetch_unroll::Fetch;

let pack_url = format!(
    concat!("{base}/{user}/{repo}/releases/download/",
            "{package}-{version}/{package}_{target}_{profile}.tar.gz"),
    base = "https://github.com",
    user = "katyo",
    repo = "aubio-rs",
    package = "libaubio",
    version = "0.5.0-alpha",
    target = "armv7-linux-androideabi",
    profile = "debug",
);

let dest_dir = "target/test_download";

// Fetching and unrolling archive
Fetch::from(pack_url)
    .unroll().strip_components(1).to(dest_dir)
    .unwrap();

Dependencies

~4–13MB
~192K SLoC