# Flatpak manifest for the OpenDeezer unified Linux client (dlopen launcher). # # The unified launcher picks a backend (GTK or Qt) at runtime via dlopen. Flatpak # pins one runtime, so this build targets the KDE runtime (Qt6 + QtWebEngine) and # ships the Qt backend — inside the sandbox the launcher resolves # libopendeezer-qt.so. To also bundle the GTK backend you would need the GNOME # stack (gtk4 + libadwaita + webkitgtk) added as modules, which is heavy; GTK # desktops are better served by org.opendeezer.OpenDeezer.yaml (the GNOME flatpak). # # NOTE on Flathub: the build fetches Go modules (no build-time network on # Flathub) — vendor them and drop `--share=network` for submission. app-id: org.opendeezer.OpenDeezer.unified runtime: org.kde.Platform runtime-version: "6.8" sdk: org.kde.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.golang command: opendeezer finish-args: - --share=network - --socket=wayland - --socket=fallback-x11 - --socket=pulseaudio - --device=dri - --talk-name=org.freedesktop.Notifications - --talk-name=org.mpris.MediaPlayer2.OpenDeezer build-options: append-path: /usr/lib/sdk/golang/bin env: GOFLAGS: "-trimpath" modules: - name: opendeezer-unified buildsystem: simple build-options: build-args: - --share=network build-commands: # Build the engine c-archive + the Qt backend (.so) via the KDE build. - cd gui/kde && chmod +x build.sh && ./build.sh # The dlopen launcher loads libopendeezer-*.so from its own dir ($ORIGIN). - cc -O2 -o opendeezer gui/linux/launcher.c -ldl -Wl,-rpath,'$ORIGIN' - install -Dm755 opendeezer /app/bin/opendeezer - install -Dm755 gui/kde/build/libopendeezer-qt.so /app/bin/libopendeezer-qt.so - install -Dm755 gui/kde/opendeezer-login /app/bin/opendeezer-login # Variant desktop file: Icon must match the exported icon name below (the # gui/linux one references org.opendeezer.OpenDeezer, which this flatpak # cannot export under its app-id prefix). - install -Dm644 packaging/flatpak/org.opendeezer.OpenDeezer.unified.desktop /app/share/applications/org.opendeezer.OpenDeezer.unified.desktop - install -Dm644 assets/icon.png /app/share/icons/hicolor/256x256/apps/org.opendeezer.OpenDeezer.unified.png sources: - type: git url: https://github.com/Cycl0o0/OpenDeezer.git tag: v3.1.3