rusty-man/INSTALL.md
Robin Krahl 8db34e33b2
Use termion backend for cursive
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
2020-10-08 10:30:17 +02:00

2.0 KiB

Installing rusty-man

Installing a package

rusty-man packages are available for these distributions:

  • Arch Linux: rusty-man in the Arch User Repository

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
    

Installing from crates.io

cargo install rusty-man