2
Installation
Pavel Baksy edited this page 2026-01-13 16:59:00 +01:00

Installation

This guide covers how to build and install Roster from source.

Dependencies

Roster requires the following dependencies:

Runtime Dependencies

  • GTK 4 (>= 4.0)
  • libadwaita 1 (>= 1.0)
  • Python 3 (>= 3.8)
  • libsoup3 - HTTP client library (provided by GNOME Platform)
  • libsecret - Secure credential storage (provided by GNOME Platform)
  • GJS - GNOME JavaScript runtime for script execution

Build Dependencies

  • Meson (>= 1.0.0)
  • Ninja
  • pkg-config
  • gettext - For internationalization
  • glib-compile-schemas
  • glib-compile-resources

Installation Methods

Method 1: Build from Source (Native)

This method builds and installs Roster directly on your system.

Step 1: Install Dependencies

Fedora:

sudo dnf install meson ninja-build gtk4-devel libadwaita-devel libsoup3-devel libsecret-devel gjs python3 gettext desktop-file-utils appstream

Ubuntu/Debian:

sudo apt install meson ninja-build libgtk-4-dev libadwaita-1-dev libsoup-3.0-dev libsecret-1-dev gjs python3 gettext desktop-file-utils appstream

Arch Linux:

sudo pacman -S meson ninja gtk4 libadwaita libsoup3 libsecret gjs python3 gettext

Step 2: Clone Repository

git clone https://git.bugsy.cz/beval/roster.git
cd roster

Step 3: Build

meson setup builddir
meson compile -C builddir

Step 4: Install

sudo meson install -C builddir

Step 5: Run

roster

Or launch from your application menu.

Flatpak provides a sandboxed environment with all dependencies included.

Step 1: Install Flatpak Builder

Fedora:

sudo dnf install flatpak-builder

Ubuntu/Debian:

sudo apt install flatpak-builder

Step 2: Add Flathub Remote

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Step 3: Install GNOME SDK

flatpak install flathub org.gnome.Platform//49 org.gnome.Sdk//49

Step 4: Build Flatpak

git clone https://git.bugsy.cz/beval/roster.git
cd roster
flatpak-builder --user --install --force-clean build-dir cz.bugsy.roster.json

Step 5: Run

flatpak run cz.bugsy.roster

Method 3: GNOME Builder (For Development)

GNOME Builder provides an integrated development environment.

Step 1: Install GNOME Builder

flatpak install flathub org.gnome.Builder

Step 2: Open Project

  1. Launch GNOME Builder
  2. Click "Clone Repository"
  3. Enter: https://git.bugsy.cz/beval/roster.git
  4. Click "Clone"

Step 3: Build and Run

  1. Click the "Build" button (hammer icon)
  2. Click the "Run" button (play icon)

Uninstallation

Native Installation

cd roster/builddir
sudo ninja uninstall

Flatpak Installation

flatpak uninstall cz.bugsy.roster

File Locations

Native Installation

  • Binary: /usr/local/bin/roster (or /usr/bin/roster)
  • Application data: ~/.local/share/cz.bugsy.roster/
  • Requests/Projects: ~/.local/share/cz.bugsy.roster/requests.json
  • Session state: ~/.local/share/cz.bugsy.roster/session.json
  • Sensitive variables: GNOME Keyring (encrypted)

Flatpak Installation

  • Binary: Managed by Flatpak
  • Application data: ~/.var/app/cz.bugsy.roster/data/cz.bugsy.roster/
  • Requests/Projects: ~/.var/app/cz.bugsy.roster/data/cz.bugsy.roster/requests.json
  • Session state: ~/.var/app/cz.bugsy.roster/data/cz.bugsy.roster/session.json
  • Sensitive variables: GNOME Keyring (encrypted)

Troubleshooting

Build errors:

  • "meson: command not found" → Install Meson
  • "Package not found" errors → Install missing development packages

Runtime errors:

  • "Failed to access Secret Service" → Ensure GNOME Keyring is unlocked
  • "Module 'gi' not found" → Install PyGObject

Flatpak:

  • "Nothing matches org.gnome.Platform" → Add Flathub remote and install GNOME SDK
  • No network access → Verify --share=network permission

Next Steps