Files
amethyst/desktopApp/packaging/flatpak

Flathub packaging for Amethyst Desktop

This directory contains the Flatpak manifest and associated metadata for publishing Amethyst Desktop on Flathub.

Files

  • com.vitorpamplona.amethyst.Desktop.yml — Flatpak manifest
  • com.vitorpamplona.amethyst.Desktop.metainfo.xml — AppStream metadata (categories, license, screenshots — needs screenshots added before submission)
  • com.vitorpamplona.amethyst.Desktop.desktop — XDG desktop entry
  • icons/256/com.vitorpamplona.amethyst.Desktop.png — TODO: copy a 256x256 PNG icon from desktopApp/src/jvmMain/resources/icon.png before submission

Build prerequisites

  • ./gradlew :desktopApp:createReleaseDistributable — produces desktopApp/build/compose/binaries/main-release/app/Amethyst/
  • flatpak install org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08 org.freedesktop.Sdk.Extension.openjdk21//24.08

Local build

cd desktopApp/packaging/flatpak
flatpak-builder --user --install --force-clean build-dir com.vitorpamplona.amethyst.Desktop.yml
flatpak run com.vitorpamplona.amethyst.Desktop

Submission to Flathub

Follow https://docs.flathub.org/docs/for-app-authors/submission

  1. Fork flathub/flathub on GitHub.
  2. Branch from new-pr (NOT master).
  3. Copy this manifest + AppStream + desktop into a new directory matching the app id.
  4. Open a PR titled "Add com.vitorpamplona.amethyst.Desktop".
  5. After merge, a per-app repo is created with write access for ongoing updates.

Codec coverage

  • HEVC / VP9 / AV1: covered via org.freedesktop.Platform.ffmpeg-full add-extension declared in the manifest. Flatpak downloads it on install.
  • HLS, H.264, AAC, MP3, Opus: covered by the GStreamer plugin set in org.freedesktop.Platform 24.08 itself.

License metadata

The manifest declares the binary as MIT AND LGPL-2.1-or-later AND BSD-2-Clause AND Apache-2.0. This SPDX expression validates via appstreamcli validate.