14 releases
0.6.8 | Mar 28, 2024 |
---|---|
0.6.5 | Dec 23, 2023 |
0.6.4 | Nov 7, 2023 |
0.6.0 | Jul 22, 2023 |
0.2.1 |
|
#33 in Cargo plugins
196 downloads per month
80KB
2K
SLoC
cargo-prebuilt
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
-
You can download the latest prebuilt binaries of cargo-prebuilt here.
-
Cargo install:
cargo install cargo-prebuilt
orcargo install cargo-prebuilt --profile=quick-build
-
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 \ | bash
-
For GitHub actions you can use cargo-prebuilt/cargo-prebuilt-action
Building
(Cargo prebuilt requires a tls feature)
vendored-openssl (default)
cargo install cargo-prebuilt
native tls (GitHub releases default)
cargo install cargo-prebuilt --no-default-features --features default-native
rustls
cargo install cargo-prebuilt --no-default-features --features default-rustls
rustls with native certs
cargo install cargo-prebuilt --no-default-features --features default-rustls,rustls-native-certs
limit security used
(Cargo prebuilt is tested with default features and may break without the
security
feature)
Remove security
feature included by default, then add the features you
want below:
sha2
: Sha2 hashingsha3
: Sha3 hashingsig
: Minisign signatures
limit indexes used
(Cargo prebuilt is tested with default features and may break without the
indexes
feature)
Remove indexes
feature included by default, then add the features you
want below:
limit color
(Cargo prebuilt is tested with default features and may break without the
color
feature)
- Remove the
color
feature (enabled by default) - Or use
--no-color
,NO_COLOR=true
env var, orcolor = false
in the config file.
use mimalloc
cargo install cargo-prebuilt --features mimalloc
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.
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
-
[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
-
[key.index] index = "gh-pri:$URL" pub_key = [] auth = ""
Dependencies
~9–24MB
~379K SLoC