Ripasso depends on a number of local libraries through it's dependencies:
- openssl - for git operations
- libgit2 - for git operations
- libgpgerror - for the gpgme encryption backend
- gpgme - for the gpgme encryption backend
- xorg - for the clippboard
- nettle-dev - for the sequoia encryption backend
They are named different things on different platforms
$ brew update
$ brew install automake cmake gettext gtk+4 gpgme
$ git clone https://github.com/cortex/ripasso.git
$ cd ripasso
$ cargo run
$ apt install cargo libssl-dev libclang-dev libadwaita-1-dev libgpgme11-dev libgpg-error-dev libgtk-4-dev libxcb-shape0-dev libxcb-xfixes0-dev nettle-dev
$ cargo build --all
$ dnf install cargo gpgme-devel openssl-devel libxcb libxcb-devel nettle-devel
$ dnf install rust-gdk-devel
Perform the build with:
cargo build --all --frozen --release
The argument --frozen
ensures that the content of the Cargo.lock
file is respected so that the build is repeatable,
this is mostly of interest for package maintainers in distributions.
The build produces a number of artifacts:
./target/release/ripasso-cursive
- the main application binary, with the curses TUI./target/release/ripasso-gtk
- the GTK application, still in an experimental phase./target/man-page/cursive/ripasso-cursive.1
- The manual page for ripasso-cursive./target/translations/cursive/de.mo
- german translation./target/translations/cursive/fr.mo
- french translation./target/translations/cursive/it.mo
- italian translation./target/translations/cursive/nb.mo
- norwegian bokmål translation./target/translations/cursive/nn.mo
- norwegian nynorsk translation./target/translations/cursive/sv.mo
- swedish translation
The translation files are in gettext binary format, and should be installed in
/usr/share/locale/{}/LC_MESSAGES/ripasso-cursive.mo
where {}
should be replaced
with the locale. If that location doesn't conform to your distribution's guidelines,
then you can supply the environmental variable TRANSLATION_INPUT_PATH
when building
to specify another.