Fladder/flatpak/nl.jknaapen.fladder.yaml
Louis-Maxence Garret 523476bd08
feat(Linux): Automatically build a Flatpak bundle (#125)
Co-authored-by: PartyDonut <42371342+PartyDonut@users.noreply.github.com>
2024-11-13 17:52:26 +01:00

218 lines
No EOL
6.6 KiB
YAML

id: nl.jknaapen.fladder
runtime: org.gnome.Platform
runtime-version: '46'
sdk: org.gnome.Sdk
command: Fladder
finish-args:
# X11/Wayland access
- --share=ipc
- --socket=fallback-x11
- --socket=wayland
# Audio playback
- --socket=pulseaudio
# Network access for Jellyfin streaming
- --share=network
# File access for downloads/media
- --filesystem=home
# Allow access to PipeWire socket for mpv
- --filesystem=xdg-run/pipewire-0:ro
# Hardware acceleration
- --device=dri
# Allow notification access
- --talk-name=org.freedesktop.Notifications
- --talk-name=org.freedesktop.PowerManagement
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.portal.*
modules:
- name: mpv
buildsystem: meson
config-opts:
- -Dlibmpv=true
- -Dcplayer=false
- -Dbuild-date=false
- -Dmanpage-build=disabled
- -Dvaapi=enabled
- -Dcuda-hwaccel=enabled
- -Dpulse=enabled
- -Dalsa=enabled
- -Duchardet=enabled
cleanup:
- /lib/pkgconfig
- /share
- /include
sources:
- type: git
url: https://github.com/mpv-player/mpv.git
tag: v0.39.0
commit: a0fba7be57f3822d967b04f0f6b6d6341e7516e7
x-checker-data:
type: git
tag-pattern: ^v([\d.]+)$
modules:
- name: ffnvcodec
buildsystem: simple
build-commands:
- make install PREFIX=/app
cleanup:
- /lib/pkgconfig
- /include
sources:
- type: git
url: https://github.com/FFmpeg/nv-codec-headers.git
tag: n12.2.72.0
commit: c69278340ab1d5559c7d7bf0edf615dc33ddbba7
x-checker-data:
type: git
tag-pattern: ^n([\d.]+)$
- name: ffmpeg
config-opts:
- --enable-shared
- --disable-static
- --enable-gnutls
- --enable-pic
- --disable-doc
- --disable-programs
- --disable-encoders
- --disable-muxers
- --disable-devices
- --enable-vaapi
- --enable-cuvid
- --enable-libdav1d
- --enable-gpl
cleanup:
- /lib/pkgconfig
- /share
- /include
sources:
- type: git
url: https://github.com/FFmpeg/FFmpeg.git
tag: n7.1
commit: b08d7969c550a804a59511c7b83f2dd8cc0499b8
x-checker-data:
type: git
tag-pattern: ^n([\d.]+)$
- shared-modules/luajit/luajit.json
- name: libass
config-opts:
- --enable-shared
- --disable-static
cleanup:
- /lib/*.la
- /lib/pkgconfig
- /include
sources:
- type: git
url: https://github.com/libass/libass.git
tag: 0.17.3
commit: e46aedea0a0d17da4c4ef49d84b94a7994664ab5
x-checker-data:
type: git
tag-pattern: ^([\d.]+)$
- name: uchardet
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_LIBDIR=lib
- -DBUILD_BINARY=OFF
cleanup:
- /lib/*.a
- /lib/pkgconfig
- /share
- /include
sources:
- type: archive
url: https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.8.tar.xz
sha256: e97a60cfc00a1c147a674b097bb1422abd9fa78a2d9ce3f3fdcc2e78a34ac5f0
x-checker-data:
type: html
url: https://www.freedesktop.org/software/uchardet/releases/
version-pattern: uchardet-(\d+\.\d+\.\d+)\.tar\.xz
url-template: https://www.freedesktop.org/software/uchardet/releases/uchardet-$version.tar.xz
- name: libplacebo
buildsystem: meson
config-opts:
- -Dvulkan=enabled
- -Dshaderc=enabled
cleanup:
- /include
- /lib/pkgconfig
sources:
- type: git
url: https://code.videolan.org/videolan/libplacebo.git
tag: v7.349.0
commit: 1fd3c7bde7b943fe8985c893310b5269a09b46c5
x-checker-data:
type: git
tag-pattern: ^v([\d.]+)$
modules:
- name: shaderc
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DSHADERC_SKIP_COPYRIGHT_CHECK=ON
- -DSHADERC_SKIP_EXAMPLES=ON
- -DSHADERC_SKIP_TESTS=ON
- -DSPIRV_SKIP_EXECUTABLES=ON
- -DENABLE_GLSLANG_BINARIES=OFF
- -DCMAKE_BUILD_TYPE=Release
cleanup:
- /bin
- /include
- /lib/*.a
- /lib/cmake
- /lib/pkgconfig
sources:
- type: git
url: https://github.com/google/shaderc.git
tag: v2024.2
commit: 3ac03b8ad85a8e328a6182cddee8d05810bd5a2c
x-checker-data:
type: git
tag-pattern: ^v([\d.]+)$
- type: git
url: https://github.com/KhronosGroup/SPIRV-Tools.git
tag: v2023.2
commit: 44d72a9b36702f093dd20815561a56778b2d181e
dest: third_party/spirv-tools
- type: git
url: https://github.com/KhronosGroup/SPIRV-Headers.git
tag: sdk-1.3.250.1
commit: 268a061764ee69f09a477a695bf6a11ffe311b8d
dest: third_party/spirv-headers
- type: git
url: https://github.com/KhronosGroup/glslang.git
tag: 14.3.0
commit: fa9c3deb49e035a8abcabe366f26aac010f6cbfb
dest: third_party/glslang
x-checker-data:
type: git
tag-pattern: ^([\d.]+)$
- name: zenity
buildsystem: meson
sources:
- type: git
url: https://gitlab.gnome.org/GNOME/zenity.git
tag: 4.0.3
commit: 7f7ac1840cfd914dfac69d947f0849dc50b0f695
- name: fladder
buildsystem: simple
build-commands:
- mkdir -p /app/bin
- cp -r build/linux/x64/release/bundle/* /app/bin/
- chmod +x /app/bin/Fladder
- mkdir -p /app/share/applications
- mkdir -p /app/share/icons/hicolor/scalable/apps
- install -Dm644 flatpak/Fladder.desktop /app/share/applications/${FLATPAK_ID}.desktop
- install -Dm644 icons/fladder_icon.svg /app/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg
sources:
- type: dir
path: ..