mirror of
https://github.com/Drop-OSS/drop-app.git
synced 2026-07-20 14:10:13 -04:00
[PR #200] Flatpak packaging: build script, CI workflow, and runtime fixes #191
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Drop-OSS/drop-app/pull/200
Author: @BillyOutlast
Created: 6/2/2026
Status: 🔄 Open
Base:
develop← Head:develop📝 Commits (3)
f4e6480chore: auto-commit after reactive-executeb2f1ac3gsd snapshot: uncommitted changes after 229m inactivityc886b5eflatpak: add build.sh, prepare-libs.sh, and updated CI workflow📊 Changes
16 files changed (+15340 additions, -2 deletions)
View changed files
➕
.github/workflows/flatpak.yml(+143 -0)📝
.gitignore(+51 -0)➕
flatpak/build.sh(+113 -0)➕
flatpak/cargo-sources.json(+10487 -0)➕
flatpak/generate-node-sources.py(+133 -0)➕
flatpak/node-sources.json(+4082 -0)➕
flatpak/org.droposs.client.desktop(+10 -0)➕
flatpak/org.droposs.client.metainfo.xml(+21 -0)➕
flatpak/org.droposs.client.svg(+5 -0)➕
flatpak/org.droposs.client.yml(+98 -0)➕
flatpak/prepare-deb.sh(+43 -0)➕
flatpak/prepare-libs.sh(+63 -0)📝
src-tauri/Cargo.lock(+50 -0)📝
src-tauri/Cargo.toml(+2 -0)📝
src-tauri/build.rs(+8 -0)📝
src-tauri/src/lib.rs(+31 -2)📄 Description
Flatpak Packaging
Adds full Flatpak build support for the Drop Desktop client, including a local build script, system tray library bundling, WebKit Wayland workarounds, and a companion CI workflow.
What was done
Flatpak manifest & metadata
flatpak/org.droposs.client.yml— Flatpak manifest using GNOME Platform 48, extracts the pre-built.deband bundles system tray librariesflatpak/org.droposs.client.desktop— Flatpak-specific desktop entry with correct/app/bin/pathsflatpak/org.droposs.client.metainfo.xml— AppStream metainfo for Flathubflatpak/org.droposs.client.svg— Scalable SVG icon (64x64 viewBox)System tray indicator fix
The GNOME Platform runtime does not include
libayatana-appindicator3(used for the tray icon). Added these libraries as bundled file sources in the manifest:libayatana-appindicator3.so.1libayatana-ido3-0.4.so.0libayatana-indicator3.so.7libdbusmenu-glib.so.4libdbusmenu-gtk3.so.4WebKit Wayland workarounds
Added these environment variables to
finish-argsto prevent rendering crashes:WEBKIT_DISABLE_COMPOSITING_MODE=1WEBKIT_DISABLE_DMABUF_RENDERER=1Developer tooling
flatpak/build.sh— Full automation: builds Tauri.deb, prepares libraries, runs flatpak-builder, optionally creates portable bundleflatpak/prepare-libs.sh— Copies required system tray libraries from host system (works on Fedora, Ubuntu, etc.)flatpak/prepare-deb.sh— Symlinks the versioned.debto the predictable path expected by the manifestCI workflow
.github/workflows/flatpak.yml— Companion to the main release workflowrelease: [published]: downloads the.debfrom release assets, builds Flatpak, uploads as release assetworkflow_dispatchwith tag: same as releaseworkflow_dispatchwithout tag: builds Tauri from source, then builds Flatpak, uploads as workflow artifactLocal frontend serving
tauri-plugin-localhost+portpickerto serve the frontend overhttp://localhost:<port>/mainin release builds, since thetauri://custom protocol does not work inside WebKit2GTK in the Flatpak sandbox.How to test locally
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.