diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml new file mode 100644 index 0000000..c27a249 --- /dev/null +++ b/.github/workflows/flatpak.yml @@ -0,0 +1,18 @@ +name: flatpak + +on: workflow_dispatch + +jobs: + flatpak: + name: "Flatpak" + runs-on: ubuntu-latest + container: + image: bilelmoussaoui/flatpak-github-actions:kde-5.15-23.08 + options: --privileged + steps: + - uses: actions/checkout@v4 + - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 + with: + bundle: mod-desktop.flatpak + manifest-path: flatpak/audio.mod.mod_desktop.yaml + cache-key: flatpak-builder-${{ github.sha }} diff --git a/flatpak/audio.mod.mod_desktop.metainfo.xml b/flatpak/audio.mod.mod_desktop.metainfo.xml new file mode 100644 index 0000000..0af5694 --- /dev/null +++ b/flatpak/audio.mod.mod_desktop.metainfo.xml @@ -0,0 +1,36 @@ + + + audio.mod.mod_desktop + + MOD Desktop + MOD Audio for the desktop + https://mod.audio + + MIT + AGPL-3.0-or-later + + + pointing + keyboard + touch + + + +

The mod universe, now for Desktops free, as in beer too

+

Explore, Create & Play, Sculpt your tone, community-enhanced.

+

Effortlessly create your dream rigs using a familiar pedalboard workflow, enriched by a vast library of community-driven plugins.

+
+ + mod-desktop.desktop + + + https://github.com/mod-audio/mod-desktop/raw/main/mod-desktop.png + + + https://github.com/mod-audio/mod-desktop/raw/main/docs/user-files-1.png + + + https://github.com/mod-audio/mod-desktop/raw/main/docs/user-files-2.png + + +
diff --git a/flatpak/audio.mod.mod_desktop.yaml b/flatpak/audio.mod.mod_desktop.yaml new file mode 100644 index 0000000..617a26a --- /dev/null +++ b/flatpak/audio.mod.mod_desktop.yaml @@ -0,0 +1,63 @@ +id: audio.mod.mod_desktop +runtime: org.kde.Platform +runtime-version: "5.15-23.08" +sdk: org.kde.Sdk + +command: mod-desktop +finish-args: + # X11 + XShm access + - --share=ipc + - --socket=fallback-x11 + # Wayland access + - --socket=wayland + # GPU acceleration + - --device=dri + # Audio + - --socket=pulseaudio + - --filesystem=xdg-run/pipewire-0 + - --env=JACKBRIDGE_FILENAME=/usr/lib/x86_64-linux-gnu/libjack.so.0 + # Network access + - --share=network + # DBus access + - --own-name=org.freedesktop.ReserveDevice1.* + # Audio card access + - --device=all + # Documents (data folder) access + - --filesystem=xdg-documents/MOD Desktop:create +rename-desktop-file: mod-desktop.desktop +rename-icon: mod-desktop +modules: + - name: mod-desktop + buildsystem: simple + build-commands: + - mkdir -p ${FLATPAK_DEST}/opt + - mv mod-desktop ${FLATPAK_DEST}/opt/. + - install -Dm755 mod-desktop.sh ${FLATPAK_DEST}/bin/mod-desktop + - install -Dm644 mod-desktop-git/res/mod-logo.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/mod-desktop.svg + - install -Dm644 mod-desktop-git/utils/linux/mod-desktop.desktop ${FLATPAK_DEST}/share/applications/mod-desktop.desktop + - install -Dm644 ${FLATPAK_ID}.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml + - desktop-file-edit --set-key Exec --set-value "mod-desktop" ${FLATPAK_DEST}/share/applications/mod-desktop.desktop + - desktop-file-edit --set-key Icon --set-value "mod-desktop" ${FLATPAK_DEST}/share/applications/mod-desktop.desktop + sources: + - type: archive + url: https://github.com/mod-audio/mod-desktop/releases/download/0.0.12/mod-desktop-0.0.12-linux-x86_64.tar.xz + sha256: d1faf2094641d5ef527ee9b6012f13f1255e3c2783773939b1c2449848c7c50c + only-arches: + - x86_64 + x-checker-data: + type: json + url: https://api.github.com/repos/ibancg/lingot/releases + version-query: '.[].tag_name | sub("^v"; "")' + url-query: '.[].assets.[] | select(.name=="mod-desktop-" + $version + "-linux-x86_64.tar.xz") | .browser_download_url' + - type: git + url: https://github.com/mod-audio/mod-desktop.git + commit: 86bcaa3daa854440f707b15ad10a1aaaff4b54b1 + tag: 0.0.12 + dest: mod-desktop-git + - type: script + dest-filename: mod-desktop.sh + commands: + - cd "/app/opt/mod-desktop" + - exec "$(pwd)/mod-desktop" + - type: file + path: audio.mod.mod_desktop.metainfo.xml