# Binary Flatpak of the staged Qt Linux bundle. Flathub listing is a human PR; # this is the sandbox/permissions contract and a local test bundle. app-id: com.proximamagnifica.aoide runtime: org.kde.Platform # Must equal QT_RUNTIME from QT_VERSION (major.minor). The pin is the same # official kit CI and local builds use. runtime-version: "6.11" sdk: org.kde.Sdk command: aoide finish-args: - --share=ipc - --share=network - --socket=fallback-x11 - --socket=wayland - --talk-name=org.kde.KWin # Always-on-top is a KWin script, and KWin opens it by path from its own # process. The sandbox's $XDG_RUNTIME_DIR is a private mount the host cannot # see, so the file has to live in a directory shared at one absolute path on # both sides; this shares that one directory and nothing else. Without it # loadScript succeeds on a path KWin cannot read and the window never rises. - --filesystem=xdg-run/aoide:create - --socket=pulseaudio - --device=dri - --filesystem=host modules: - name: aoide buildsystem: simple build-commands: - install -d /app/aoide /app/bin - cp -a . /app/aoide/ - chmod +x /app/aoide/aoide - | printf '%s\n' '#!/bin/sh' \ 'export LD_LIBRARY_PATH=/app/aoide/lib:${LD_LIBRARY_PATH:-}' \ 'exec /app/aoide/aoide "$@"' > /app/bin/aoide - chmod +x /app/bin/aoide - | # The whole tree, not a list of subdirectories. CMake decides what ships, # and a manifest that enumerates share/ silently drops whatever is added # next -- which is how share/metainfo went missing, leaving flatpak with no # name to show and the app installing as com.proximamagnifica.aoide. # flatpak-builder only composes AppStream data from /app/share/metainfo, so # the depth matters as much as the presence. if [ -d share ]; then install -d /app/share cp -a share/. /app/share/ fi # Exec must name the /app/bin wrapper, whatever the shared desktop file says # for the tarball and the AppImage. if [ -f /app/share/applications/com.proximamagnifica.aoide.desktop ]; then sed -i 's|^Exec=.*|Exec=aoide %F|' \ /app/share/applications/com.proximamagnifica.aoide.desktop fi sources: # Staged by packaging/linux/make_flatpak.sh with stage_bundle.sh --no-qt, # so this tree carries libmpv and the app but no Qt — the runtime above is # the Qt. Deliberately not build/linux/bundle: that is the tarball and # AppImage staging and it has a full Qt in it. - type: dir path: ../../build/linux/flatpak-bundle