commit:     d4b50daa7a356bbf112e37bd712d3d7b29d1c001
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 30 22:37:09 2019 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 22:38:24 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d4b50daa

games-engines/scummvm: Upstream patch for fluidsynth-2.1.0

Closes: https://bugs.gentoo.org/704230
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 .../scummvm/files/scummvm-2.1.0-fluidsynth.patch   | 39 ++++++++++++++++++++++
 games-engines/scummvm/scummvm-2.1.0.ebuild         |  1 +
 2 files changed, 40 insertions(+)

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
index 00000000000..6b4760e16dd
--- /dev/null
+++ b/games-engines/scummvm/files/scummvm-2.1.0-fluidsynth.patch
@@ -0,0 +1,39 @@
+From 68758a879e0c8ecc0d40962516d4e808aa4e15e5 Mon Sep 17 00:00:00 2001
+From: D G Turner <[email protected]>
+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"

diff --git a/games-engines/scummvm/scummvm-2.1.0.ebuild 
b/games-engines/scummvm/scummvm-2.1.0.ebuild
index 6b43908481d..06cc2f964fe 100644
--- a/games-engines/scummvm/scummvm-2.1.0.ebuild
+++ b/games-engines/scummvm/scummvm-2.1.0.ebuild
@@ -47,6 +47,7 @@ S="${WORKDIR}/${P/_/}"
 
 PATCHES=(
        "${FILESDIR}/${P}-tts_pthread_link.patch"
+       "${FILESDIR}/${P}-fluidsynth.patch"
 )
 
 src_prepare() {

Reply via email to