Skip to content

Installation

  • Git, to get the code.
  • rustup, the Rust installer. The repository pins Rust 1.95.0 in rust-toolchain.toml, and rustup installs that version the first time you build.
  • A C toolchain for linking: the Xcode Command Line Tools on macOS, the Visual Studio C++ build tools on Windows, or GCC on Linux.
  • A graphics driver with OpenGL. The desktop app draws with egui’s glow backend.

Pick your system. The tab for the system you are using opens first.

  1. Install the Xcode Command Line Tools, which provide the linker:

    Terminal window
    xcode-select --install
  2. Install rustup (from rustup.rs):

    Terminal window
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. Get the code and build:

    Terminal window
    git clone https://github.com/aprajnaparamita/larrygram.git
    cd larrygram
    cargo build --release -p larrygram
  4. Start Larrygram:

    Terminal window
    ./target/release/larrygram

The first time Larrygram starts, the welcome wizard asks you to choose Panel Modern or Panel Classic. In progress If you close it, Larrygram uses Panel Modern. Open the wizard again from Help > Welcome.

You can also choose the layout when you start the app. These four values arrive with v1.0 alpha; current builds accept 2016 and 365.

Terminal window
./target/release/larrygram --ui-layout panel-classic

The values are panel-modern, panel-classic, panel-2016 and panel-365. The flag wins over the saved setting for that session.

A build you make yourself runs without warnings. For the future release files, code signing is not decided yet TODO(verify). If macOS says an app “cannot be opened”, Control-click it in Finder and choose Open. If Windows SmartScreen shows “Windows protected your PC”, choose More info, then Run anyway, only for files you downloaded from the official release page.

From your clone:

Terminal window
git pull
cargo build --release -p larrygram
  1. Delete the larrygram folder you cloned.
  2. Optionally remove your settings. Larrygram keeps them in the app-data folder of the eframe toolkit for the app id Larrygram TODO(verify) exact paths.
  3. Optionally remove Rust with rustup self uninstall.

Each release will publish SHA-256 checksums. Compare the checksum of the file you downloaded with the published one:

Terminal window
shasum -a 256 <file>

Larrygram also builds for the browser (WebAssembly, built with trunk). A hosted version on larrygram.org is planned. To run it locally:

Terminal window
cargo install trunk
cd apps/larrygram-web
trunk serve

In the browser, Open uploads a file and Save downloads it.

toolchain '1.95.0' is not installed : Run any cargo command inside the repository; rustup installs the pinned toolchain. If it does not, run rustup toolchain install in the repository folder.

linker 'cc' not found or link.exe not found : Install the C toolchain for your system (see What you need).

Linux: errors about X11, Wayland or xkbcommon libraries : Install the development packages that eframe lists for your distribution TODO(verify) package list.

cargo xtask gate fails with a missing tool : The full gate needs cargo-deny, cargo-llvm-cov, a nightly toolchain with cargo-fuzz, and the wasm32-unknown-unknown target. Use cargo xtask gate --quick to skip coverage, wasm and fuzz.