refryt

Build from source

refryt is Rust and egui, with mpv for playback. This is the short version; docs/BUILDING.md has every detail.

Prerequisites

git clone https://github.com/gridoe/refryt
cd refryt

Everyday development

just              # cargo run, dev profile
just search "some song"
just release      # optimised run, for judging real performance
just check        # fmt --check + clippy + tests, what CI runs

Without just: cargo run -p refryt --bin refryt.

Packaging

Linux: AppImage

just appimage          # or: ./scripts/build-appimage.sh
just appimage-install  # to ~/.local/bin with a desktop entry

Bundles the release binary, every shared library short of glibc (libmpv included), a fresh yt-dlp and the icon into dist/refryt-<version>-x86_64.AppImage. Needs python3 with Pillow and curl; no root required.

Linux: Flatpak

just flatpak           # or: ./scripts/build-flatpak.sh
flatpak install --user dist/refryt-<version>-x86_64.flatpak

Built from packaging/flatpak/. Needs flatpak-builder, the GNOME 49 Platform and Sdk, and the rust-stable Sdk extension. The first build compiles libmpv and friends, so it takes a while.

macOS: app bundle

brew install rustup just mpv dylibbundler
just macos             # or: ./scripts/build-macos.sh

Writes dist/Refryt.app, plus a zip and a DMG, with libmpv and yt-dlp bundled and an ad-hoc signature. On another Mac, clear the quarantine flag with xattr -cr Refryt.app.

Windows: cross-compiled from Linux

sudo pacman -S mingw-w64-gcc mingw-w64-crt mingw-w64-headers mingw-w64-winpthreads mingw-w64-binutils
rustup target add x86_64-pc-windows-gnu
./scripts/build-windows.sh

Produces a portable zip, and with Wine and Inno Setup installed, a real installer. ARCH=aarch64 builds Windows on ARM using llvm-mingw. See BUILDING.md for the setup.

Contributing

Bugs and ideas go to the issue tracker. CONTRIBUTING.md says what to include. Releases are cut by pushing a v* tag; the process is in BUILDING.md.

Credits