Clone
2
Installation
Pavel Baksy edited this page 2026-01-13 16:59:00 +01:00
Table of Contents
- Installation
- Dependencies
- Installation Methods
- Method 1: Build from Source (Native)
- Method 2: Build with Flatpak (Recommended)
- Step 1: Install Flatpak Builder
- Step 2: Add Flathub Remote
- Step 3: Install GNOME SDK
- Step 4: Build Flatpak
- Step 5: Run
- Method 3: GNOME Builder (For Development)
- Uninstallation
- File Locations
- Troubleshooting
- Next Steps
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.
Method 2: Build with Flatpak (Recommended)
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
- Launch GNOME Builder
- Click "Clone Repository"
- Enter:
https://git.bugsy.cz/beval/roster.git - Click "Clone"
Step 3: Build and Run
- Click the "Build" button (hammer icon)
- 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=networkpermission
Next Steps
- Getting-Started - Learn how to use Roster
- Projects-and-Environments - Organize your API testing
- Variables - Use variables in requests