app-id: io.github.lowband21.FerrexPlayer runtime: org.freedesktop.Platform runtime-version: "24.08" sdk: org.freedesktop.Sdk command: ferrex-player build-options: # Keep builds reliable: stripping can break the embedded Rust toolchain # used during the build. We remove the toolchain from the final bundle via # `cleanup`. strip: false no-debuginfo: true cleanup: - /tools/rust finish-args: # GPU + graphics - --device=dri - --share=ipc - --socket=wayland - --socket=fallback-x11 - --socket=pulseaudio # Network access to reach a Ferrex server - --filesystem=xdg-cache - --share=network modules: - name: rust-toolchain buildsystem: simple build-commands: - sh ./install.sh --prefix=/app/tools/rust sources: - type: archive url: https://static.rust-lang.org/dist/rust-1.92.0-x86_64-unknown-linux-gnu.tar.xz sha256: d2ccef59dd9f7439f2c694948069f789a044dc1addcc0803613232af8f88ee0c - name: gstreamer buildsystem: meson config-opts: - -Ddoc=disabled - -Dintrospection=disabled - -Dauto_features=disabled sources: - type: archive url: https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.28.1.tar.xz sha256: b65e2ffa35bdbf8798cb75c23ffc3d05e484e48346ff7546844ba85217664504 - name: gst-plugins-base buildsystem: meson config-opts: - -Ddoc=disabled - -Dintrospection=disabled - -Dauto_features=disabled sources: - type: archive url: https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.28.1.tar.xz sha256: 1446a4c2a92ff5d78d88e85a599f0038441d53333236f0c72d72f21a9c132497 - name: gst-plugins-good buildsystem: meson config-opts: - -Ddoc=disabled - -Dauto_features=disabled sources: - type: archive url: https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.28.1.tar.xz sha256: 738e26aee41b7a62050e40b81adc017a110a7f32d1ec49fa6a0300846c44368d - name: gst-plugins-bad buildsystem: meson config-opts: - -Ddoc=disabled - -Dgpl=enabled - -Dwayland=enabled - -Dva=enabled - -Dclosedcaption=enabled - -Dtflite=disabled - -Dmpeghdec=disabled - -Dwpe2=disabled - -Dwebrtc=disabled - -Dwebrtcdsp=disabled - -Dlcevcdecoder=disabled sources: - type: archive url: https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.28.1.tar.xz sha256: 56c1593787f8b5550893d59e4ff29e6bcccf34973316fa55e34ce493e04313a2 - name: gst-plugins-ugly buildsystem: meson config-opts: - -Ddoc=disabled - -Dgpl=enabled sources: - type: archive url: https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.1.tar.xz sha256: 4082f3cb063fccc3ffc04e5ab0854bafde82d1b373eb3c9eaa28115dd3f95a78 - name: gst-libav buildsystem: meson config-opts: - -Ddoc=disabled sources: - type: archive url: https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.28.1.tar.xz sha256: bfa91aaca38d0fd8addcdd559e35b7541e3f32a5f410194ec4ba18040defee9b - name: ferrex-player buildsystem: simple build-options: build-args: - --share=network append-path: /app/tools/rust/bin env: SQLX_OFFLINE: "true" CARGO_HOME: /run/build/ferrex-player/cargo-home CARGO_TARGET_DIR: /run/build/ferrex-player/target PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig build-commands: - cargo build --release -p ferrex-player - install -Dm755 /run/build/ferrex-player/target/release/ferrex-player /app/bin/ferrex-player - install -Dm644 flatpak/io.github.lowband21.FerrexPlayer.desktop /app/share/applications/io.github.lowband21.FerrexPlayer.desktop - install -Dm644 flatpak/io.github.lowband21.FerrexPlayer.metainfo.xml /app/share/metainfo/io.github.lowband21.FerrexPlayer.metainfo.xml - install -Dm644 flatpak/icons/128x128/apps/io.github.lowband21.FerrexPlayer.png /app/share/icons/hicolor/128x128/apps/io.github.lowband21.FerrexPlayer.png - install -Dm644 flatpak/icons/192x192/apps/io.github.lowband21.FerrexPlayer.png /app/share/icons/hicolor/192x192/apps/io.github.lowband21.FerrexPlayer.png - install -Dm644 flatpak/icons/512x512/apps/io.github.lowband21.FerrexPlayer.png /app/share/icons/hicolor/512x512/apps/io.github.lowband21.FerrexPlayer.png sources: - type: dir path: ..