#cargo-subcommand #cargo #binary

app cargo-prebuilt

Download prebuilt crate binaries for many different platforms

18 releases

new 0.7.0-rc.0 May 13, 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

#35 in Cargo plugins

Download history 178/week @ 2024-02-15 59/week @ 2024-02-22 13/week @ 2024-02-29 7/week @ 2024-03-07 21/week @ 2024-03-14 139/week @ 2024-03-28 35/week @ 2024-04-04 12/week @ 2024-04-11 226/week @ 2024-05-02 154/week @ 2024-05-09

380 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
~333K SLoC