8db34e33b2
With this patch, we replace cursive’s default ncurses backend with the termion backend. This has multiple reasons: - The ncurses backend has safety issues, see [0]. - ncurses requires a pre-installed library and a C compiler, introducing additional build dependencies. Termion is implemented in Rust only. - ncurses does not work on Windows, while termion works in all terminals that support ANSI escape codes. Per default, the termion backend does not buffer the output which may cause flickering [1]. Therefore, we also use the cursive_buffered_backend that buffers the output and fixes the flickering problem. [0] https://github.com/gyscos/cursive/issues/488 [1] https://github.com/gyscos/cursive/issues/142
81 lines
2.0 KiB
Markdown
81 lines
2.0 KiB
Markdown
<!---
|
|
SPDX-FileCopyrightText: 2020 Robin Krahl <robin.krahl@ireas.org>
|
|
SPDX-License-Identifier: MIT
|
|
-->
|
|
|
|
# Installing rusty-man
|
|
|
|
## Installing a package
|
|
|
|
rusty-man packages are available for these distributions:
|
|
- Arch Linux: [`rusty-man`][pkg-aur] in the Arch User Repository
|
|
|
|
[pkg-aur]: https://aur.archlinux.org/packages/rusty-man/
|
|
|
|
## Installing from source
|
|
|
|
### Build Requirements
|
|
|
|
To compile rusty-man, you need Rust 1.40 or later.
|
|
|
|
### Installing from Git
|
|
|
|
1. Clone the rusty-man Git repository:
|
|
```
|
|
$ git clone https://git.sr.ht/~ireas/rusty-man && cd rusty-man
|
|
```
|
|
2. Optional: Checkout the latest release:
|
|
```
|
|
$ git checkout v0.3.0
|
|
```
|
|
3. Optional: Verify the signature of the latest commit:
|
|
```
|
|
$ curl -s "https://pgp.ireas.org/0x6D533958F070C57C.txt" | gpg --import
|
|
$ git verify-commit HEAD
|
|
```
|
|
4. Compile rusty-man:
|
|
```
|
|
$ cargo build --release --locked
|
|
```
|
|
5. Optional: Install the rusty-man binary:
|
|
```
|
|
$ sudo cp ./target/release/rusty-man /usr/local/bin/rusty-man
|
|
```
|
|
|
|
### Installing from a tarball
|
|
|
|
1. Download the tarball for the latest rusty-man release (see the [release
|
|
list][]) and optionally its signature:
|
|
```
|
|
$ curl "https://git.sr.ht/~ireas/rusty-man/archive/v0.3.0.tar.gz" \
|
|
--output rusty-man-v0.3.0.tar.gz
|
|
```
|
|
2. Optional: Download and verify the signature of the tarball:
|
|
```
|
|
$ curl "https://git.sr.ht/~ireas/rusty-man/refs/v0.3.0/v0.3.0.tar.gz.asc" \
|
|
--output rusty-man-v0.3.0.tar.gz.asc
|
|
$ curl -s "https://pgp.ireas.org/0x6D533958F070C57C.txt" | gpg --import
|
|
$ gpg --verify rusty-man-v0.3.0.tar.gz.asc
|
|
```
|
|
3. Extract the tarball:
|
|
```
|
|
$ tar -xf rusty-man-v0.3.0.tar.gz
|
|
$ cd rusty-man-v0.3.0
|
|
```
|
|
4. Compile rusty-man:
|
|
```
|
|
$ cargo build --release --locked
|
|
```
|
|
5. Optional: Install the rusty-man binary:
|
|
```
|
|
$ sudo cp ./target/release/rusty-man /usr/local/bin/rusty-man
|
|
```
|
|
|
|
[release list]: https://git.sr.ht/~ireas/rusty-man/refs
|
|
|
|
### Installing from crates.io
|
|
|
|
```
|
|
cargo install rusty-man
|
|
```
|