mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
Merge pull request #13040 from cpba/add-flatpak
Add manifest for building as a flatpak
This commit is contained in:
commit
b9a99a7294
22
Flatpak/SDL2/SDL2.json
Normal file
22
Flatpak/SDL2/SDL2.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"name": "SDL2",
|
||||||
|
"buildsystem": "autotools",
|
||||||
|
"config-opts": ["--disable-static"],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "dir",
|
||||||
|
"path": "../../Externals/SDL/SDL"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cleanup": [ "/bin/sdl2-config",
|
||||||
|
"/include",
|
||||||
|
"/lib/libSDL2.la",
|
||||||
|
"/lib/libSDL2main.a",
|
||||||
|
"/lib/libSDL2main.la",
|
||||||
|
"/lib/libSDL2_test.a",
|
||||||
|
"/lib/libSDL2_test.la",
|
||||||
|
"/lib/cmake",
|
||||||
|
"/share/aclocal",
|
||||||
|
"/lib/pkgconfig"]
|
||||||
|
}
|
||||||
|
|
8
Flatpak/fill_release_node.sh
Executable file
8
Flatpak/fill_release_node.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DATE=$(git log -1 --pretty=%cd --date=iso8601 --date=format:'%Y-%m-%d')
|
||||||
|
sed -i -e "s/@DATE_PLACEHOLDER/${DATE}/" org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||||
|
VERSION=$(git describe --tags | sed -E 's/^([0-9]+-[0-9]+).*/\1/')
|
||||||
|
sed -i -e "s/@VERSION_PLACEHOLDER/${VERSION}/" org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||||
|
|
||||||
|
|
49
Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml.in
Normal file
49
Flatpak/org.DolphinEmu.dolphin-emu.metainfo.xml.in
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Copyright 2016 Jeremy Newton -->
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>org.DolphinEmu.dolphin-emu</id>
|
||||||
|
<name>Dolphin Emulator</name>
|
||||||
|
<developer id="org.dolphin-emu">
|
||||||
|
<name>Dolphin Emulator Project</name>
|
||||||
|
</developer>
|
||||||
|
<summary>GameCube / Wii</summary>
|
||||||
|
<metadata_license>CC-BY-SA-3.0</metadata_license>
|
||||||
|
<project_license>GPL-2.0+</project_license>
|
||||||
|
<content_rating type="oars-1.0"/>
|
||||||
|
<!-- Descriptions taken from Dolphin Homepage -->
|
||||||
|
<description><p>Dolphin is an emulator for two recent Nintendo video game consoles: the GameCube and the Wii. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) with several enhancements: compatibility with all PC controllers, turbo speed, networked multiplayer, and even more!</p></description>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<caption>Dolphin's main window</caption>
|
||||||
|
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_1.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<caption>In-game</caption>
|
||||||
|
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_2.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<caption>Graphics configuration</caption>
|
||||||
|
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_3.png</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<caption>Controller configuration</caption>
|
||||||
|
<image type="source">http://dolphin-emu.org/m/user/flatpak/screenshot_4.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<launchable type="desktop-id">dolphin-emu.desktop</launchable>
|
||||||
|
<provides>
|
||||||
|
<binary>dolphin-emu</binary>
|
||||||
|
<id>dolphin-emu.desktop</id>
|
||||||
|
</provides>
|
||||||
|
<releases>
|
||||||
|
<release version="@VERSION_PLACEHOLDER" date="@DATE_PLACEHOLDER"/>
|
||||||
|
</releases>
|
||||||
|
<url type="homepage">https://dolphin-emu.org</url>
|
||||||
|
<url type="bugtracker">https://bugs.dolphin-emu.org/projects/emulator/issues</url>
|
||||||
|
<url type="faq">https://dolphin-emu.org/docs/faq/</url>
|
||||||
|
<url type="help">https://dolphin-emu.org/docs/guides/</url>
|
||||||
|
<url type="translate">https://www.transifex.com/projects/p/dolphin-emu</url>
|
||||||
|
<url type="contact">https://dolphin-emu.org/docs/faq/#ive-got-idea-make-dolphin-better-how-should-i-tell</url>
|
||||||
|
<url type="vcs-browser">https://github.com/dolphin-emu/dolphin</url>
|
||||||
|
<url type="contribute">https://github.com/dolphin-emu/dolphin/blob/master/Contributing.md</url>
|
||||||
|
</component>
|
83
Flatpak/org.DolphinEmu.dolphin-emu.yml
Normal file
83
Flatpak/org.DolphinEmu.dolphin-emu.yml
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
app-id: org.DolphinEmu.dolphin-emu
|
||||||
|
runtime: org.kde.Platform
|
||||||
|
runtime-version: '6.7'
|
||||||
|
sdk: org.kde.Sdk
|
||||||
|
command: dolphin-emu-wrapper
|
||||||
|
rename-desktop-file: dolphin-emu.desktop
|
||||||
|
rename-icon: dolphin-emu
|
||||||
|
finish-args:
|
||||||
|
- --device=all
|
||||||
|
- --socket=pulseaudio
|
||||||
|
# dolphin doesn't work on wayland (only the ui does), if a user were to set
|
||||||
|
# this env variable globally to wayland then games wouldn't work.
|
||||||
|
# we overwrite the setting and force xcb to prevent this from happening.
|
||||||
|
- --env=QT_QPA_PLATFORM=xcb
|
||||||
|
- --socket=x11
|
||||||
|
- --share=network
|
||||||
|
- --share=ipc
|
||||||
|
# required for the emulated bluetooth adapter feature to work.
|
||||||
|
- --allow=bluetooth
|
||||||
|
- --filesystem=xdg-run/app/com.discordapp.Discord:create
|
||||||
|
- --talk-name=org.freedesktop.ScreenSaver
|
||||||
|
# required for Gamescope on Steam Deck
|
||||||
|
- --filesystem=xdg-run/gamescope-0:ro
|
||||||
|
modules:
|
||||||
|
# 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.13.3.tar.xz
|
||||||
|
sha256: abf1aace86208eebdd5d3550ffded4c8d73bb405b796d51c389c9d0604cbcfbf
|
||||||
|
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
|
||||||
|
|
||||||
|
# build the vendored SDL2 from Externals until the runtime gets 2.30.6
|
||||||
|
- SDL2/SDL2.json
|
||||||
|
|
||||||
|
- name: dolphin-emu
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
config-opts:
|
||||||
|
- -DCMAKE_BUILD_TYPE=Release
|
||||||
|
- -DENABLE_ALSA=OFF
|
||||||
|
- -DENABLE_SDL=ON
|
||||||
|
- -DENABLE_EVDEV=ON
|
||||||
|
- -DDISTRIBUTOR=dolphin-emu.org
|
||||||
|
cleanup:
|
||||||
|
- /share/man
|
||||||
|
post-install:
|
||||||
|
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper
|
||||||
|
- "${FLATPAK_BUILDER_BUILDDIR}/Flatpak/fill_release_node.sh"
|
||||||
|
- install -Dm644 -t ${FLATPAK_DEST}/share/metainfo/ org.DolphinEmu.dolphin-emu.metainfo.xml
|
||||||
|
- desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper'
|
||||||
|
/app/share/applications/dolphin-emu.desktop
|
||||||
|
sources:
|
||||||
|
- type: dir
|
||||||
|
path: ..
|
||||||
|
- type: file
|
||||||
|
path: org.DolphinEmu.dolphin-emu.metainfo.xml.in
|
||||||
|
dest-filename: org.DolphinEmu.dolphin-emu.metainfo.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
|
Loading…
Reference in New Issue
Block a user