mirror of
https://github.com/RetroDECK/io.github.shiiion.primehack.git
synced 2024-12-05 03:25:37 +00:00
602582230f
My earlier patch forcexdg.patch outright deleted the code block responsible for determining where to place the configuration files. This one takes a more subtle approach by actually detecting the flatpak sandbox and leaving the rest of the code intact. My plan is to submit this patch to upstream dolphin, if they accept it we'll be able to drop both this patch and nodirtyversion.patch which is only required as a side-effect of this.
132 lines
4.6 KiB
YAML
132 lines
4.6 KiB
YAML
app-id: io.github.shiiion.primehack
|
|
runtime: org.kde.Platform
|
|
runtime-version: 5.15-21.08
|
|
sdk: org.kde.Sdk
|
|
command: dolphin-emu-wrapper
|
|
rename-desktop-file: dolphin-emu.desktop
|
|
rename-icon: dolphin-emu
|
|
rename-appdata-file: dolphin-emu.appdata.xml
|
|
finish-args:
|
|
- --device=all
|
|
# the file picker uses portals but the set
|
|
# game directory feature still needs this
|
|
- --filesystem=host:ro
|
|
- --socket=pulseaudio
|
|
- --env=QT_QPA_PLATFORM=xcb
|
|
- --socket=x11
|
|
- --share=network
|
|
- --share=ipc
|
|
# along with the bluez module, required for the
|
|
# emulated bluetooth adapter feature to work.
|
|
- --allow=bluetooth
|
|
- --filesystem=xdg-run/app/com.discordapp.Discord:create
|
|
- --talk-name=org.freedesktop.ScreenSaver
|
|
modules:
|
|
# needed for the bluetooth passthrough feature to work
|
|
- name: libusb
|
|
config-opts:
|
|
- --disable-static
|
|
cleanup:
|
|
- /include
|
|
- /lib/*.la
|
|
- /lib/pkgconfig
|
|
sources:
|
|
- type: archive
|
|
url: https://github.com/libusb/libusb/releases/download/v1.0.25/libusb-1.0.25.tar.bz2
|
|
sha256: 8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849
|
|
x-checker-data:
|
|
type: anitya
|
|
project-id: 1749
|
|
stable-only: true
|
|
url-template: https://github.com/libusb/libusb/releases/download/v$version/libusb-$version.tar.bz2
|
|
|
|
# needed for the emulate bluetooth adapter feature to work
|
|
- name: bluez
|
|
config-opts:
|
|
- --enable-library
|
|
- --disable-manpages
|
|
- --disable-udev
|
|
- --disable-tools
|
|
- --disable-cups
|
|
- --disable-monitor
|
|
- --disable-client
|
|
- --disable-systemd
|
|
- --disable-a2dp
|
|
- --disable-avrcp
|
|
- --disable-network
|
|
- --with-dbusconfdir=/app/etc
|
|
- --with-dbussessionbusdir=/app/usr/lib/system-services
|
|
sources:
|
|
- type: archive
|
|
url: https://www.kernel.org/pub/linux/bluetooth/bluez-5.64.tar.xz
|
|
sha256: ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34
|
|
x-checker-data:
|
|
type: anitya
|
|
project-id: 10029
|
|
stable-only: true
|
|
url-template: https://www.kernel.org/pub/linux/bluetooth/bluez-$version.tar.xz
|
|
|
|
# enables motion controls on non-wii controllers (switch, ps4, etc)
|
|
# requires a udev rule enabling Motion Sensors access
|
|
- name: libevdev
|
|
buildsystem: meson
|
|
config-opts:
|
|
- -Dtests=disabled
|
|
- -Ddocumentation=disabled
|
|
sources:
|
|
- type: archive
|
|
url: https://www.freedesktop.org/software/libevdev/libevdev-1.12.1.tar.xz
|
|
sha256: 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c
|
|
x-checker-data:
|
|
type: anitya
|
|
project-id: 20540
|
|
stable-only: true
|
|
url-template: https://www.freedesktop.org/software/libevdev/libevdev-$version.tar.xz
|
|
|
|
# needed for screensaver inhibition
|
|
- name: xdg-screensaver-shim
|
|
buildsystem: meson
|
|
sources:
|
|
- type: archive
|
|
url: https://github.com/Unrud/xdg-screensaver-shim/archive/0.0.2.tar.gz
|
|
sha256: 0ed2a69fe6ee6cbffd2fe16f85116db737f17fb1e79bfb812d893cf15c728399
|
|
|
|
- name: dolphin-emu
|
|
buildsystem: cmake-ninja
|
|
config-opts:
|
|
- -DCMAKE_BUILD_TYPE=Release
|
|
- -DENABLE_ALSA=OFF
|
|
- -DENABLE_SDL=ON
|
|
- -DENABLE_EVDEV=ON
|
|
- -DDISTRIBUTOR=Flathub
|
|
cleanup:
|
|
- /share/man
|
|
post-install:
|
|
- install -D dolphin-emu-wrapper /app/bin/dolphin-emu-wrapper
|
|
- install -Dm644 appdata.xml /app/share/appdata/dolphin-emu.appdata.xml
|
|
- sed -i -e 's/"2048"/"512"/g' /app/share/icons/hicolor/scalable/apps/dolphin-emu.svg
|
|
- desktop-file-edit --set-key=Exec --set-value='dolphin-emu-wrapper' /app/share/applications/dolphin-emu.desktop
|
|
sources:
|
|
- type: git
|
|
url: https://github.com/shiiion/dolphin.git
|
|
commit: 9ca0eb888bd6f8ed13a4efb92d808fbf0705ffa4
|
|
# detects whether dolphin is running in a flatpak sandbox
|
|
# and makes it use xdg directories if it is.
|
|
# prevents dolphin from attempting to write conf files
|
|
# in non-writable paths, typically happens when a user
|
|
# has leftover files from a previous non-flatpak install
|
|
- type: patch
|
|
path: detectflatpak.patch
|
|
# version strings must match exactly for online multiplayer
|
|
- type: patch
|
|
path: nodirtyversion.patch
|
|
- type: file
|
|
path: appdata.xml
|
|
- type: script
|
|
commands:
|
|
- for i in {0..9}; do
|
|
- test -S $XDG_RUNTIME_DIR/discord-ipc-$i || ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
|
|
- done
|
|
- dolphin-emu "$@"
|
|
dest-filename: dolphin-emu-wrapper
|