diff --git a/.gitignore b/.gitignore index c075c63..a68f029 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -.flatpak-builder -repo +/.flatpak-builder/ +/build/ +/repo/ diff --git a/6033250bebe9f5dcec47c4e2ec8e5d3b102f73e7.patch b/6033250bebe9f5dcec47c4e2ec8e5d3b102f73e7.patch new file mode 100644 index 0000000..fd81e61 --- /dev/null +++ b/6033250bebe9f5dcec47c4e2ec8e5d3b102f73e7.patch @@ -0,0 +1,125 @@ +From 6033250bebe9f5dcec47c4e2ec8e5d3b102f73e7 Mon Sep 17 00:00:00 2001 +From: Emmanuel Gil Peyrot +Date: Sat, 3 Dec 2016 18:36:34 +0000 +Subject: [PATCH] CMake: Add an option to disable each sound backend. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +They are already disabled when the libraries can’t be found, this only +helps people who want to build without them despite having them +installed, for example to provide a package to someone else. +--- + CMakeLists.txt | 80 ++++++++++++++++++++++++++++++++++++---------------------- + 1 file changed, 50 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cc608e7978b..f9a3abbe3b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,6 +15,10 @@ option(ENABLE_PCH "Use PCH to speed up compilation" ON) + option(ENABLE_LTO "Enables Link Time Optimization" OFF) + option(ENABLE_GENERIC "Enables generic build that should run on any little-endian host" OFF) + option(ENABLE_HEADLESS "Enables running Dolphin as a headless variant" OFF) ++option(ENABLE_ALSA "Enables ALSA sound backend" ON) ++option(ENABLE_AO "Enables libao sound backend" ON) ++option(ENABLE_PULSEAUDIO "Enables PulseAudio sound backend" ON) ++option(ENABLE_OPENAL "Enables OpenAL sound backend" ON) + + # Maintainers: if you consider blanket disabling this for your users, please + # consider the following points: +@@ -445,23 +449,31 @@ if (OPENGL_GL) + include_directories(${OPENGL_INCLUDE_DIR}) + endif() + +-include(FindALSA OPTIONAL) +-if(ALSA_FOUND) +- add_definitions(-DHAVE_ALSA=1) +- message("ALSA found, enabling ALSA sound backend") ++if(ENABLE_ALSA) ++ include(FindALSA OPTIONAL) ++ if(ALSA_FOUND) ++ add_definitions(-DHAVE_ALSA=1) ++ message("ALSA found, enabling ALSA sound backend") ++ else() ++ add_definitions(-DHAVE_ALSA=0) ++ message("ALSA NOT found, disabling ALSA sound backend") ++ endif() + else() +- add_definitions(-DHAVE_ALSA=0) +- message("ALSA NOT found, disabling ALSA sound backend") +-endif(ALSA_FOUND) +- +-check_lib(AO ao ao QUIET) +-if(AO_FOUND) +- add_definitions(-DHAVE_AO=1) +- message("ao found, enabling ao sound backend") ++ message("ALSA explicitly disabled, disabling ALSA sound backend") ++endif() ++ ++if(ENABLE_AO) ++ check_lib(AO ao ao QUIET) ++ if(AO_FOUND) ++ add_definitions(-DHAVE_AO=1) ++ message("ao found, enabling ao sound backend") ++ else() ++ add_definitions(-DHAVE_AO=0) ++ message("ao NOT found, disabling ao sound backend") ++ endif() + else() +- add_definitions(-DHAVE_AO=0) +- message("ao NOT found, disabling ao sound backend") +-endif(AO_FOUND) ++ message("ao explicitly disabled, disabling ao sound backend") ++endif() + + check_lib(BLUEZ bluez bluez QUIET) + if(BLUEZ_FOUND) +@@ -472,24 +484,32 @@ else() + message("bluez NOT found, disabling bluetooth support") + endif(BLUEZ_FOUND) + +-check_lib(PULSEAUDIO libpulse pulse QUIET) +-if(PULSEAUDIO_FOUND) +- add_definitions(-DHAVE_PULSEAUDIO=1) +- message("PulseAudio found, enabling PulseAudio sound backend") ++if(ENABLE_PULSEAUDIO) ++ check_lib(PULSEAUDIO libpulse pulse QUIET) ++ if(PULSEAUDIO_FOUND) ++ add_definitions(-DHAVE_PULSEAUDIO=1) ++ message("PulseAudio found, enabling PulseAudio sound backend") ++ else() ++ add_definitions(-DHAVE_PULSEAUDIO=0) ++ message("PulseAudio NOT found, disabling PulseAudio sound backend") ++ endif() + else() +- add_definitions(-DHAVE_PULSEAUDIO=0) +- message("PulseAudio NOT found, disabling PulseAudio sound backend") +-endif(PULSEAUDIO_FOUND) ++ message("PulseAudio explicitly disabled, disabling PulseAudio sound backend") ++endif() + +-include(FindOpenAL OPTIONAL) +-if(OPENAL_FOUND) +- add_definitions(-DHAVE_OPENAL=1) +- include_directories(${OPENAL_INCLUDE_DIR}) +- message("OpenAL found, enabling OpenAL sound backend") ++if(ENABLE_OPENAL) ++ include(FindOpenAL OPTIONAL) ++ if(OPENAL_FOUND) ++ add_definitions(-DHAVE_OPENAL=1) ++ include_directories(${OPENAL_INCLUDE_DIR}) ++ message("OpenAL found, enabling OpenAL sound backend") ++ else() ++ add_definitions(-DHAVE_OPENAL=0) ++ message("OpenAL NOT found, disabling OpenAL sound backend") ++ endif() + else() +- add_definitions(-DHAVE_OPENAL=0) +- message("OpenAL NOT found, disabling OpenAL sound backend") +-endif(OPENAL_FOUND) ++ message("OpenAL explicitly disabled, disabling OpenAL sound backend") ++endif() + + include(FindLLVM OPTIONAL) + if (LLVM_FOUND) diff --git a/appdata.xml b/appdata.xml index 4624843..e7a46dc 100644 --- a/appdata.xml +++ b/appdata.xml @@ -18,9 +18,12 @@ https://bugs.dolphin-emu.org/projects/emulator/issues https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/1.png - https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/2.png - https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png - https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/2.png + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/3.png + https://raw.githubusercontent.com/flathub/org.DolphinEmu.dolphin-emu/master/screenshots/4.png + + + b@bpiotrowski.pl diff --git a/dolphin-emu-5.0-gtk3.patch b/dolphin-emu-5.0-gtk3.patch new file mode 100644 index 0000000..3e7d82f --- /dev/null +++ b/dolphin-emu-5.0-gtk3.patch @@ -0,0 +1,25 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -773,18 +773,10 @@ if(NOT DISABLE_WX AND NOT ANDROID) + execute_process(COMMAND lsb_release -c -s + OUTPUT_VARIABLE DIST_NAME + ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) +- if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} +- VERSION_EQUAL 2.8.2 OR "${DIST_NAME}" STREQUAL "natty") +- check_lib(GTK2 gtk+-2.0 gtk+-2.0 gtk.h REQUIRED) +- else() +- include(FindGTK2) +- if(GTK2_FOUND) +- include_directories(${GTK2_INCLUDE_DIRS}) +- list(APPEND LIBS ${GTK2_LIBRARIES}) +- else() +- message(FATAL_ERROR "GTK is required to build the WX UI. Please install the GTK development libraries.") +- endif() +- endif() ++ ++ check_lib(GTK3 gtk+-3.0 gtk.h REQUIRED) ++ include_directories(${GTK3_INCLUDE_DIRS}) ++ list(APPEND LIBS ${GTK3_LIBRARIES}) + endif() + + if(wxWidgets_FOUND) diff --git a/org.DolphinEmu.dolphin-emu.json b/org.DolphinEmu.dolphin-emu.json index c97f20a..dc90c0c 100644 --- a/org.DolphinEmu.dolphin-emu.json +++ b/org.DolphinEmu.dolphin-emu.json @@ -1,30 +1,72 @@ { "app-id": "org.DolphinEmu.dolphin-emu", - "version": "5.0", - "runtime": "org.gnome.Platform", - "runtime-version": "3.24", - "sdk": "org.gnome.Sdk", + "branch": "stable", + "runtime": "org.freedesktop.Platform", + "runtime-version": "1.6", + "sdk": "org.freedesktop.Sdk", "command": "dolphin-emu", "rename-desktop-file": "dolphin-emu.desktop", "rename-icon": "dolphin-emu", "rename-appdata-file": "dolphin-emu.appdata.xml", "finish-args": [ "--device=dri", - "--filesystem=home:ro", + "--filesystem=host:ro", "--socket=pulseaudio", "--socket=wayland", "--socket=x11", "--share=network" ], "modules": [ + { + "name": "wxWidgets", + "rm-configure": true, + "cleanup": [ + "/bin", + "/include", + "/share/bakefile", + "/share/aclocal" + ], + "config-opts": [ + "--with-libpng", + "--with-zlib", + "--disable-sdltest", + "--disable-webkit", + "--disable-webview", + "--disable-webviewwebkit", + "--disable-ribbon", + "--disable-html", + "--disable-propgrid", + "--disable-xru", + "--disable-richtext", + "--with-expat=builtin", + "--with-libiconv=/usr" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.3.1/wxWidgets-3.0.3.1.tar.bz2", + "sha256":"3164ad6bc5f61c48d2185b39065ddbe44283eb834a5f62beb13f1d0923e366e4" + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "cp -p /usr/share/automake-*/config.{sub,guess} .", + "autoconf -f -B build/autoconf_prepend-include" + ] + } + ] + }, { "name": "dolphin-emu", - "buildsystem": "cmake", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DENABLE_ALSA=OFF", + "-DENABLE_SDL=ON", + "-DENABLE_EVDEV=OFF", + "-DDISTRIBUTOR=Flathub" + ], "build-options": { - "config-opts": [ - "-DENABLE_SDL=ON", - "-DENABLE_EVDEV=OFF" - ], "arch": { "arm": { "config-opts": [ @@ -33,6 +75,7 @@ } } }, + "cleanup": [ "/bin/dolphin-emu-nogui" ], "post-install": [ "install -Dm644 appdata.xml /app/share/appdata/dolphin-emu.appdata.xml" ], @@ -42,6 +85,14 @@ "url": "https://github.com/dolphin-emu/dolphin/archive/5.0.tar.gz", "sha256": "62c4602055767ab314ff50a3b94ea57f792832aa1629e6b1117ebce10518dc0b" }, + { + "type": "patch", + "path": "dolphin-emu-5.0-gtk3.patch" + }, + { + "type": "patch", + "path": "6033250bebe9f5dcec47c4e2ec8e5d3b102f73e7.patch" + }, { "type": "file", "path": "appdata.xml"