games-engines/scummvm: Upstream patch for fluidsynth-2.1.0
authorJames Le Cuirot <chewi@gentoo.org>
Mon, 30 Dec 2019 22:37:09 +0000 (22:37 +0000)
committerJames Le Cuirot <chewi@gentoo.org>
Mon, 30 Dec 2019 22:38:24 +0000 (22:38 +0000)
Closes: https://bugs.gentoo.org/704230
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
games-engines/scummvm/files/scummvm-2.1.0-fluidsynth.patch [new file with mode: 0644]
games-engines/scummvm/scummvm-2.1.0.ebuild

diff --git a/games-engines/scummvm/files/scummvm-2.1.0-fluidsynth.patch b/games-engines/scummvm/files/scummvm-2.1.0-fluidsynth.patch
new file mode 100644 (file)
index 0000000..6b4760e
--- /dev/null
@@ -0,0 +1,39 @@
+From 68758a879e0c8ecc0d40962516d4e808aa4e15e5 Mon Sep 17 00:00:00 2001
+From: D G Turner <digitall@scummvm.org>
+Date: Tue, 17 Dec 2019 04:21:04 +0000
+Subject: [PATCH] AUDIO: Really Fix Compilation Against Fluidsynth v2.1+
+
+The previous fix did not work as the forbidden exception had no effect
+since scummsys.h and thus forbidden.h had already been included prior
+to the fluidsynth header being included. This also meant that undefining
+the exception define after the header would have had no effect anyway.
+
+This new solution was suggest by eriktorbjorn on bug #11278 and should
+avoid the need to add an exception which would persist over the entire
+source file.
+---
+ audio/softsynth/fluidsynth.cpp | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
+index 33a74a15247..f8c2412492e 100644
+--- a/audio/softsynth/fluidsynth.cpp
++++ b/audio/softsynth/fluidsynth.cpp
+@@ -20,10 +20,16 @@
+  *
+  */
+-#include "common/scummsys.h"
++#include "config.h"
+ #ifdef USE_FLUIDSYNTH
++// Fluidsynth v2.1+ uses printf in one of it's headers,
++// include/fluidsynth/log.h around line 82 so need to include this
++// prior scummsys.h inclusion and thus forbidden.h
++#include <fluidsynth.h>
++
++#include "common/scummsys.h"
+ #include "common/config-manager.h"
+ #include "common/error.h"
+ #include "common/system.h"
index 6b43908481d2126cb2143578a42d22ecb8927b3b..06cc2f964fec80fb7a4cb2cf13633e1919139b5f 100644 (file)
@@ -47,6 +47,7 @@ S="${WORKDIR}/${P/_/}"
 
 PATCHES=(
        "${FILESDIR}/${P}-tts_pthread_link.patch"
+       "${FILESDIR}/${P}-fluidsynth.patch"
 )
 
 src_prepare() {