ES-DE/net.retrodeck.es-de.yml

211 lines
6.1 KiB
YAML
Executable file

app-id: net.retrodeck.es-de
runtime: org.kde.Platform
runtime-version: &runtime-version "6.8"
sdk: org.kde.Sdk
command: /app/bin/es-de
add-extensions:
org.freedesktop.Platform.ffmpeg-full:
directory: lib/ffmpeg
add-ld-path: .
version: 23.08
cleanup-commands:
- mkdir -p ${FLATPAK_DEST}/lib/ffmpeg
cleanup:
- /include
- /share/ffmpeg
- /lib/cmake
- /lib/pkgconfig
- /include
- /bin/glslangValidator
- /bin/zip*
- /bin/zstd*
- /lib/pkg-config
- /share/doc
- /share/man
- /src
- '*.a'
- '*.la'
- /lib/debug
- /share/runtime
finish-args:
- --socket=wayland
- --socket=x11
- --socket=pulseaudio
- --share=ipc
- --share=network
- --device=all
- --filesystem=host
- --filesystem=home/.var/app/com.valvesoftware.Steam
- --allow=multiarch
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
- --talk-name=org.freedesktop.login1.Manager
- --filesystem=xdg-run/app/com.discordapp.Discord:create
- --filesystem=xdg-config/gtk-3.0:ro
- --env=QT_QPA_PLATFORM=wayland;wayland-egl;xcb
# Dolphin
- --allow=bluetooth
# It allows an SDL application to specify its window class, which can be useful for window managers and desktop environments to identify and group similar windows
- --env=SDL_VIDEO_X11_WMCLASS=net.retrodeck.es-de
- --env=SDL_VIDEO_WAYLAND_WMCLASS=net.retrodeck.es-de
# XEMU - Fixes issues with openSUSE systems, QEMU_AUDIO_DRV is defined as "pa" causing xemu to not launch
- --unset-env=QEMU_AUDIO_DRV
# BoilR
- --filesystem=xdg-data/Steam:rw #Steam (flatpak)
- --filesystem=~/.steam:rw # Steam (Non-flatpak)
- --filesystem=~/.var/app/com.valvesoftware.Steam:rw # Steam (Flatpak)
# PPSSPP, DOLPHIN
- --filesystem=xdg-run/gamescope-0:ro
modules:
# dependency of: CEMU, ES-DE
- name: pugixml
buildsystem: cmake-ninja
config-opts:
- -DBUILD_SHARED_LIBS=ON
cleanup:
- /include
- /lib/cmake
- /lib/pkgconfig
sources:
- type: archive
url: https://github.com/zeux/pugixml/releases/download/v1.14/pugixml-1.14.tar.gz
sha256: 2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015
x-checker-data:
type: anitya
project-id: 3728
url-template: https://github.com/zeux/pugixml/releases/download/v$version/pugixml-$version.tar.gz
# - name: ffmpeg
# config-opts:
# - --disable-static
# - --disable-programs
# - --disable-doc
# - --enable-gpl
# - --enable-shared
# - --enable-libvorbis
# - --enable-libopus
# - --enable-libvpx
# - --enable-postproc
# sources:
# - type: git
# url: https://github.com/FFmpeg/FFmpeg.git
# #tag: n7.1 # Not working on flatpak KDE runtime 6.7
# tag: n6.1 # Working but got weird video issues (speedup, glitching)
# #tag: n5.1.6 # Not working on flatpak KDE runtime 6.7
- name: freeimage
no-autogen: true
build-options:
cxxflags: -std=c++14
make-args:
- DESTDIR=/app
sources:
- type: archive
url: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip
sha256: f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd
- type: shell
commands:
- sed -i 's|-o root -g root ||' ./Makefile.gnu
- sed -i 's|/usr|/app|' ./Makefile.gnu
- name: libgit2
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_SHARED_LIBS:BOOL=ON
- -DTHREADSAFE=ON
sources:
- type: git
url: https://github.com/libgit2/libgit2.git
tag: v1.6.3
# Needed from ES-DE 2.1.0+
- name: libpoppler-glib
buildsystem: cmake-ninja
config-opts:
- -DENABLE_BOOST=OFF
sources:
- type: archive
# original link not working, found a mirror
url: https://poppler.freedesktop.org/poppler-22.11.0.tar.xz
#url: https://gitlab.freedesktop.org/poppler/poppler/-/archive/poppler-22.11.0/poppler-poppler-22.11.0.tar.bz2
sha256: 093ba9844ed774285517361c15e21a31ba4df278a499263d4403cca74f2da828
cleanup:
- /lib/pkgconfig
- /include
- '*.a'
- '*.la'
# Needed from ES-DE 3.2.0+
- name: dav1d
buildsystem: meson
sources:
- type: archive
url: https://download.videolan.org/videolan/dav1d/1.5.1/dav1d-1.5.1.tar.xz
sha256: 401813f1f89fa8fd4295805aa5284d9aed9bc7fc1fdbe554af4292f64cbabe21
x-checker-data:
type: anitya
project-id: 18920
url-template: https://download.videolan.org/videolan/dav1d/$version/dav1d-$version.tar.xz
# Needed from ES-DE 3.2.0+
- name: bluez
config-opts:
- "--disable-datafiles"
- "--disable-manpages"
- "--disable-systemd"
- "--enable-experimental"
- "--enable-library"
- "--disable-client"
- "--disable-mesh"
- "--disable-tools"
- "--disable-monitor"
- "--disable-udev"
- "--prefix=/app"
- "--sysconfdir=/app/etc"
sources:
- type: archive
url: https://mirrors.edge.kernel.org/pub/linux/bluetooth/bluez-5.64.tar.xz
sha256: ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34
# Needed from ES-DE 3.2.0+
- name: libvpx
config-opts:
- "--enable-runtime-cpu-detect"
- "--enable-shared"
- "--disable-static"
- "--enable-pic"
- "--disable-install-bins"
- "--disable-install-docs"
- "--disable-install-srcs"
- "--enable-vp8"
- "--enable-postproc"
- "--enable-vp9"
- "--enable-vp9-highbitdepth"
sources:
- type: archive
url: https://github.com/webmproject/libvpx/archive/refs/tags/v1.15.0.tar.gz
sha256: e935eded7d81631a538bfae703fd1e293aad1c7fd3407ba00440c95105d2011e
- name: ES-DE
buildsystem: cmake-ninja
config-opts:
- -DRETRODECK=on
- -DCMAKE_PREFIX_PATH=/app
- -DICU_USE_STATIC_LIBS=ON
- -DICU_ROOT=/app
build-options:
cflags: -I/app/include
ldflags: -L/app/lib -licuuc -licudata
cleanup:
- es-app
- es-core
sources:
- type: dir
path: ./