https://github.com/brson/rustle
Install a Cargo application from source without a preexisting Rust installation
https://github.com/brson/rustle
Last synced: 10 months ago
JSON representation
Install a Cargo application from source without a preexisting Rust installation
- Host: GitHub
- URL: https://github.com/brson/rustle
- Owner: brson
- Created: 2015-02-22T02:53:56.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-02-22T08:08:45.000Z (over 11 years ago)
- Last Synced: 2024-12-15T17:51:18.753Z (over 1 year ago)
- Language: Shell
- Size: 172 KB
- Stars: 36
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
One-line installation of [Rust] applications.
Need to show your friends that Rust application you made, but your
friends don't Rust? That's when you need to rustle.
If your [Cargo] crate produces static binaries then this script can
install it in one line. It downloads the Rust nightly, builds your
application, then packages and installs it.
Install a crate:
curl -sf https://raw.githubusercontent.com/brson/rustle/master/rustle.sh | sh -s -- https://github.com/ogham/exa
exa
Then to uninstall:
sudo /usr/local/lib/rustle/uninstall.sh --components=exa
or more compactly:
sudo /usr/local/lib/rustle/uninstall.sh
which will uninstall everything installed by rustle.
If the project doesn't build on the current nightly, then it's
possible to specify other revisions with the `--toolchain` flag,
which accepts the same values as [multirust].
curl -sf https://raw.githubusercontent.com/brson/rustle/master/rustle.sh | sh -s -- https://github.com/gchp/iota --toolchain nightly-2015-02-19
iota
[Rust]: http://rust-lang.org
[Cargo]: https://github.com/rust-lang/cargo
[multirust]: https://github.com/brson/multirust
# Projects that are likely compatible
* https://github.com/gchp/iota. A text editor.
* https://github.com/ogham/exa. An alternative to ls.
* https://github.com/BurntSushi/xsv. A fast CSV toolkit.
# With the power of multirust
rustle uses [multirust] to acquire Rust. If it detects that multirust
is already installed then it will use the available copy, which can
greatly reduce installation times by reusing multirust's toolchain
cache. If multirust is not already installed then rustle will download
and install it to a temporary location.
[multirust]: https://github.com/brson/multirust
# Future work
* Install libraries as well
* Deal with native dependencies
* Windows compatibility
* Install from crates.io
* Reduce spew