From 331675271bbcdb3f0a54bcfcb6c00d3558f6adbb9641bafb13f1f0627e60d993 Mon Sep 17 00:00:00 2001 From: Dirk Stoecker Date: Wed, 3 Jul 2019 16:53:59 +0000 Subject: [PATCH] Accepting request 712129 from home:dirkmueller:branches:games:tools - add mumble-pr-3623-protobuf37.patch to fix build against protobuf 3.7 OBS-URL: https://build.opensuse.org/request/show/712129 OBS-URL: https://build.opensuse.org/package/show/games:tools/mumble?expand=0&rev=105 --- mumble-pr-3623-protobuf37.patch | 787 ++++++++++++++++++++++++++++++++ mumble.changes | 5 + mumble.spec | 2 + 3 files changed, 794 insertions(+) create mode 100644 mumble-pr-3623-protobuf37.patch diff --git a/mumble-pr-3623-protobuf37.patch b/mumble-pr-3623-protobuf37.patch new file mode 100644 index 0000000..7b45020 --- /dev/null +++ b/mumble-pr-3623-protobuf37.patch @@ -0,0 +1,787 @@ +From ce0ecff200dd6e57a13c67b189406318595b52fb Mon Sep 17 00:00:00 2001 +From: Davide Beatrici +Date: Tue, 5 Mar 2019 00:44:52 +0100 +Subject: [PATCH] Include "Global.h" after "Mumble.pb.h", to avoid a + redefinition issue with protobuf 3.7 + +In protobuf 3.7 'g' is used as argument name, which conflicts with our global struct: + +google/protobuf/stubs/strutil.h:720:47: error: 'g_global_struct' declared as a pointer to a reference of type 'const google::protobuf::strings::AlphaNum &' + const AlphaNum& g); + ^ +./Global.h:131:12: note: expanded from macro 'g' + ^ + +The solution consists in including "Global.h" after any headers that include "Mumble.pb.h" (which in turn includes protobuf's headers). + +"Mumble.pb.h" is generated by protobuf. +--- + src/mumble/ACLEditor.cpp | 4 +++- + src/mumble/About.cpp | 4 +++- + src/mumble/AudioOutput.cpp | 4 +++- + src/mumble/AudioWizard.cpp | 4 +++- + src/mumble/BanEditor.cpp | 4 +++- + src/mumble/ConnectDialog.cpp | 4 +++- + src/mumble/CustomElements.cpp | 3 ++- + src/mumble/DBus.cpp | 3 ++- + src/mumble/GlobalShortcut.cpp | 4 +++- + src/mumble/LCD.cpp | 4 +++- + src/mumble/Log.cpp | 4 +++- + src/mumble/Log_unix.cpp | 4 +++- + src/mumble/LookConfig.cpp | 4 +++- + src/mumble/MainWindow.cpp | 4 +++- + src/mumble/Messages.cpp | 4 +++- + src/mumble/NetworkConfig.cpp | 4 +++- + src/mumble/OSS.cpp | 4 +++- + src/mumble/Overlay.cpp | 4 +++- + src/mumble/OverlayClient.cpp | 4 +++- + src/mumble/OverlayConfig.cpp | 4 +++- + src/mumble/OverlayEditor.cpp | 4 +++- + src/mumble/OverlayEditorScene.cpp | 4 +++- + src/mumble/OverlayUser.cpp | 4 +++- + src/mumble/OverlayUserGroup.cpp | 4 +++- + src/mumble/Overlay_macx.mm | 4 +++- + src/mumble/Plugins.cpp | 5 +++-- + src/mumble/PulseAudio.cpp | 3 ++- + src/mumble/RichTextEditor.cpp | 4 +++- + src/mumble/ServerHandler.cpp | 4 +++- + src/mumble/SocketRPC.cpp | 4 +++- + src/mumble/Themes.cpp | 4 +++- + src/mumble/Tokens.cpp | 4 +++- + src/mumble/UserEdit.cpp | 4 ++-- + src/mumble/UserInformation.cpp | 4 +++- + src/mumble/UserModel.cpp | 4 +++- + src/mumble/UserView.cpp | 4 +++- + src/mumble/VersionCheck.cpp | 4 +++- + src/mumble/VoiceRecorder.cpp | 4 +++- + src/mumble/VoiceRecorderDialog.cpp | 4 +++- + src/mumble/WASAPI.cpp | 4 +++- + src/mumble/WASAPINotificationClient.cpp | 4 +++- + src/mumble/os_macx.mm | 4 +++- + 42 files changed, 122 insertions(+), 44 deletions(-) + +Index: mumble-1.2.19/src/mumble/ACLEditor.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/ACLEditor.cpp ++++ mumble-1.2.19/src/mumble/ACLEditor.cpp +@@ -37,11 +37,13 @@ + #include "Channel.h" + #include "ClientUser.h" + #include "Database.h" +-#include "Global.h" + #include "Log.h" + #include "ServerHandler.h" + #include "User.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + ACLGroup::ACLGroup(const QString &name) : Group(NULL, name) { + bInherited = false; + } +Index: mumble-1.2.19/src/mumble/AudioOutput.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/AudioOutput.cpp ++++ mumble-1.2.19/src/mumble/AudioOutput.cpp +@@ -37,13 +37,15 @@ + #include "AudioOutputSample.h" + #include "AudioOutputSpeech.h" + #include "User.h" +-#include "Global.h" + #include "Message.h" + #include "Plugins.h" + #include "PacketDataStream.h" + #include "ServerHandler.h" + #include "VoiceRecorder.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + // Remember that we cannot use static member classes that are not pointers, as the constructor + // for AudioOutputRegistrar() might be called before they are initialized, as the constructor + // is called from global initialization. +Index: mumble-1.2.19/src/mumble/AudioWizard.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/AudioWizard.cpp ++++ mumble-1.2.19/src/mumble/AudioWizard.cpp +@@ -34,10 +34,12 @@ + + #include "AudioInput.h" + #include "AudioOutputSample.h" +-#include "Global.h" + #include "Log.h" + #include "MainWindow.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + CompletablePage::CompletablePage(QWizard *p) : QWizardPage(p) { + bComplete = true; + } +Index: mumble-1.2.19/src/mumble/CustomElements.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/CustomElements.cpp ++++ mumble-1.2.19/src/mumble/CustomElements.cpp +@@ -34,10 +34,11 @@ + #include "CustomElements.h" + + #include "ClientUser.h" +-#include "Global.h" + #include "MainWindow.h" + #include "Log.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" + + LogTextBrowser::LogTextBrowser(QWidget *p) + : m_pos(0) +Index: mumble-1.2.19/src/mumble/DBus.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/DBus.cpp ++++ mumble-1.2.19/src/mumble/DBus.cpp +@@ -34,10 +34,11 @@ + + #include "Channel.h" + #include "ClientUser.h" +-#include "Global.h" + #include "MainWindow.h" + #include "ServerHandler.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" + + MumbleDBus::MumbleDBus(QObject *mw) : QDBusAbstractAdaptor(mw) { + } +Index: mumble-1.2.19/src/mumble/LCD.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/LCD.cpp ++++ mumble-1.2.19/src/mumble/LCD.cpp +@@ -35,10 +35,12 @@ + + #include "ClientUser.h" + #include "Channel.h" +-#include "Global.h" + #include "Message.h" + #include "ServerHandler.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + QList *LCDEngineRegistrar::qlInitializers; + + LCDEngineRegistrar::LCDEngineRegistrar(LCDEngineNew cons) { +Index: mumble-1.2.19/src/mumble/Log.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/Log.cpp ++++ mumble-1.2.19/src/mumble/Log.cpp +@@ -36,13 +36,15 @@ + #include "AudioOutput.h" + #include "AudioOutputSample.h" + #include "Channel.h" +-#include "Global.h" + #include "MainWindow.h" + #include "NetworkConfig.h" + #include "RichTextEditor.h" + #include "ServerHandler.h" + #include "TextToSpeech.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + static ConfigWidget *LogConfigDialogNew(Settings &st) { + return new LogConfig(st); + } +Index: mumble-1.2.19/src/mumble/LookConfig.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/LookConfig.cpp ++++ mumble-1.2.19/src/mumble/LookConfig.cpp +@@ -35,9 +35,11 @@ + + #include "AudioInput.h" + #include "AudioOutput.h" +-#include "Global.h" + #include "MainWindow.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + static ConfigWidget *LookConfigNew(Settings &st) { + return new LookConfig(st); + } +Index: mumble-1.2.19/src/mumble/MainWindow.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/MainWindow.cpp ++++ mumble-1.2.19/src/mumble/MainWindow.cpp +@@ -120,6 +120,9 @@ + \return Pair consisting of the raw file contents and the image. Unitialized on error or cancel. + */ + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + MessageBoxEvent::MessageBoxEvent(QString m) : QEvent(static_cast(MB_QEVENT)) { + msg = m; + } +Index: mumble-1.2.19/src/mumble/Messages.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/Messages.cpp ++++ mumble-1.2.19/src/mumble/Messages.cpp +@@ -41,7 +41,6 @@ + #include "Connection.h" + #include "ConnectDialog.h" + #include "Database.h" +-#include "Global.h" + #include "GlobalShortcut.h" + #include "Log.h" + #include "MainWindow.h" +@@ -55,6 +54,9 @@ + #include "VersionCheck.h" + #include "ViewCert.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + #define ACTOR_INIT \ + ClientUser *pSrc=NULL; \ + if (msg.has_actor()) \ +Index: mumble-1.2.19/src/mumble/NetworkConfig.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/NetworkConfig.cpp ++++ mumble-1.2.19/src/mumble/NetworkConfig.cpp +@@ -34,10 +34,12 @@ + + #include "NetworkConfig.h" + +-#include "Global.h" + #include "MainWindow.h" + #include "OSInfo.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + static ConfigWidget *NetworkConfigNew(Settings &st) { + return new NetworkConfig(st); + } +Index: mumble-1.2.19/src/mumble/OSS.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OSS.cpp ++++ mumble-1.2.19/src/mumble/OSS.cpp +@@ -38,9 +38,11 @@ + #include + + #include "User.h" +-#include "Global.h" + #include "MainWindow.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + #define NBLOCKS 8 + + class OSSEnumerator { +Index: mumble-1.2.19/src/mumble/Overlay.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/Overlay.cpp ++++ mumble-1.2.19/src/mumble/Overlay.cpp +@@ -35,7 +35,6 @@ + #include "Channel.h" + #include "ClientUser.h" + #include "Database.h" +-#include "Global.h" + #include "GlobalShortcut.h" + #include "MainWindow.h" + #include "Message.h" +@@ -45,6 +44,8 @@ + #include "User.h" + #include "WebFetch.h" + ++#include "Global.h" ++ + OverlayAppInfo::OverlayAppInfo(QString name, QIcon icon) { + qsDisplayName = name; + qiIcon = icon; +Index: mumble-1.2.19/src/mumble/OverlayClient.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OverlayClient.cpp ++++ mumble-1.2.19/src/mumble/OverlayClient.cpp +@@ -34,7 +34,6 @@ + #include "OverlayText.h" + #include "User.h" + #include "Channel.h" +-#include "Global.h" + #include "Message.h" + #include "Database.h" + #include "NetworkConfig.h" +@@ -42,6 +41,8 @@ + #include "MainWindow.h" + #include "GlobalShortcut.h" + ++#include "Global.h" ++ + OverlayClient::OverlayClient(QLocalSocket *socket, QObject *p) : + QObject(p), + ougUsers(&g.s.os) { +Index: mumble-1.2.19/src/mumble/OverlayConfig.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OverlayConfig.cpp ++++ mumble-1.2.19/src/mumble/OverlayConfig.cpp +@@ -34,7 +34,6 @@ + #include "OverlayText.h" + #include "User.h" + #include "Channel.h" +-#include "Global.h" + #include "Message.h" + #include "Database.h" + #include "NetworkConfig.h" +@@ -42,6 +41,8 @@ + #include "MainWindow.h" + #include "GlobalShortcut.h" + ++#include "Global.h" ++ + static ConfigWidget *OverlayConfigDialogNew(Settings &st) { + return new OverlayConfig(st); + } +@@ -481,6 +482,9 @@ void OverlayConfig::on_qpbLoadPreset_cli + load_preset.load(&qs); + qs.endGroup(); + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + #ifdef Q_OS_WIN + load_preset.qslBlacklist = s.os.qslBlacklist; + load_preset.qslWhitelist = s.os.qslWhitelist; +Index: mumble-1.2.19/src/mumble/OverlayEditor.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OverlayEditor.cpp ++++ mumble-1.2.19/src/mumble/OverlayEditor.cpp +@@ -34,7 +34,6 @@ + #include "OverlayText.h" + #include "User.h" + #include "Channel.h" +-#include "Global.h" + #include "Message.h" + #include "Database.h" + #include "NetworkConfig.h" +@@ -42,6 +41,9 @@ + #include "MainWindow.h" + #include "GlobalShortcut.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + OverlayEditor::OverlayEditor(QWidget *p, QGraphicsItem *qgi, OverlaySettings *osptr) : + QDialog(p), + qgiPromote(qgi), +Index: mumble-1.2.19/src/mumble/OverlayEditorScene.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OverlayEditorScene.cpp ++++ mumble-1.2.19/src/mumble/OverlayEditorScene.cpp +@@ -34,7 +34,6 @@ + #include "OverlayText.h" + #include "User.h" + #include "Channel.h" +-#include "Global.h" + #include "Message.h" + #include "Database.h" + #include "NetworkConfig.h" +@@ -42,6 +41,9 @@ + #include "MainWindow.h" + #include "GlobalShortcut.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + OverlayEditorScene::OverlayEditorScene(const OverlaySettings &srcos, QObject *p) : QGraphicsScene(p), os(srcos) { + tsColor = Settings::Talking; + uiZoom = 2; +Index: mumble-1.2.19/src/mumble/OverlayUser.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OverlayUser.cpp ++++ mumble-1.2.19/src/mumble/OverlayUser.cpp +@@ -35,7 +35,6 @@ + #include "User.h" + #include "Channel.h" + #include "ClientUser.h" +-#include "Global.h" + #include "Message.h" + #include "Database.h" + #include "NetworkConfig.h" +@@ -43,6 +42,9 @@ + #include "MainWindow.h" + #include "GlobalShortcut.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + OverlayUser::OverlayUser(ClientUser *cu, unsigned int height, OverlaySettings *osptr) : OverlayGroup(), os(osptr), uiSize(height), cuUser(cu), tsColor(Settings::Passive) { + setup(); + updateLayout(); +Index: mumble-1.2.19/src/mumble/OverlayUserGroup.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/OverlayUserGroup.cpp ++++ mumble-1.2.19/src/mumble/OverlayUserGroup.cpp +@@ -35,7 +35,6 @@ + #include "User.h" + #include "Channel.h" + #include "ClientUser.h" +-#include "Global.h" + #include "Message.h" + #include "Database.h" + #include "NetworkConfig.h" +@@ -43,6 +42,9 @@ + #include "MainWindow.h" + #include "GlobalShortcut.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + template + QRectF OverlayGroup::boundingRect() const { + QRectF qr; +Index: mumble-1.2.19/src/mumble/Plugins.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/Plugins.cpp ++++ mumble-1.2.19/src/mumble/Plugins.cpp +@@ -32,7 +32,6 @@ + + #include "Plugins.h" + +-#include "Global.h" + #include "Log.h" + #include "MainWindow.h" + #include "Message.h" +@@ -40,6 +39,8 @@ + #include "../../plugins/mumble_plugin.h" + #include "WebFetch.h" + ++#include "Global.h" ++ + static ConfigWidget *PluginConfigDialogNew(Settings &st) { + return new PluginConfig(st); + } +Index: mumble-1.2.19/src/mumble/PulseAudio.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/PulseAudio.cpp ++++ mumble-1.2.19/src/mumble/PulseAudio.cpp +@@ -37,11 +37,12 @@ + #include + #include + +-#include "Global.h" + #include "MainWindow.h" + #include "Timer.h" + #include "User.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" + + static const char *mumble_sink_input = "Mumble Speakers"; + static const char *mumble_echo = "Mumble Speakers (Echo)"; +Index: mumble-1.2.19/src/mumble/ServerHandler.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/ServerHandler.cpp ++++ mumble-1.2.19/src/mumble/ServerHandler.cpp +@@ -37,7 +37,6 @@ + #include "Cert.h" + #include "Connection.h" + #include "Database.h" +-#include "Global.h" + #include "MainWindow.h" + #include "Message.h" + #include "NetworkConfig.h" +@@ -47,6 +46,9 @@ + #include "SSL.h" + #include "User.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + ServerHandlerMessageEvent::ServerHandlerMessageEvent(const QByteArray &msg, unsigned int mtype, bool flush) : QEvent(static_cast(SERVERSEND_EVENT)) { + qbaMsg = msg; + uiType = mtype; +Index: mumble-1.2.19/src/mumble/SocketRPC.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/SocketRPC.cpp ++++ mumble-1.2.19/src/mumble/SocketRPC.cpp +@@ -34,10 +34,12 @@ + + #include "Channel.h" + #include "ClientUser.h" +-#include "Global.h" + #include "MainWindow.h" + #include "ServerHandler.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + SocketRPCClient::SocketRPCClient(QLocalSocket *s, QObject *p) : QObject(p), qlsSocket(s), qbBuffer(NULL) { + qlsSocket->setParent(this); + +Index: mumble-1.2.19/src/mumble/Tokens.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/Tokens.cpp ++++ mumble-1.2.19/src/mumble/Tokens.cpp +@@ -33,9 +33,11 @@ + #include "Tokens.h" + + #include "Database.h" +-#include "Global.h" + #include "ServerHandler.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + Tokens::Tokens(QWidget *p) : QDialog(p) { + setupUi(this); + +Index: mumble-1.2.19/src/mumble/UserModel.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/UserModel.cpp ++++ mumble-1.2.19/src/mumble/UserModel.cpp +@@ -36,7 +36,6 @@ + #include "ClientUser.h" + #include "Channel.h" + #include "Database.h" +-#include "Global.h" + #include "LCD.h" + #include "Log.h" + #include "MainWindow.h" +@@ -46,6 +45,9 @@ + #include "Usage.h" + #include "User.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + QHash ModelItem::c_qhChannels; + QHash ModelItem::c_qhUsers; + bool ModelItem::bUsersTop = false; +Index: mumble-1.2.19/src/mumble/VersionCheck.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/VersionCheck.cpp ++++ mumble-1.2.19/src/mumble/VersionCheck.cpp +@@ -32,10 +32,12 @@ + + #include "VersionCheck.h" + +-#include "Global.h" + #include "MainWindow.h" + #include "WebFetch.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + VersionCheck::VersionCheck(bool autocheck, QObject *p, bool focus) : QObject(p) { + bSilent = autocheck; + +Index: mumble-1.2.19/src/mumble/VoiceRecorderDialog.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/VoiceRecorderDialog.cpp ++++ mumble-1.2.19/src/mumble/VoiceRecorderDialog.cpp +@@ -34,10 +34,12 @@ + #include "VoiceRecorderDialog.h" + + #include "AudioOutput.h" +-#include "Global.h" + #include "ServerHandler.h" + #include "VoiceRecorder.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + VoiceRecorderDialog::VoiceRecorderDialog(QWidget *p) : QDialog(p), qtTimer(new QTimer(this)) { + qtTimer->setObjectName(QLatin1String("qtTimer")); + qtTimer->setInterval(200); +Index: mumble-1.2.19/src/mumble/WASAPINotificationClient.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/WASAPINotificationClient.cpp ++++ mumble-1.2.19/src/mumble/WASAPINotificationClient.cpp +@@ -36,6 +36,9 @@ + + #include "WASAPINotificationClient.h" + ++// We define a global macro called 'g'. This can lead to issues when included code uses 'g' as a type or parameter name (like protobuf 3.7 does). As such, for now, we have to make this our last include. ++#include "Global.h" ++ + HRESULT STDMETHODCALLTYPE WASAPINotificationClient::OnDefaultDeviceChanged(EDataFlow flow, ERole role, LPCWSTR pwstrDefaultDevice) { + const QString device = QString::fromWCharArray(pwstrDefaultDevice); + +Index: mumble-1.2.19/src/mumble/BanEditor.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/BanEditor.cpp ++++ mumble-1.2.19/src/mumble/BanEditor.cpp +@@ -33,10 +33,11 @@ + #include "BanEditor.h" + + #include "Channel.h" +-#include "Global.h" + #include "Net.h" + #include "ServerHandler.h" + ++#include "Global.h" ++ + BanEditor::BanEditor(const MumbleProto::BanList &msg, QWidget *p) : QDialog(p) { + setupUi(this); + +Index: mumble-1.2.19/src/mumble/ConnectDialog.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/ConnectDialog.cpp ++++ mumble-1.2.19/src/mumble/ConnectDialog.cpp +@@ -40,10 +40,11 @@ + + #include "Channel.h" + #include "Database.h" +-#include "Global.h" + #include "ServerHandler.h" + #include "WebFetch.h" + ++#include "Global.h" ++ + QMap ServerItem::qmIcons; + QList ConnectDialog::qlPublicServers; + QString ConnectDialog::qsUserCountry, ConnectDialog::qsUserCountryCode, ConnectDialog::qsUserContinentCode; +Index: mumble-1.2.19/src/mumble/About.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/About.cpp ++++ mumble-1.2.19/src/mumble/About.cpp +@@ -32,10 +32,11 @@ + + #include "About.h" + +-#include "Global.h" + #include "MainWindow.h" + #include "licenses.h" + ++#include "Global.h" ++ + AboutDialog::AboutDialog(QWidget *p) : QDialog(p) { + setWindowTitle(tr("About Mumble")); + +Index: mumble-1.2.19/src/mumble/GlobalShortcut.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/GlobalShortcut.cpp ++++ mumble-1.2.19/src/mumble/GlobalShortcut.cpp +@@ -36,9 +36,10 @@ + #include "ClientUser.h" + #include "Channel.h" + #include "Database.h" +-#include "Global.h" + #include "MainWindow.h" + ++#include "Global.h" ++ + /*! + \class ShortcutKeyWidget + Widget used to define and key combination for a shortcut. Once it gains +Index: mumble-1.2.19/src/mumble/UserEdit.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/UserEdit.cpp ++++ mumble-1.2.19/src/mumble/UserEdit.cpp +@@ -32,10 +32,11 @@ + + #include "UserEdit.h" + +-#include "Global.h" + #include "ServerHandler.h" + #include "User.h" + ++#include "Global.h" ++ + UserEdit::UserEdit(const MumbleProto::UserList &msg, QWidget *p) : QDialog(p) { + setupUi(this); + +Index: mumble-1.2.19/src/mumble/UserView.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/UserView.cpp ++++ mumble-1.2.19/src/mumble/UserView.cpp +@@ -35,11 +35,11 @@ + #include "Channel.h" + #include "ClientUser.h" + #include "Log.h" +-#include "Global.h" + #include "MainWindow.h" + #include "ServerHandler.h" + #include "UserModel.h" + ++#include "Global.h" + /*! + \fn bool UserView::event(QEvent *evt) + This implementation contains a special handler to display +Index: mumble-1.2.19/src/mumble/RichTextEditor.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/RichTextEditor.cpp ++++ mumble-1.2.19/src/mumble/RichTextEditor.cpp +@@ -32,10 +32,11 @@ + + #include "RichTextEditor.h" + +-#include "Global.h" + #include "Log.h" + #include "MainWindow.h" + ++#include "Global.h" ++ + RichTextHtmlEdit::RichTextHtmlEdit(QWidget *p) : QTextEdit(p) { + m_document = new LogDocument(this); + setDocument(m_document); +Index: mumble-1.2.19/src/mumble/UserInformation.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/UserInformation.cpp ++++ mumble-1.2.19/src/mumble/UserInformation.cpp +@@ -34,11 +34,12 @@ + + #include "Audio.h" + #include "CELTCodec.h" +-#include "Global.h" + #include "Net.h" + #include "ServerHandler.h" + #include "ViewCert.h" + ++#include "Global.h" ++ + static QString decode_utf8_qssl_string(const QString &input) { + QString i = input; + return QUrl::fromPercentEncoding(i.replace(QLatin1String("\\x"), QLatin1String("%")).toLatin1()); +Index: mumble-1.2.19/src/mumble/VoiceRecorder.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/VoiceRecorder.cpp ++++ mumble-1.2.19/src/mumble/VoiceRecorder.cpp +@@ -36,11 +36,12 @@ + + #include "AudioOutput.h" + #include "ClientUser.h" +-#include "Global.h" + #include "ServerHandler.h" + + #include "../Timer.h" + ++#include "Global.h" ++ + VoiceRecorder::RecordBuffer::RecordBuffer(const ClientUser *cu, + boost::shared_array buffer, int samples, quint64 timestamp) : + cuUser(cu), fBuffer(buffer), iSamples(samples), uiTimestamp(timestamp) { +Index: mumble-1.2.19/src/mumble/Log_unix.cpp +=================================================================== +--- mumble-1.2.19.orig/src/mumble/Log_unix.cpp ++++ mumble-1.2.19/src/mumble/Log_unix.cpp +@@ -32,10 +32,10 @@ + #include "mumble_pch.hpp" + + #include "Log.h" +-#include "Global.h" + #include "MainWindow.h" + #include "Settings.h" + ++#include "Global.h" + void Log::postNotification(MsgType mt, const QString &console, const QString &plain) { + // Message notification with balloon tooltips + QString qsIcon; +@@ -92,4 +92,4 @@ void Log::postNotification(MsgType mt, c + #endif + postQtNotification(mt, plain); + } +-} +\ No newline at end of file ++} diff --git a/mumble.changes b/mumble.changes index 7136f0c..4650596 100644 --- a/mumble.changes +++ b/mumble.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jun 26 13:05:06 UTC 2019 - Dirk Mueller + +- add mumble-pr-3623-protobuf37.patch to fix build against protobuf 3.7 + ------------------------------------------------------------------- Wed Jun 5 12:16:31 UTC 2019 - Ismail Dönmez diff --git a/mumble.spec b/mumble.spec index 96884d1..875a6a5 100644 --- a/mumble.spec +++ b/mumble.spec @@ -66,6 +66,7 @@ Patch2: appdata.patch Patch3: initialize-soundfile-format.patch Patch4: 0001-AudioOutput-do-not-use-non-existant-template-version.patch Patch5: add-speechd-include-path.patch +Patch6: mumble-pr-3623-protobuf37.patch %if 0%{?suse_version} > 1325 BuildRequires: libboost_headers-devel %else @@ -189,6 +190,7 @@ won't be audible to other players. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %if !%{with system_celt} %if 0%{?snapshot:1}