Installation
What you need
Section titled “What you need”- 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
glowbackend.
Build from source
Section titled “Build from source”Pick your system. The tab for the system you are using opens first.
-
Install the Xcode Command Line Tools, which provide the linker:
Terminal window xcode-select --install -
Install rustup (from rustup.rs):
Terminal window curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -
Get the code and build:
Terminal window git clone https://github.com/aprajnaparamita/larrygram.gitcd larrygramcargo build --release -p larrygram -
Start Larrygram:
Terminal window ./target/release/larrygram
-
Install Git for Windows.
-
Download and run
rustup-init.exefrom rustup.rs. When it asks, let it install the Visual Studio C++ build tools. -
Open a new terminal (PowerShell or Windows Terminal), then get the code and build:
Terminal window git clone https://github.com/aprajnaparamita/larrygram.gitcd larrygramcargo build --release -p larrygram -
Start Larrygram:
Terminal window .\target\release\larrygram.exe
-
Install Git and a C compiler with your package manager, for example
build-essentialon Debian and Ubuntu orgccon Fedora. -
Install rustup (from rustup.rs):
Terminal window curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -
Get the code and build:
Terminal window git clone https://github.com/aprajnaparamita/larrygram.gitcd larrygramcargo build --release -p larrygram -
Start Larrygram:
Terminal window ./target/release/larrygram
Larrygram runs on X11 and Wayland.
First run
Section titled “First run”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.
./target/release/larrygram --ui-layout panel-classicThe values are panel-modern, panel-classic, panel-2016 and panel-365. The flag wins over the saved setting for that session.
macOS Gatekeeper and Windows SmartScreen
Section titled “macOS Gatekeeper and Windows SmartScreen”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.
Update
Section titled “Update”From your clone:
git pullcargo build --release -p larrygramUninstall
Section titled “Uninstall”- Delete the
larrygramfolder you cloned. - Optionally remove your settings. Larrygram keeps them in the app-data folder of the eframe toolkit for the app id
LarrygramTODO(verify) exact paths. - Optionally remove Rust with
rustup self uninstall.
Verify a download
Section titled “Verify a download”Each release will publish SHA-256 checksums. Compare the checksum of the file you downloaded with the published one:
shasum -a 256 <file>Get-FileHash <file> -Algorithm SHA256sha256sum <file>Web build Planned
Section titled “Web build ”Larrygram also builds for the browser (WebAssembly, built with trunk). A hosted version on larrygram.org is planned. To run it locally:
cargo install trunkcd apps/larrygram-webtrunk serveIn the browser, Open uploads a file and Save downloads it.
Common errors
Section titled “Common errors”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.