Skip to content

Latest commit

 

History

History
67 lines (55 loc) · 2.22 KB

BUILD_INSTRUCTIONS.md

File metadata and controls

67 lines (55 loc) · 2.22 KB

Build instructions

Build dependencies

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

Mac OS X

$ brew update
$ brew install automake cmake gettext gtk+4 gpgme
$ git clone https://github.com/cortex/ripasso.git
$ cd ripasso
$ cargo run

Ubuntu

$ 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

Fedora

All

$ dnf install cargo gpgme-devel openssl-devel libxcb libxcb-devel nettle-devel

GTK

$ dnf install rust-gdk-devel

Building

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.

Build artifacts

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.