Accepting request 886072 from home:alarrosa:branches:games
- Add patches from upstream to fix build with fluidsynth 2.2 * 0001-FLUIDSYNTH-Make-FluidSynth-logging-less-noisy-by-default.patch * 0002-FLUIDSYNTH-Swapped-debug-levels-for-FLUID_WARN-and-FLUID_INFO.patch * 0003-FLUIDSYNTH-Fix-build.patch * 0004-AUDIO-Fix-compilation-with-Fluidsynth2.patch * 0005-FLUIDSYNTH-Simplify-FluidSynth-version-check.patch * 0006-FLUIDSYNTH-Fix-compilation-with-Fluidsynth-2.2.patch OBS-URL: https://build.opensuse.org/request/show/886072 OBS-URL: https://build.opensuse.org/package/show/games/scummvm?expand=0&rev=65
This commit is contained in:
parent
7dd1ef3c3b
commit
1499fe8af5
@ -0,0 +1,57 @@
|
||||
From 08b54f489b663793168764986c1d1a834c33add3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Torbj=C3=B6rn=20Andersson?=
|
||||
<eriktorbjorn@users.sourceforge.net>
|
||||
Date: Wed, 13 Jan 2021 09:44:44 +0100
|
||||
Subject: [PATCH] FLUIDSYNTH: Make FluidSynth logging less noisy by default
|
||||
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 29 +++++++++++++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index e0d7c4e3df33..fe2b0689c283 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -46,6 +46,29 @@
|
||||
#include "backends/platform/ios7/ios7_common.h"
|
||||
#endif
|
||||
|
||||
+static void logHandler(int level, const char *message, void *data) {
|
||||
+ switch (level) {
|
||||
+ case FLUID_PANIC:
|
||||
+ error("FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_ERR:
|
||||
+ warning("FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_WARN:
|
||||
+ debug(2, "FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_INFO:
|
||||
+ debug(1, "FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_DBG:
|
||||
+ debug(3, "FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ default:
|
||||
+ fluid_default_log_function(level, message, data);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
class MidiDriver_FluidSynth : public MidiDriver_Emulated {
|
||||
private:
|
||||
MidiChannel_MPU401 _midiChannels[16];
|
||||
@@ -166,6 +189,12 @@ int MidiDriver_FluidSynth::open() {
|
||||
if (_isOpen)
|
||||
return MERR_ALREADY_OPEN;
|
||||
|
||||
+ fluid_set_log_function(FLUID_PANIC, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_ERR, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_WARN, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_INFO, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_DBG, logHandler, NULL);
|
||||
+
|
||||
#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
// When provided with in-memory SoundFont data, only use the configured
|
||||
// SoundFont instead if it's explicitly configured on the current game.
|
@ -0,0 +1,32 @@
|
||||
From 21d65cedf231cb03cd2e63863bd6d9d6bc70ed1d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Torbj=C3=B6rn=20Andersson?=
|
||||
<eriktorbjorn@users.sourceforge.net>
|
||||
Date: Mon, 8 Mar 2021 20:19:22 +0100
|
||||
Subject: [PATCH] FLUIDSYNTH: Swapped debug levels for FLUID_WARN and
|
||||
FLUID_INFO
|
||||
|
||||
If FLUID_INFO is "verbose informational messages", perhaps they should
|
||||
be better hidden from the average user than warnings. Particularly since
|
||||
warnings are the only kind I've actually seen in the wild. (Change
|
||||
suggested by criezy.)
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index fe2b0689c283..e41a7515b205 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -55,10 +55,10 @@ static void logHandler(int level, const char *message, void *data) {
|
||||
warning("FluidSynth: %s", message);
|
||||
break;
|
||||
case FLUID_WARN:
|
||||
- debug(2, "FluidSynth: %s", message);
|
||||
+ debug(1, "FluidSynth: %s", message);
|
||||
break;
|
||||
case FLUID_INFO:
|
||||
- debug(1, "FluidSynth: %s", message);
|
||||
+ debug(2, "FluidSynth: %s", message);
|
||||
break;
|
||||
case FLUID_DBG:
|
||||
debug(3, "FluidSynth: %s", message);
|
22
0003-FLUIDSYNTH-Fix-build.patch
Normal file
22
0003-FLUIDSYNTH-Fix-build.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From a3bc5d64b8c4041326c8a214c47f9a206fb8b693 Mon Sep 17 00:00:00 2001
|
||||
From: sluicebox <22204938+sluicebox@users.noreply.github.com>
|
||||
Date: Mon, 8 Mar 2021 21:00:59 -0800
|
||||
Subject: [PATCH] FLUIDSYNTH: Fix build
|
||||
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index e41a7515b205..215547c6bad4 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -46,7 +46,7 @@
|
||||
#include "backends/platform/ios7/ios7_common.h"
|
||||
#endif
|
||||
|
||||
-static void logHandler(int level, const char *message, void *data) {
|
||||
+static void logHandler(int level, char *message, void *data) {
|
||||
switch (level) {
|
||||
case FLUID_PANIC:
|
||||
error("FluidSynth: %s", message);
|
27
0004-AUDIO-Fix-compilation-with-Fluidsynth2.patch
Normal file
27
0004-AUDIO-Fix-compilation-with-Fluidsynth2.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 6ef406ac20a68f53e66bb98a0c9842dc9553da07 Mon Sep 17 00:00:00 2001
|
||||
From: Thierry Crozat <criezy@scummvm.org>
|
||||
Date: Tue, 9 Mar 2021 11:32:57 +0000
|
||||
Subject: [PATCH] AUDIO: Fix compilation with Fluidsynth2
|
||||
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index 215547c6bad4..3b9f55346437 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -46,7 +46,12 @@
|
||||
#include "backends/platform/ios7/ios7_common.h"
|
||||
#endif
|
||||
|
||||
-static void logHandler(int level, char *message, void *data) {
|
||||
+#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+static void logHandler(int level, const char *message, void *data)
|
||||
+#else
|
||||
+static void logHandler(int level, char *message, void *data)
|
||||
+#endif
|
||||
+{
|
||||
switch (level) {
|
||||
case FLUID_PANIC:
|
||||
error("FluidSynth: %s", message);
|
66
0005-FLUIDSYNTH-Simplify-FluidSynth-version-check.patch
Normal file
66
0005-FLUIDSYNTH-Simplify-FluidSynth-version-check.patch
Normal file
@ -0,0 +1,66 @@
|
||||
From 631b13b5f4990b667e19d9fbdc467f0c873b6c15 Mon Sep 17 00:00:00 2001
|
||||
From: Le Philousophe <lephilousophe@users.noreply.github.com>
|
||||
Date: Mon, 5 Apr 2021 12:22:51 +0200
|
||||
Subject: [PATCH] FLUIDSYNTH: Simplify FluidSynth version check
|
||||
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 18 +++++++++++++-----
|
||||
1 file changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index 3b9f55346437..e770fb68543b 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -46,7 +46,15 @@
|
||||
#include "backends/platform/ios7/ios7_common.h"
|
||||
#endif
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+// We assume here Fluidsynth minor will never be above 255 and
|
||||
+// that micro versions won't break API compatibility
|
||||
+#if defined(FLUIDSYNTH_VERSION_MAJOR) && defined(FLUIDSYNTH_VERSION_MINOR)
|
||||
+#define FS_API_VERSION ((FLUIDSYNTH_VERSION_MAJOR << 8) | FLUIDSYNTH_VERSION_MINOR)
|
||||
+#else
|
||||
+#define FS_API_VERSION 0
|
||||
+#endif
|
||||
+
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
static void logHandler(int level, const char *message, void *data)
|
||||
#else
|
||||
static void logHandler(int level, char *message, void *data)
|
||||
@@ -103,7 +111,7 @@ class MidiDriver_FluidSynth : public MidiDriver_Emulated {
|
||||
|
||||
void setEngineSoundFont(Common::SeekableReadStream *soundFontData) override;
|
||||
bool acceptsSoundFontData() override {
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
@@ -162,7 +170,7 @@ void MidiDriver_FluidSynth::setStr(const char *name, const char *val) {
|
||||
|
||||
// Soundfont memory loader callback functions.
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
static void *SoundFontMemLoader_open(const char *filename) {
|
||||
void *p;
|
||||
if (filename[0] != '&') {
|
||||
@@ -200,7 +208,7 @@ int MidiDriver_FluidSynth::open() {
|
||||
fluid_set_log_function(FLUID_INFO, logHandler, NULL);
|
||||
fluid_set_log_function(FLUID_DBG, logHandler, NULL);
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
// When provided with in-memory SoundFont data, only use the configured
|
||||
// SoundFont instead if it's explicitly configured on the current game.
|
||||
bool isUsingInMemorySoundFontData = _engineSoundFontData && !ConfMan.getActiveDomain()->contains("soundfont");
|
||||
@@ -280,7 +288,7 @@ int MidiDriver_FluidSynth::open() {
|
||||
const char *soundfont = !isUsingInMemorySoundFontData ?
|
||||
ConfMan.get("soundfont").c_str() : Common::String::format("&%p", (void *)_engineSoundFontData).c_str();
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
if (isUsingInMemorySoundFontData) {
|
||||
fluid_sfloader_t *soundFontMemoryLoader = new_fluid_defsfloader(_settings);
|
||||
fluid_sfloader_set_callbacks(soundFontMemoryLoader,
|
108
0006-FLUIDSYNTH-Fix-compilation-with-Fluidsynth-2.2.patch
Normal file
108
0006-FLUIDSYNTH-Fix-compilation-with-Fluidsynth-2.2.patch
Normal file
@ -0,0 +1,108 @@
|
||||
From d0d38b0199dae9a1dbfecc53db54dd0a070694b4 Mon Sep 17 00:00:00 2001
|
||||
From: Le Philousophe <lephilousophe@users.noreply.github.com>
|
||||
Date: Mon, 5 Apr 2021 12:23:26 +0200
|
||||
Subject: [PATCH] FLUIDSYNTH: Fix compilation with Fluidsynth 2.2
|
||||
|
||||
We replace deprecated functions as well
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 43 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 43 insertions(+)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index e770fb68543b..f01dd8c7362b 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -180,11 +180,19 @@ static void *SoundFontMemLoader_open(const char *filename) {
|
||||
return p;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+static int SoundFontMemLoader_read(void *buf, fluid_long_long_t count, void *handle) {
|
||||
+#else
|
||||
static int SoundFontMemLoader_read(void *buf, int count, void *handle) {
|
||||
+#endif
|
||||
return ((Common::SeekableReadStream *) handle)->read(buf, count) == (uint32)count ? FLUID_OK : FLUID_FAILED;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+static int SoundFontMemLoader_seek(void *handle, fluid_long_long_t offset, int origin) {
|
||||
+#else
|
||||
static int SoundFontMemLoader_seek(void *handle, long offset, int origin) {
|
||||
+#endif
|
||||
return ((Common::SeekableReadStream *) handle)->seek(offset, origin) ? FLUID_OK : FLUID_FAILED;
|
||||
}
|
||||
|
||||
@@ -193,7 +201,11 @@ static int SoundFontMemLoader_close(void *handle) {
|
||||
return FLUID_OK;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+static fluid_long_long_t SoundFontMemLoader_tell(void *handle) {
|
||||
+#else
|
||||
static long SoundFontMemLoader_tell(void *handle) {
|
||||
+#endif
|
||||
return ((Common::SeekableReadStream *) handle)->pos();
|
||||
}
|
||||
#endif
|
||||
@@ -237,7 +249,11 @@ int MidiDriver_FluidSynth::open() {
|
||||
_synth = new_fluid_synth(_settings);
|
||||
|
||||
if (ConfMan.getBool("fluidsynth_chorus_activate")) {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_chorus_on(_synth, -1, 1);
|
||||
+#else
|
||||
fluid_synth_set_chorus_on(_synth, 1);
|
||||
+#endif
|
||||
|
||||
int chorusNr = ConfMan.getInt("fluidsynth_chorus_nr");
|
||||
double chorusLevel = (double)ConfMan.getInt("fluidsynth_chorus_level") / 100.0;
|
||||
@@ -252,22 +268,49 @@ int MidiDriver_FluidSynth::open() {
|
||||
chorusType = FLUID_CHORUS_MOD_TRIANGLE;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_set_chorus_group_nr(_synth, -1, chorusNr);
|
||||
+ fluid_synth_set_chorus_group_level(_synth, -1, chorusLevel);
|
||||
+ fluid_synth_set_chorus_group_speed(_synth, -1, chorusSpeed);
|
||||
+ fluid_synth_set_chorus_group_depth(_synth, -1, chorusDepthMs);
|
||||
+ fluid_synth_set_chorus_group_type(_synth, -1, chorusType);
|
||||
+#else
|
||||
fluid_synth_set_chorus(_synth, chorusNr, chorusLevel, chorusSpeed, chorusDepthMs, chorusType);
|
||||
+#endif
|
||||
} else {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_chorus_on(_synth, -1, 0);
|
||||
+#else
|
||||
fluid_synth_set_chorus_on(_synth, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (ConfMan.getBool("fluidsynth_reverb_activate")) {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_reverb_on(_synth, -1, 1);
|
||||
+#else
|
||||
fluid_synth_set_reverb_on(_synth, 1);
|
||||
+#endif
|
||||
|
||||
double reverbRoomSize = (double)ConfMan.getInt("fluidsynth_reverb_roomsize") / 100.0;
|
||||
double reverbDamping = (double)ConfMan.getInt("fluidsynth_reverb_damping") / 100.0;
|
||||
int reverbWidth = ConfMan.getInt("fluidsynth_reverb_width");
|
||||
double reverbLevel = (double)ConfMan.getInt("fluidsynth_reverb_level") / 100.0;
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_set_reverb_group_roomsize(_synth, -1, reverbRoomSize);
|
||||
+ fluid_synth_set_reverb_group_damp(_synth, -1, reverbDamping);
|
||||
+ fluid_synth_set_reverb_group_width(_synth, -1, reverbWidth);
|
||||
+ fluid_synth_set_reverb_group_level(_synth, -1, reverbLevel);
|
||||
+#else
|
||||
fluid_synth_set_reverb(_synth, reverbRoomSize, reverbDamping, reverbWidth, reverbLevel);
|
||||
+#endif
|
||||
} else {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_reverb_on(_synth, -1, 0);
|
||||
+#else
|
||||
fluid_synth_set_reverb_on(_synth, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
Common::String interpolation = ConfMan.get("fluidsynth_misc_interpolation");
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 16 14:49:13 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Add patches from upstream to fix build with fluidsynth 2.2
|
||||
* 0001-FLUIDSYNTH-Make-FluidSynth-logging-less-noisy-by-default.patch
|
||||
* 0002-FLUIDSYNTH-Swapped-debug-levels-for-FLUID_WARN-and-FLUID_INFO.patch
|
||||
* 0003-FLUIDSYNTH-Fix-build.patch
|
||||
* 0004-AUDIO-Fix-compilation-with-Fluidsynth2.patch
|
||||
* 0005-FLUIDSYNTH-Simplify-FluidSynth-version-check.patch
|
||||
* 0006-FLUIDSYNTH-Fix-compilation-with-Fluidsynth-2.2.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 5 14:10:14 UTC 2020 - Matthias Mailänder <mailaender@opensuse.org>
|
||||
|
||||
|
14
scummvm.spec
14
scummvm.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package scummvm
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -27,6 +27,12 @@ License: GPL-2.0-or-later
|
||||
Group: Amusements/Games/Other
|
||||
URL: https://www.scummvm.org/
|
||||
Source: https://www.scummvm.org/frs/scummvm/%{version}/scummvm-%{version}.tar.xz
|
||||
Patch0: 0001-FLUIDSYNTH-Make-FluidSynth-logging-less-noisy-by-default.patch
|
||||
Patch1: 0002-FLUIDSYNTH-Swapped-debug-levels-for-FLUID_WARN-and-FLUID_INFO.patch
|
||||
Patch2: 0003-FLUIDSYNTH-Fix-build.patch
|
||||
Patch3: 0004-AUDIO-Fix-compilation-with-Fluidsynth2.patch
|
||||
Patch4: 0005-FLUIDSYNTH-Simplify-FluidSynth-version-check.patch
|
||||
Patch5: 0006-FLUIDSYNTH-Fix-compilation-with-Fluidsynth-2.2.patch
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: discord-rpc-devel
|
||||
BuildRequires: gcc-c++
|
||||
@ -80,6 +86,12 @@ These engines are in a worse state, but allow to play extra games.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
# build the endianness test without optimization otherwise gcc is too smart
|
||||
# and optimize everything away, making the test fail
|
||||
|
Loading…
Reference in New Issue
Block a user