mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-09-15 22:32:04 +02:00
Add Flatpak and Flathub packaging support
Add all files needed to package Yaak as a Flatpak for distribution on Flathub. Uses the deb-extraction approach recommended by Tauri docs: the manifest downloads the existing .deb release artifact, extracts it, and installs the binary/resources into the Flatpak /app prefix. Includes: - AppStream metainfo.xml with app metadata and branding - Flatpak manifest (app.yaak.desktop.yml) for x86_64 and aarch64 - Properly sized icons (128/256/512px) named per Flatpak conventions - Helper script to update manifest hashes for new releases Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
fda18c5434
commit
9e1936f345
@@ -0,0 +1,79 @@
|
||||
# Flatpak manifest for Yaak
|
||||
#
|
||||
# To build and test locally:
|
||||
# flatpak install flathub org.gnome.Platform//47 org.gnome.Sdk//47
|
||||
# flatpak-builder --force-clean --user --install-deps-from=flathub --repo=flatpak-repo build flatpak/app.yaak.desktop.yml
|
||||
# flatpak --user remote-add --if-not-exists yaak-local flatpak-repo
|
||||
# flatpak --user install yaak-local app.yaak.desktop
|
||||
# flatpak run app.yaak.desktop
|
||||
|
||||
id: app.yaak.desktop
|
||||
runtime: org.gnome.Platform
|
||||
runtime-version: "47"
|
||||
sdk: org.gnome.Sdk
|
||||
command: yaak-app
|
||||
|
||||
finish-args:
|
||||
# Display (Wayland + X11 fallback)
|
||||
- --socket=wayland
|
||||
- --socket=fallback-x11
|
||||
- --share=ipc
|
||||
# GPU rendering (WebKitGTK)
|
||||
- --device=dri
|
||||
# Network access (required — Yaak is an API client)
|
||||
- --share=network
|
||||
# File access for importing/exporting and Git project directories
|
||||
- --filesystem=home
|
||||
|
||||
modules:
|
||||
- name: yaak
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
# Extract the deb package
|
||||
- ar -x yaak.deb
|
||||
- tar -xf data.tar.gz
|
||||
|
||||
# Install the binary
|
||||
- install -Dm755 usr/bin/yaak-app /app/bin/yaak-app
|
||||
|
||||
# Install bundled resources (plugins, node runtime, protoc, etc.)
|
||||
- cp -r usr/lib/yaak /app/lib/yaak
|
||||
|
||||
# Install desktop file, updating Exec and Icon to match Flatpak conventions
|
||||
- install -Dm644 usr/share/applications/yaak.desktop /app/share/applications/app.yaak.desktop.desktop
|
||||
- desktop-file-edit --set-key=Exec --set-value=yaak-app /app/share/applications/app.yaak.desktop.desktop
|
||||
- desktop-file-edit --set-icon=app.yaak.desktop /app/share/applications/app.yaak.desktop.desktop
|
||||
- desktop-file-edit --set-key=StartupWMClass --set-value=yaak-app /app/share/applications/app.yaak.desktop.desktop
|
||||
|
||||
# Install icons from deb (small sizes) and from this repo (large sizes)
|
||||
- install -Dm644 usr/share/icons/hicolor/32x32/apps/yaak-app.png /app/share/icons/hicolor/32x32/apps/app.yaak.desktop.png
|
||||
- install -Dm644 usr/share/icons/hicolor/128x128/apps/yaak-app.png /app/share/icons/hicolor/128x128/apps/app.yaak.desktop.png
|
||||
- install -Dm644 icons/256x256/app.yaak.desktop.png /app/share/icons/hicolor/256x256/apps/app.yaak.desktop.png
|
||||
- install -Dm644 icons/512x512/app.yaak.desktop.png /app/share/icons/hicolor/512x512/apps/app.yaak.desktop.png
|
||||
|
||||
# Install AppStream metainfo
|
||||
- install -Dm644 app.yaak.desktop.metainfo.xml /app/share/metainfo/app.yaak.desktop.metainfo.xml
|
||||
|
||||
sources:
|
||||
# The deb package from GitHub releases
|
||||
# Update the URL and sha256 for each release
|
||||
- type: file
|
||||
dest-filename: yaak.deb
|
||||
url: https://github.com/mountain-loop/yaak/releases/download/v2026.2.0-beta.10/yaak_2026.2.0-beta.10_amd64.deb
|
||||
sha256: "FILL_IN_SHA256_HASH"
|
||||
only-arches:
|
||||
- x86_64
|
||||
- type: file
|
||||
dest-filename: yaak.deb
|
||||
url: https://github.com/mountain-loop/yaak/releases/download/v2026.2.0-beta.10/yaak_2026.2.0-beta.10_arm64.deb
|
||||
sha256: "FILL_IN_SHA256_HASH"
|
||||
only-arches:
|
||||
- aarch64
|
||||
|
||||
# Icons (from this repo)
|
||||
- type: dir
|
||||
path: icons
|
||||
|
||||
# AppStream metainfo (from this repo)
|
||||
- type: file
|
||||
path: app.yaak.desktop.metainfo.xml
|
||||
Reference in New Issue
Block a user