media-sound/timidity++: Fix build with GCC-5
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 26 Aug 2018 09:49:43 +0000 (11:49 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 26 Aug 2018 09:50:05 +0000 (11:50 +0200)
Closes: https://bugs.gentoo.org/606894
Package-Manager: Portage-2.3.48, Repoman-2.3.10

media-sound/timidity++/files/timidity++-2.14.0-gcc5.patch [new file with mode: 0644]
media-sound/timidity++/timidity++-2.14.0-r3.ebuild

diff --git a/media-sound/timidity++/files/timidity++-2.14.0-gcc5.patch b/media-sound/timidity++/files/timidity++-2.14.0-gcc5.patch
new file mode 100644 (file)
index 0000000..50d64e3
--- /dev/null
@@ -0,0 +1,31 @@
+Upstream commit 6e189f6073e979ceccaf05c3bb5f495a1b9ed87e
+
+inline, defaults to "extern inline" with newer gcc versions
+
+With newer versions of gcc, "inline" defaults to extern, and not static if
+not specified. This causes linking problems at the end of the compile. Most
+of this occurences are fixed (or #ifdef'ed away) except these two small
+ones in timidity/mfi.c
+
+Signed-off-by: Stian Skjelstad <stian.skjelstad@...>
+
+--- a/timidity/mfi.c   2004-02-17 17:02:18.000000000 +0100 
++++ b/timidity/mfi.c   2017-02-14 04:41:24.000000000 +0100 
+@@ -344,7 +344,7 @@
+ #define SEND_LASTNOTEINFO(lni, ch)                            if (LASTNOTEINFO_HAS_DATA((lni)[ch])) SendLastNoteInfo(lni, ch);
+ #define SEND_AND_CLEAR_LASTNOTEINFO(lni, ch)  if (LASTNOTEINFO_HAS_DATA((lni)[ch])) { SendLastNoteInfo(lni, ch); (lni)[ch].on = NO_LAST_NOTE_INFO; }
+-inline void StoreLastNoteInfo(LastNoteInfo *info, int channel, int time, int duration, int note, int velocity)
++static inline void StoreLastNoteInfo(LastNoteInfo *info, int channel, int time, int duration, int note, int velocity)
+ {
+       info[channel].on = time;
+       info[channel].off = time + duration;
+@@ -352,7 +352,7 @@
+       info[channel].velocity = velocity;
+ }
+-inline void SendLastNoteInfo(const LastNoteInfo *info, int channel)
++static inline void SendLastNoteInfo(const LastNoteInfo *info, int channel)
+ {
+       NOTE_BUF_EV_DEBUGSTR(channel, info[channel].on, note_name[info[channel].note % 12], info[channel].note / 12, info[channel].velocity, info[channel].off);
+       MIDIEVENT(info[channel].on, ME_NOTEON, channel, info[channel].note, info[channel].velocity);
index 5a1770ebcfdb69e2bd6434c098124419784edb53..e754067be07a00245aa6a56038697edc0078e442 100644 (file)
@@ -63,6 +63,7 @@ PATCHES=(
        "${FILESDIR}"/${P}-configure-flags.patch
        "${FILESDIR}"/${P}-pkg-config.patch
        "${FILESDIR}"/${P}-CVE-2017-1154{6,7}.patch
+       "${FILESDIR}"/${P}-gcc5.patch # bug 606894
 )
 
 src_prepare() {