#cargo-subcommand #cargo #binary

app cargo-prebuilt

Download prebuilt crate binaries for many different platforms

19 releases

new 0.7.0 May 17, 2024
0.6.9 May 3, 2024
0.6.8 Mar 28, 2024
0.6.5 Dec 23, 2023
0.2.1 Nov 13, 2022

#33 in Cargo plugins

Download history 201/week @ 2024-02-17 43/week @ 2024-02-24 7/week @ 2024-03-02 23/week @ 2024-03-09 4/week @ 2024-03-16 109/week @ 2024-03-23 36/week @ 2024-03-30 36/week @ 2024-04-06 5/week @ 2024-04-13 137/week @ 2024-04-27 133/week @ 2024-05-04 194/week @ 2024-05-11

464 downloads per month

MIT license

76KB
1.5K SLoC

cargo-prebuilt

Rust Build and Test Rust Checks Crates.io rustc-msrv

Download prebuilt binaries of some crate.io crates.

See supported targets, a list of prebuilt crates, and the official index here.

(Some targets may not be prebuilt for some crates).

Request a crate to be added to the official index here.

See the currently supported versions here

How to Use

Cargo prebuilt overwrites existing binaries by default. To stop this use the -s flag, --safe flag, or add safe = true to your config file.

To download a crate: cargo prebuilt CRATE_NAME

To download multiple crates: cargo prebuilt CRATE_1,CRATE_2,CRATE_3,...

To download a version of a crate: cargo prebuilt CRATE_NAME@VERSION

To download multiple crates with versions: cargo prebuilt CRATE_1@V1,CRATE_2,CRATE_3@V3,...

Need help? Try: cargo prebuilt --help or see Config Info

Installation

More ways and how to verify your download here.

  • You can download the latest prebuilt binaries of cargo-prebuilt here.

  • Cargo install: cargo install cargo-prebuilt

  • Cargo prebuilt: cargo prebuilt cargo-prebuilt

  • Cargo binstall: cargo binstall cargo-prebuilt --no-confirm

  • Cargo quickinstall: cargo quickinstall cargo-prebuilt

  • Install script (unix platforms):

    curl --proto '=https' --tlsv1.2 -sSf \
    https://raw.githubusercontent.com/cargo-prebuilt/cargo-prebuilt/main/scripts/install-cargo-prebuilt.sh \
    -o install-cargo-prebuilt.sh \
    && bash install-cargo-prebuilt.sh \
    && rm install-cargo-prebuilt.sh
    
  • For GitHub actions you can use cargo-prebuilt/cargo-prebuilt-action

Building

(Cargo prebuilt requires either the native or rustls feature)

cargo build or for a release version cargo build --release

Events

To output events use --out.

See Events.

Reports

Reports are generated during crate build time in the index.

They are stored under $REPORTS/$CRATE/$VERSION by default.

See Report Directory ($REPORTS).

Use --report-path to change where they are stored.

Report Types

Using a custom index

GitHub public

Template (Usually out of date compared to the main index)

Your URL should be formatted like github.com/cargo-prebuilt/index. cargo-prebuilt requires HTTPS.

  • export PREBUILT_INDEX=gh-pub:$URL

  • cargo prebuilt --index=gh-pub:$URL CRATES

  • config.toml

    [key.index]
    index = "gh-pub:$URL"
    pub_key = []
    

GitHub private

Beta Feature.

Your URL should be formatted like github.com/cargo-prebuilt/index. Cargo-prebuilt requires HTTPS.

This index requires an auth token with: Repository permission -> Contents -> Read-only. Generate a token

  • export PREBUILT_INDEX=gh-pri:$URL

  • cargo prebuilt --index=gh-pri:$URL CRATES

  • config.toml

    [key.index]
    index = "gh-pri:$URL"
    pub_key = []
    auth = ""
    

Dependencies

~8–21MB
~332K SLoC