Accepting request 730472 from games:tools

OBS-URL: https://build.opensuse.org/request/show/730472
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mumble?expand=0&rev=57
This commit is contained in:
Dominique Leuenberger 2019-10-14 10:40:27 +00:00 committed by Git OBS Bridge
commit 456646e4e6
16 changed files with 216 additions and 1351 deletions

View File

@ -1,35 +0,0 @@
From ea861fe86743c8402bbad77d8d1dd9de8dce447e Mon Sep 17 00:00:00 2001
From: Mikkel Krautz <mikkel@krautz.dk>
Date: Fri, 29 Dec 2017 14:47:25 +0100
Subject: [PATCH] AudioOutput: do not use non-existant template version of
std::abs.
This change fixes AudioOutput to use the float overload of std::abs:
float std::abs(float);
instead of a non-existant template version.
Fixes mumble-voip/mumble#3281
Needs-Backport: 1.2.x
---
src/mumble/AudioOutput.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mumble/AudioOutput.cpp b/src/mumble/AudioOutput.cpp
index cbe0c0e2..7a0a5e2a 100644
--- a/src/mumble/AudioOutput.cpp
+++ b/src/mumble/AudioOutput.cpp
@@ -437,7 +437,7 @@ bool AudioOutput::mix(void *outbuff, unsigned int nsamp) {
top[2] = 0.0f;
}
- if (std::abs<float>(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
+ if (std::abs(front[0] * top[0] + front[1] * top[1] + front[2] * top[2]) > 0.01f) {
// Not perpendicular. Assume Y up and rotate 90 degrees.
float azimuth = 0.0f;
--
2.15.1

View File

@ -1,12 +1,24 @@
Index: mumble-1.2.19/src/mumble/mumble.pro From 25d3fc9554b3d6e7bfb29dbd33b69330e9fd55eb Mon Sep 17 00:00:00 2001
=================================================================== From: Michal Suchanek <msuchanek@suse.de>
--- mumble-1.2.19.orig/src/mumble/mumble.pro Date: Tue, 3 Sep 2019 17:46:00 +0200
+++ mumble-1.2.19/src/mumble/mumble.pro Subject: [PATCH] add-speechd-include-path.patch
@@ -224,6 +224,7 @@ unix {
---
src/mumble/mumble.pro | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mumble/mumble.pro b/src/mumble/mumble.pro
index ae47e89d4ab4..8bdf9c42796a 100644
--- a/src/mumble/mumble.pro
+++ b/src/mumble/mumble.pro
@@ -556,6 +556,7 @@ unix {
!CONFIG(no-speechd) { !CONFIG(no-speechd) {
CONFIG *= speechd CONFIG *= speechd
+ INCLUDEPATH *= /usr/include/speech-dispatcher + INCLUDEPATH *= /usr/include/speech-dispatcher
} else {
DEFINES *= USE_NO_TTS
} }
} --
} 2.22.0

View File

@ -1,32 +0,0 @@
From 857341dd2d24c9da6dfc733ae2bb62c606ee1c12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= <matthias@mailaender.name>
Date: Sun, 25 Sep 2016 09:08:18 +0200
Subject: [PATCH] Add an appdata.xml file.
---
scripts/mumble.appdata.xml | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 scripts/mumble.appdata.xml
diff --git a/scripts/mumble.appdata.xml b/scripts/mumble.appdata.xml
new file mode 100644
index 0000000..a3ac459
--- /dev/null
+++ b/scripts/mumble.appdata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application>
+ <id type="desktop">mumble.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>BSD-3-Clause</project_license>
+ <summary>Voice Chat Software</summary>
+ <description>
+ <p>Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming.</p>
+ </description>
+ <url type="homepage">https://wiki.mumble.info</url>
+ <screenshots>
+ <screenshot type="default">
+ <image>https://screenshots.debian.net/screenshots/000/001/906/large.png</image>
+ </screenshot>
+ </screenshots>
+</application>

View File

@ -1,12 +0,0 @@
Index: mumble-1.2.19/src/mumble/AudioOutputSample.cpp
===================================================================
--- mumble-1.2.19.orig/src/mumble/AudioOutputSample.cpp
+++ mumble-1.2.19/src/mumble/AudioOutputSample.cpp
@@ -41,6 +41,7 @@ SoundFile::SoundFile(const QString &fnam
siInfo.samplerate = 0;
siInfo.sections = 0;
siInfo.seekable = 0;
+ siInfo.format = 0;
sfFile = NULL;

View File

@ -1,14 +0,0 @@
Index: mumble-1.2.11/scripts/mumble.desktop
===================================================================
--- mumble-1.2.11.orig/scripts/mumble.desktop
+++ mumble-1.2.11/scripts/mumble.desktop
@@ -13,7 +13,7 @@ Icon=mumble
Terminal=false
Type=Application
StartupNotify=false
-MimeType=x-scheme-handler/mumble
+MimeType=x-scheme-handler/mumble;
Categories=Network;Chat;Qt;
-Keywords=VoIP;Messaging;Voice Chat;Secure Communication
+Keywords=VoIP;Messaging;Voice Chat;Secure Communication;
Version=1.0

View File

@ -1,195 +0,0 @@
From 44b9004d2c208b42c6f8ffa99938361e31f5a071
From: MadMaurice <madmaurice@zom.bi>
Date: Thu Aug 30 15:08:01 2018 +0200
Prevent instability and crash due to message flood
This patch adds a rate limiting to selected patches. The underlying rate limiter
used is the Leaky-Bucket algorithm. It allows for a burst of messages, but
limits them after a specified amount of messages within a time frame.
From: Ferdinand Thiessen <rpm@fthiessen.de>
Modified this diff, to make it work with 1.2.19 tarball.
"Backported" by manually change the 1.2.19 version according to the original diff.
diff -Nur mumble-1.2.19/src/murmur/Messages.cpp new/src/murmur/Messages.cpp
--- mumble-1.2.19/src/murmur/Messages.cpp 2017-01-27 07:48:33.000000000 +0100
+++ new/src/murmur/Messages.cpp 2019-07-13 00:45:48.281780195 +0200
@@ -42,6 +42,11 @@
#include "ServerUser.h"
#include "Version.h"
+#define RATELIMIT(user) \
+ if (user->leakyBucket.ratelimit(1)) { \
+ return; \
+ }
+
#define MSG_SETUP(st) \
if (uSource->sState != st) { \
return; \
@@ -491,6 +496,10 @@
msg.set_session(pDstServerUser->uiSession);
msg.set_actor(uSource->uiSession);
+ if (uSource == pDstServerUser) {
+ RATELIMIT(uSource);
+ }
+
if (msg.has_channel_id()) {
Channel *c = qhChannels.value(msg.channel_id());
if (!c || (c == pDstServerUser->cChannel))
@@ -798,6 +807,8 @@
p = qhChannels.value(msg.parent());
if (! p)
return;
+ } else {
+ RATELIMIT(uSource);
}
msg.clear_links();
@@ -1074,6 +1085,8 @@
QSet<ServerUser *> users;
QQueue<Channel *> q;
+ RATELIMIT(uSource);
+
QString text = u8(msg.message());
bool changed = false;
@@ -1176,6 +1189,8 @@
return;
}
+ RATELIMIT(uSource);
+
if (msg.has_query() && msg.query()) {
QStack<Channel *> chans;
Channel *p;
@@ -1417,6 +1432,8 @@
}
void Server::msgVersion(ServerUser *uSource, MumbleProto::Version &msg) {
+ RATELIMIT(uSource);
+
if (msg.has_version())
uSource->uiVersion=msg.version();
if (msg.has_release())
diff -Nur mumble-1.2.19/src/murmur/ServerUser.cpp new/src/murmur/ServerUser.cpp
--- mumble-1.2.19/src/murmur/ServerUser.cpp 2017-01-27 07:48:33.000000000 +0100
+++ new/src/murmur/ServerUser.cpp 2019-07-13 00:47:25.974498227 +0200
@@ -128,3 +128,61 @@
return static_cast<int>((sum * 1000000ULL) / elapsed);
}
+#if __cplusplus > 199711LL
+
+inline static
+time_point now() {
+ return std::chrono::steady_clock::now();
+}
+
+inline static
+unsigned long millisecondsBetween(time_point start, time_point end) {
+ return std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
+}
+
+#else
+
+inline static
+time_point now() {
+ return clock();
+}
+
+inline static
+unsigned long millisecondsBetween(time_point start, time_point end) {
+ return 1000 * (end - start) / CLOCKS_PER_SEC;
+}
+
+#endif
+
+// Rate limiting: burst up to 30, 4 message per sec limit over longer time
+LeakyBucket::LeakyBucket() : tokensPerSec(4), maxTokens(30), currentTokens(0) {
+ lastUpdate = now();
+}
+
+bool LeakyBucket::ratelimit(int tokens) {
+ // First remove tokens we leaked over time
+ time_point tnow = now();
+ long ms = millisecondsBetween(lastUpdate, tnow);
+
+ long drainTokens = (ms * tokensPerSec) / 1000;
+
+ // Prevent constant starvation due to too many updates
+ if (drainTokens > 0) {
+ this->lastUpdate = tnow;
+
+ this->currentTokens -= drainTokens;
+ if (this->currentTokens < 0) {
+ this->currentTokens = 0;
+ }
+ }
+
+ // Then try to add tokens
+ bool limit = this->currentTokens > ((static_cast<long>(maxTokens)) - tokens);
+
+ // If the bucket is not overflowed, allow message and add tokens
+ if (!limit) {
+ this->currentTokens += tokens;
+ }
+
+ return limit;
+}
diff -Nur mumble-1.2.19/src/murmur/ServerUser.h new/src/murmur/ServerUser.h
--- mumble-1.2.19/src/murmur/ServerUser.h 2017-01-27 07:48:33.000000000 +0100
+++ new/src/murmur/ServerUser.h 2019-07-13 00:49:28.023395272 +0200
@@ -40,6 +40,13 @@
#include <winsock2.h>
#endif
+// <chrono> was introduced in C++11
+#if __cplusplus > 199711LL
+#include <chrono>
+#else
+#include <ctime>
+#endif
+
#include "Connection.h"
#include "Net.h"
#include "Timer.h"
@@ -80,6 +87,26 @@
class Server;
+#if __cplusplus > 199711L
+ typedef std::chrono::time_point<std::chrono::steady_clock> time_point;
+#else
+ typedef clock_t time_point;
+#endif
+
+// Simple algorithm for rate limiting
+class LeakyBucket {
+ private:
+ unsigned int tokensPerSec, maxTokens;
+ long currentTokens;
+ time_point lastUpdate;
+
+ public:
+ // Returns true if packets should be dropped
+ bool ratelimit(int tokens);
+
+ LeakyBucket();
+};
+
class ServerUser : public Connection, public User {
private:
Q_OBJECT
@@ -119,6 +146,8 @@
QMap<int, TargetCache> qmTargetCache;
QMap<QString, QString> qmWhisperRedirect;
+ LeakyBucket leakyBucket;
+
int iLastPermissionCheck;
QMap<int, unsigned int> qmPermissionSent;
#ifdef Q_OS_UNIX

View File

@ -1,22 +0,0 @@
From: 4761ca41ab1f611cd4a6d117f9f6cfd7c64f6b55
From: MadMaurice <madmaurice@zom.bi>
Date: Fri Aug 31 00:01:40 2018 +0200
Lower bucket params
Use 1 tokens per second and 5 burst instead of 4 tokens per second and 30 burst
diff -Nur old/src/murmur/ServerUser.cpp new/src/murmur/ServerUser.cpp
--- old/src/murmur/ServerUser.cpp 2019-07-13 01:28:14.972194419 +0200
+++ new/src/murmur/ServerUser.cpp 2019-07-13 01:29:36.724758470 +0200
@@ -154,8 +154,8 @@
#endif
-// Rate limiting: burst up to 30, 4 message per sec limit over longer time
-LeakyBucket::LeakyBucket() : tokensPerSec(4), maxTokens(30), currentTokens(0) {
+// Rate limiting: burst up to 5, 1 message per sec limit over longer time
+LeakyBucket::LeakyBucket() : tokensPerSec(1), maxTokens(5), currentTokens(0) {
lastUpdate = now();
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f047fb707ad93948b0bc913ec0a89cd5480d87e840c4ff2519608fc8a2dac0e8
size 3210865

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJYi1SBAAoJEIgEjQ1iUpegK9UQAJx4WjjP9RfDz87gTCZSgYjq
+KsxEPzUWj39zyOokAUsDuUos1h707EPHt3y/1FJ6FwxLtjJUoWojxS0HbBH+4Wn
O5Yr+9VRYKemrtrRJgQBqBECKHeQXbMYBaAg0HudgzZi3dH7qCfdzzi1QnIMgDI4
MsgppspO5cNVCR0B8KI+VI1Z+xcsnFC3jWcYPK22NamPNg5oUwAs+AATG0/W9j8k
cWp3IApDYwyZdywqcrrypGOMoYQnUIaWxCTpdQzCbgXMbGn4d/K/VvHdaD4Mmebh
ENZrmrMxxNmqNS4efuAlhQkvrUxqlQaItvBD+bLviFwK+wcDVXPYqsr7Uco3iIA0
h5++OOLaO3J3tJl1ph/genyNGotxYJ2qITXq+dWLMG/SpYAbvuUltcpkKGYkjJoK
jonSf3mj72lJakW/rAQYTwJTs6S4y975Mk7FS6j3C7E20I9EPD5VHp3fU6N1OXm3
kBERp1p1UQYNPHYN0UlmUHNh/t8kdR6OfjLMcv3c7ZWGo3YxFcTH3LZmzG2na/O4
FgRsOuqLWPpRX8w1orL0pBFdXqPvvqKOd1ASeA41Swe1EMDcrZRvqSonoM6RANDu
ZRC22vxfsy2UVLTsvIf5Ofyx26P0m/De/N/UJcpb4X6EAMe9RfiPCtwZsQxMKqrM
4bpOUAPrUYj+aVmOzWdR
=QdFn
-----END PGP SIGNATURE-----

View File

@ -1,14 +0,0 @@
including __DATE__ and __TIME__ in packages breaks build-compare
Index: mumble-1.2.2/src/mumble/VersionCheck.cpp
===================================================================
--- mumble-1.2.2.orig/src/mumble/VersionCheck.cpp
+++ mumble-1.2.2/src/mumble/VersionCheck.cpp
@@ -41,8 +41,6 @@ VersionCheck::VersionCheck(bool autochec
url.setPath(focus ? QLatin1String("/focus.php") : QLatin1String("/ver.php"));
url.addQueryItem(QLatin1String("ver"), QLatin1String(QUrl::toPercentEncoding(QLatin1String(MUMBLE_RELEASE))));
- url.addQueryItem(QLatin1String("date"), QLatin1String(QUrl::toPercentEncoding(QLatin1String(__DATE__))));
- url.addQueryItem(QLatin1String("time"), QLatin1String(QUrl::toPercentEncoding(QLatin1String(__TIME__))));
#if defined(Q_OS_WIN)
url.addQueryItem(QLatin1String("os"), QLatin1String("Win32"));
#elif defined(Q_OS_MAC)

3
mumble-1.3.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9a8de2547344962a81c00c37b5d8bd5a371bb685fa36cf03a3f134e37c79b80d
size 8788587

17
mumble-1.3.0.tar.gz.sig Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJddAmIAAoJEFuM+Hu4k0SbdioP/jUb+0ZAmDzhg5LHkuMw/M65
F/Bh6ev715tKoAu9691Lg9KS8qic1mygJYH7T9HRwvvxfoO35mpsYe8pOzlxk3GY
4EF1xII9thLA9cb8Vsh3zWoq9dygeGw8DIvsfecTe2dE7qVQnGJR6lyOvc+KDz3O
XTxAx9J0JeMZTR6NfS2/vHwAlDoxTxhzRHV3+y8KMSaSFw0LRLP2UvaFBWLWTYFm
IvVJcTPSzKGWSU5Uqay8usHyXtKZugwAXw+1zKgXAZ3dR1w1tPAYPTjnEYIgFR+x
NPg7c3yksfN6K3TNj1Ska+9bXGI8KyYAcMGkaGLZKm/Pa5wgOmKAYBdoFMK0vMHm
3Iy/GUujEycch9C6OmpegElepDh5KaOqVX9CoNnbf+IjVCirGYDupdtEUPkCi6yb
kl1MuTQ9B+vPFQCU/iXvU3fTxts+jYYkC1cjfDTNvWR1FOvxTNQMaAwlqDCTQdvf
U0o/6JzTeTZhTmSDVdmnPkT6Pa9HQmtl6+/A/r3MmqgLZ3LyHiZjgH3HdBahJzPc
c+pRjvfuBqQ0B0qSDYbzE/Q7eG8Kyqs2O738XPrzt6c/5nikMhaDFCvFX6ClXBgV
lVjndjNdwjGUoWrYI8lU6GCdWGD8HLlTDrLuKyz0YH2FNbyG6wbR4W/H+jycEgZy
gwu5qAGxJJOC14glMhHy
=Uz2v
-----END PGP SIGNATURE-----

View File

@ -1,787 +0,0 @@
From ce0ecff200dd6e57a13c67b189406318595b52fb Mon Sep 17 00:00:00 2001
From: Davide Beatrici <davidebeatrici@gmail.com>
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<LCDEngineNew> *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<QEvent::Type>(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 <sys/ioctl.h>
#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 <typename T>
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 <errno.h>
#include <sys/ioctl.h>
-#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<QEvent::Type>(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 <Channel *, ModelItem *> ModelItem::c_qhChannels;
QHash <ClientUser *, ModelItem *> 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<QString, QIcon> ServerItem::qmIcons;
QList<PublicInfo> 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<float> 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
+}

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Wed Sep 11 22:45:27 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
- Really use the system speex and opus dependencies.
- Run spec-cleaner, use pkgconfig() style BuildRequires when possible.
- Fix the package requirements.
- Remove obsolete conditions and build options.
- Also recommend the Qt mysql and psql backend. Murmur also supports
those drivers.
-------------------------------------------------------------------
Tue Sep 10 17:33:25 UTC 2019 - Michal Suchanek <msuchanek@suse.de>
- Update to upstream version 1.3.0 final.
Release notes at:
https://www.mumble.info/blog/mumble-1.3.0-release-announcement/
- Use system speex and opus.
-------------------------------------------------------------------
Tue Sep 3 16:10:57 UTC 2019 - Michal Suchanek <msuchanek@suse.de>
- Update to upstream version 1.3.0-rc2. Supports Qt5. (boo#1148406)
- Remove upstreamed patches:
- 0001-AudioOutput-do-not-use-non-existant-template-version.patch
- appdata.patch
- initialize-soundfile-format.patch
- mumble-1.2.2-buildcompare.diff
- mumble-1.2.11-desktop_fix.diff
- mumble-1.2.19-limit-amount-of-messages.patch
- mumble-1.2.19-stricter-message-limit.patch
- mumble-pr-3623-protobuf37.patch
- Refresh add-speechd-include-path.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Jul 12 23:30:49 UTC 2019 - Ferdinand Thiessen <rpm@fthiessen.de> Fri Jul 12 23:30:49 UTC 2019 - Ferdinand Thiessen <rpm@fthiessen.de>

View File

@ -1,53 +1,53 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org
mQINBFhyuX0BEACqj62xF5T1KTgA4sUFNnGi9kQ940OcLh9T2QalC7mKjGIpWmok mQINBFwv2cwBEADmlPnKpKGXok2vzlL17eh7u059ohN1xvnlOOF627TifWFfltTr
BC/D9d00QwXuziEFU6kwVjRLnnGKrmfFigbIl7R5V7Qboa9zNEv9tDBpBJSpe8B5 90TWz+hlT1lFePt8Kws9+tKrP6u/T1EctBGXQRrhs1yiMHqBMNe6BkQMeJOasaLo
dzFh3ohoBoxxLQAcKHUvvtjFNKocoPqz/pFR6pyTlAacnu9EJE2b2vndSIW4oP/m NOnhpkVMaH4ubI5TGlLXITWn9LX6529rrZMIvq7jcjalL1Xva09CQi+Vu2Okz3+C
mQhP4Z6rI2EpuUJgWVs2GqaZ5j8UKSmzheMs2kra5iHVw/ABUjooJKIcuQQx7SWf nMLvrohZTWycNK+b5JRc4q/EaS91IFw7GDatP+1lb/mxfjEy4AvtVHJGR6p/xOft
V4W1oSfr+w8TqgXrgknPQDQ9rkO6rhn9vMDDTEfgqP3RqXTlUaBdsJeP4UZKGW4o c4GTBMRydd5SIl9jC9pGn/7l3004+QaeXB872MOciDskgiurSuWgv8qai4/Aarie
p6g1UoI2L1LWJjmO/6qm19YEbsK7iToukkJeWXpHKNUFChLOlwJ7glwWRsssHs31 27PmH72FiWrhrvRRevz2jfdZU32VTIjCl2ce+DRyD0ufrY6UcsNbYAnuj3fx9rZl
aEWGjKEu0E6Z//09ryIk98V5YjJ2ke3PCiCGJHAw74bNnbryS9zWznEoofSyEYq+ 77KnpdXY2lC+ylpfVwu/R5kQoNQ/cxwApIAAEHvMxX5hE7Yec3UdJ+l/2ArxFnoy
ielEz+IZlGXq4ZfNraXhrGlKx2dgNxPLc7/E1lxSW9U7/BJhoPK6xxg+gwDUIBE4 pyeErjjtmwD5AAQj3i+/D8Qpyarf53jtF/eUYMHjjiD4Iy5cwPYAR+jOyzxG5T1Q
mH34cqzQWrWO9q2x9HrDJyC/NbQqh+ynBBn2KmRqyNx2+pitLkdxACtCE4QpRODU zeHRnogcSFfw5BSAroZbyz4XRoK5ikUSBUYT+srkfzEK6jrXhFLQmNl5qzHnUusY
hWFoQo/eoI6TMjAkgxeAJFRqz67JbuaAUtttIxk7/y5sYPSBppMspmxikUslFih1 5E29VC6XlCYcX5D6YNorTw2jc5Tax7/MFjR3K1lFUxwDp5F1nARu1IoDSDB7m75W
ZqdcyHg0RfJxl7tIZmTcfOcG/KAy/8m6rXVy9gpVC4CN+MOjDRcE+D/1IwARAQAB yVdRKmulW/ovr0NCGXp+MpFdbE5e8VNLMQx29YEr2ZTR/ezctkhTFIbP+QARAQAB
tE9NdW1ibGUgQXV0b21hdGljIEJ1aWxkIEluZnJhc3RydWN0dXJlIDIwMTcgPG11 tE9NdW1ibGUgQXV0b21hdGljIEJ1aWxkIEluZnJhc3RydWN0dXJlIDIwMTkgPG11
bWJsZS1hdXRvLWJ1aWxkLTIwMTdAbXVtYmxlLmluZm8+iQI9BBMBCgAnBQJYcrl9 bWJsZS1hdXRvLWJ1aWxkLTIwMTlAbXVtYmxlLmluZm8+iQJUBBMBCgA+FiEEVtCy
AhsDBQkB1qeABQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEIgEjQ1iUpegdvUQ OuALHumouqwPW4z4e7iTRJsFAlwv2cwCGwMFCQHdPwAFCwkIBwMFFQoJCAsFFgID
AJ8jvJH66xFpLP9LfQyBftl2h+NA87HIS9yObeytdao96v5Fquz4shSbuSNyfJgo AQACHgECF4AACgkQW4z4e7iTRJscvw/+P7qXKBj8gaOfkNY6cHPpJs41QD6bb93I
CiAMv9TR9ubGkJElOGAwnVKGOBbq77/XEpp/lBKcZLz/1yBv1JdM07QY5/umfhrb 8LTU2nMYm42IjKkC/ERBrVEkYuOyzEgbWVPZY9blZk46TWiEAF2X1cmzSbNineKj
vQEQKFepVKWYFSXMQCjvAESw8YKkTON8iNpWEV9RZVGGHEwTTa3htGg13zh4iW8g QEPEuOyMfy3lSOAO2BBgNjnaG22tXBPd9YIrcxviRQWvJS6Hri1wtAvB3SXuPzT5
39QpqHQIhj3SJpAAdJhKv5sRIrVr6lhxqovRfrMsjFzV0JarVBIB4U3HaJ3TrcKL xmYGZDxHCXhmBPjnCN4rBFWN6TwWR7Ku0v1Q5YH70BpKu0FNIHXIr5vgwUBpYqHZ
8iSs2bCCvUUDmN791Wq/kQDyThRxewsa1lgHrEakZwRjMvbxh2H62twoq/pNJlKG HP8MFNqqRff2ja/Mq8hRwmrHf4UALMqlMP2l/KFPPDnb8nrBKrkuv/tmUTatPbfY
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
cA5j/lFdCjVz oZcXgFXtgFJL0mMSb8NfQhY3pzWp9GUGAZ94/9WPqApRFisZBQO4za5oMpbBboRt
=Wg+G l7lWd5JGoQ==
=dvzM
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

View File

@ -16,6 +16,8 @@
# #
#%%define snapshot rc2
%define ver 1.3.0
%if 0%{?fedora_version} %if 0%{?fedora_version}
%bcond_without ice %bcond_without ice
%else %else
@ -23,58 +25,47 @@
%endif %endif
%bcond_without pulseaudio %bcond_without pulseaudio
%bcond_without systemd %bcond_without systemd
%bcond_with mumble11x
%bcond_without bonjour %bcond_without bonjour
%bcond_without system_opus
%bcond_without system_speex
# mumble must be able to talk to other clients which may use # mumble must be able to talk to other clients which may use
# differnt versions of celt. Since each celt release is # different versions of celt. Since each celt release is
# incompatible to each other mumble bundles some specific # incompatible to each other mumble bundles some specific
# versions. # versions.
%bcond_with system_celt %bcond_with system_celt
%bcond_without system_speex
Name: mumble Name: mumble
Version: 1.2.19%{?snapshot:_%{snapshot}} Version: %{ver}%{?snapshot:_%{snapshot}}
Release: 0 Release: 0
Summary: Voice Communication Client for Gamers Summary: Voice Communication Client for Gamers
License: BSD-3-Clause # For Legal: the bundled opus and speex subdirectories are not built.
# Most files are BSD-3-Clause, celt also contains BSD-2-Clause files.
License: BSD-2-Clause AND BSD-3-Clause
Group: Productivity/Multimedia/Sound/Utilities Group: Productivity/Multimedia/Sound/Utilities
Url: http://mumble.sourceforge.net/ URL: http://mumble.sourceforge.net/
Source: https://github.com/mumble-voip/mumble/releases/download/%{ver}%{?snapshot:-%{snapshot}}/%{name}-%{ver}%{?snapshot:-%{snapshot}}.tar.gz
Source1: https://github.com/mumble-voip/mumble/releases/download/%{ver}%{?snapshot:-%{snapshot}}/%{name}-%{ver}%{?snapshot:-%{snapshot}}.tar.gz.sig
Source2: mumble-server.init Source2: mumble-server.init
Source3: murmur.apparmor Source3: murmur.apparmor
# http://mumble.info/gpg/gpg.txt # http://mumble.info/gpg/gpg.txt
Source4: https://raw.githubusercontent.com/mumble-voip/mumble-gpg-signatures/master/mumble-auto-build-2017.asc#/%{name}.keyring Source4: https://raw.githubusercontent.com/mumble-voip/mumble-gpg-signatures/master/mumble-auto-build-2019.asc#/%{name}.keyring
Source5: mumble-server.service Source5: mumble-server.service
Source6: baselibs.conf Source6: baselibs.conf
# PATCH-FIX-OPENSUSE Avoid excessive rebuilds stripping time and date from the binaries. Patch0: add-speechd-include-path.patch
Patch0: mumble-1.2.2-buildcompare.diff BuildRequires: gcc-c++
# PATCH-FIX-UPSTREAM mumble-1.2.11-desktop_fix.diff -- https://github.com/mumble-voip/mumble/pull/1960 BuildRequires: libcap-devel
Patch1: mumble-1.2.11-desktop_fix.diff BuildRequires: libogg-devel
# PATCH-FEATURE-UPSTREAM https://github.com/mumble-voip/mumble/pull/2564 BuildRequires: libsndfile-devel
Patch2: appdata.patch BuildRequires: libspeechd-devel
# PATCH-FIX-UPSTREAM initialize-soundfile-format.patch -- Initialize a variable so it's not used uninitialized BuildRequires: protobuf-devel
Patch3: initialize-soundfile-format.patch Requires: lsb-release
Patch4: 0001-AudioOutput-do-not-use-non-existant-template-version.patch
Patch5: add-speechd-include-path.patch
Patch6: mumble-pr-3623-protobuf37.patch
# PATCH-FIX-UPSTREAM mumble-1.2.19-limit-amount-of-messages.patch -- https://github.com/mumble-voip/mumble/pull/3510
Patch7: mumble-1.2.19-limit-amount-of-messages.patch
# PATCH-FIX-UPSTREAM mumble-1.2.19-stricter-message-limit.patch -- https://github.com/mumble-voip/mumble/pull/3512
Patch8: mumble-1.2.19-stricter-message-limit.patch
%if 0%{?suse_version} > 1325 %if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel BuildRequires: libboost_headers-devel
%else %else
BuildRequires: boost-devel BuildRequires: boost-devel
%endif %endif
BuildRequires: gcc-c++
BuildRequires: libcap-devel
BuildRequires: libogg-devel
BuildRequires: libsndfile-devel
BuildRequires: protobuf-devel
Requires: lsb-release
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with bonjour} %if %{with bonjour}
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: avahi-compat-mDNSResponder-devel BuildRequires: pkgconfig(avahi-compat-libdns_sd)
%else %else
BuildRequires: avahi-compat-libdns_sd-devel BuildRequires: avahi-compat-libdns_sd-devel
%endif %endif
@ -83,47 +74,68 @@ BuildRequires: avahi-compat-libdns_sd-devel
BuildRequires: libcelt-devel BuildRequires: libcelt-devel
Requires: libcelt0 > 0.7.0 Requires: libcelt0 > 0.7.0
%endif %endif
%if %{with system_opus}
BuildRequires: pkgconfig(opus)
%endif
%if %{with system_speex} %if %{with system_speex}
BuildRequires: speex-devel BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(speexdsp) BuildRequires: pkgconfig(speexdsp)
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: alsa-devel BuildRequires: libqt5-linguist
BuildRequires: libopenssl-devel BuildRequires: pkgconfig
BuildRequires: libqt4-devel
BuildRequires: pkg-config
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Sql)
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5TextToSpeech)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5Xml)
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(libopenssl)
BuildRequires: pkgconfig(xi)
%endif %endif
%if 0%{?fedora_version} %if 0%{?fedora_version}
BuildRequires: Mesa-libGL-devel
BuildRequires: alsa-lib-devel BuildRequires: alsa-lib-devel
BuildRequires: libQt5DBus-devel
BuildRequires: libQt5Gui-devel
BuildRequires: libQt5Network-devel
BuildRequires: libQt5Sql-devel
BuildRequires: libQt5Xml-devel
BuildRequires: libXevie-devel BuildRequires: libXevie-devel
BuildRequires: libXi-devel
BuildRequires: libqt5-linguist
BuildRequires: libqt5-qtsvg-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: qt4-devel
%endif %endif
%if %{with ice} %if %{with ice}
BuildRequires: ice-devel BuildRequires: ice-devel
%endif %endif
%if 0%{?mandriva_version} %if 0%{?mandriva_version}
BuildRequires: -alsa-plugins BuildRequires: -alsa-plugins
BuildRequires: Mesa-libGL-devel
BuildRequires: alsa-lib-devel BuildRequires: alsa-lib-devel
BuildRequires: libQt5DBus-devel
BuildRequires: libQt5Gui-devel
BuildRequires: libQt5Network-devel
BuildRequires: libQt5Sql-devel
BuildRequires: libQt5Xml-devel
BuildRequires: libqt5-linguist
BuildRequires: libqt5-qtsvg-devel
BuildRequires: libxevie-devel BuildRequires: libxevie-devel
BuildRequires: libxi-devel BuildRequires: libxi-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: qt4-devel
BuildRequires: qt4-linguist
%endif %endif
%if %{with pulseaudio} %if %{with pulseaudio}
BuildRequires: pulseaudio-devel BuildRequires: pulseaudio-devel
%endif %endif
BuildRequires: libspeechd-devel
%if 0%{!?snapshot:1}
Source: https://github.com/mumble-voip/mumble/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/mumble-voip/mumble/releases/download/%{version}/%{name}-%{version}.tar.gz.sig
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: qt-sql-sqlite
%ifarch x86_64 %ifarch x86_64
Recommends: %{name}-32bit Recommends: %{name}-32bit
Conflicts: %{name}-32bit < %{version} Conflicts: %{name}-32bit < %{version}
@ -132,8 +144,6 @@ Conflicts: %{name}-32bit < %{version}
Recommends: %{name}-64bit Recommends: %{name}-64bit
Conflicts: %{name}-64bit < %{version} Conflicts: %{name}-64bit < %{version}
%endif %endif
%else
Requires: qt4-sqlite
%endif %endif
# #
%if 0%{?snapshot:1} %if 0%{?snapshot:1}
@ -151,8 +161,10 @@ won't be audible to other players.
%package server %package server
Summary: Voice Communication Server for Gamers Summary: Voice Communication Server for Gamers
Group: Productivity/Multimedia/Sound/Utilities Group: Productivity/Multimedia/Sound/Utilities
Recommends: libQt5Sql5-mysql
Recommends: libQt5Sql5-postgresql
Requires: libQt5Sql5-sqlite
Requires: lsb-release Requires: lsb-release
Requires: qt-sql-sqlite
Requires(pre): %{_sbindir}/useradd Requires(pre): %{_sbindir}/useradd
%if 0%{?snapshot:1} %if 0%{?snapshot:1}
Conflicts: mumble-server < %{version} Conflicts: mumble-server < %{version}
@ -169,65 +181,22 @@ characters, and has echo cancellation so the sound from your loudspeakers
won't be audible to other players. won't be audible to other players.
%prep %prep
%setup -q %setup -q -n %{name}-%{ver}
%patch0 -p1 %patch0 -p1
%patch1 -p1 rm -v scripts/*.bak
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%if !%{with system_celt}
%if 0%{?snapshot:1}
tar -xzf %{SOURCE50}
tar -xzf %{SOURCE51}
for v in 0.7.0 0.11.0; do
rmdir celt-$v-src
mv celt-$v celt-$v-src
done
%endif
%endif
#
%if 0%{?mandriva_version}
#XXX: dirty hack. QT_REQUIRE_VERSION doesn't work with -Wformat-security. should be fixed qt really
sed -i -e '/QT_REQUIRE_VERSION/d' src/mumble/main.cpp src/mumble11x/main.cpp
%endif
#
%build %build
%if 0%{?fedora_version}
ln -s %{_bindir}/qmake-qt4 qmake
ln -s %{_bindir}/lrelease-qt4 lrelease
ln -s %{_bindir}/lupdate-qt4 lupdate
export PATH=$PATH:$PWD
%endif
%if 0%{?mandriva_version} > 2006
export PATH=%{_libexecdir}/qt4/bin:$PATH
export QTDIR=%{_libexecdir}/qt4/
%endif
# #
# #
%if 0 %if 0
# for not having to wait for compile when testing packaging stuff.. # for not having to wait for compile when testing packaging stuff..
mkdir release mkdir release
touch release/mumble release/murmurd release/libmumble.so.1.1.1 touch release/mumble release/murmurd release/libmumble.so.1.1.1
%else
%if 0%{?mandriva_version}
# HACK: mandriva forgot to package qt translations
if [ ! -e %{_libexecdir}/qt4/translations/qt_de.qm ]; then
sed -i -e '/QMAKE_EXTRA_TARGETS/s/copytrans//;/PRE_TARGETDEPS/s/qt_de\.qm//' src/mumble/mumble.pro
sed -i -e '/qt_.*\.qm/d' src/mumble/mumble.qrc
fi
%endif %endif
# %qmake5 \
# temporary hack, remove!
sed -i -e '/QMAKE_CFLAGS/s/-Woverloaded-virtual -Wold-style-cast//' compiler.pri
qmake \
QMAKE_CFLAGS_RELEASE="%{optflags} -Wall -fno-strict-aliasing" \ QMAKE_CFLAGS_RELEASE="%{optflags} -Wall -fno-strict-aliasing" \
QMAKE_CXXFLAGS_RELEASE="%{optflags} -Wall -fno-strict-aliasing" \ QMAKE_CXXFLAGS_RELEASE="%{optflags} -Wall -fno-strict-aliasing" \
QMAKE_LRELEASE="%{_bindir}/lrelease-qt5" \
DEFINES*=NO_UPDATE_CHECK \ DEFINES*=NO_UPDATE_CHECK \
DEFINES*=MUMBLE_VERSION=%{version} \ DEFINES*=MUMBLE_VERSION=%{version} \
DEFINES*=PLUGIN_PATH=%{_libdir}/mumble/plugins \ DEFINES*=PLUGIN_PATH=%{_libdir}/mumble/plugins \
@ -244,53 +213,32 @@ qmake \
CONFIG*=no-bundled-celt \ CONFIG*=no-bundled-celt \
%endif %endif
%if %{with system_speex} %if %{with system_speex}
CONFIG*=no-bundled-speex \ CONFIG*=no-bundled-opus \
%endif %endif
%if !%{with mumble11x} %if %{with system_speex}
CONFIG*=no-11x \ CONFIG*=no-bundled-speex \
%endif %endif
%if !%{with bonjour} %if !%{with bonjour}
CONFIG*=no-bonjour \ CONFIG*=no-bonjour \
%endif %endif
%if !%{with pulseaudio} %if !%{with pulseaudio}
CONFIG*=no-pulseaudio \ CONFIG*=no-pulseaudio \
%endif
%if 0%{?suse_version} == 1110
CONFIG*=no-xinput2 \
%endif
%if 0%{?suse_version} > 1500
CONFIG*=c++1z \
%endif %endif
CONFIG*=no-crash-report \ CONFIG*=no-crash-report \
-recursive -recursive
# #
### XXX: hack for incomplete dependencies
make %{?_smp_mflags} qmake
%if 0
# that translation stuff is just broken
# copy the available ones manually
%if 0%{?suse_version}
cp %{_datadir}/qt4/translations/qt_*.qm src/mumble
# 10.3 doesn't have that one
touch src/mumble/qt_pl.qm
%endif
make %{?_smp_mflags} -C src/mumble mumble_en.qm
%if !0%{?mandriva_version}
make %{?_smp_mflags} -C src/mumble qt_de.qm
%endif
#
%endif
# Include is broken for openSUSE, so fix it. # Include is broken for openSUSE, so fix it.
sed -i "s,<libspeechd.h>,<speech-dispatcher/libspeechd.h>," src/mumble/TextToSpeech_unix.cpp sed -i "s,<libspeechd.h>,<speech-dispatcher/libspeechd.h>," src/mumble/TextToSpeech_unix.cpp
### ###
# #
# deps for *.pb.cc are broken and fail for high -j so generate # deps for *.pb.cc are broken and fail for high -j so generate
# them manually first # them manually first
for i in mumble murmur; do for i in src/* ; do
make -C src/$i -f Makefile.Release compiler_pb_make_all grep -q compiler_pb_make_all $i/Makefile.Release || continue
make %{?_smp_mflags} -C $i -f Makefile.Release compiler_pb_make_all
done done
make %{?_smp_mflags} make %{?_smp_mflags}
%endif
%install %install
# client # client
@ -316,13 +264,6 @@ install -m0755 release/libmumble.so.*.*.* "%{buildroot}%{_libdir}/mumble"
install -m 644 release/libcelt0.so.0.*.* "%{buildroot}%{_libdir}/mumble" install -m 644 release/libcelt0.so.0.*.* "%{buildroot}%{_libdir}/mumble"
%endif %endif
#
%if %{with mumble11x}
install -D -m 0755 release/mumble11x %{buildroot}%{_bindir}/mumble11x
%else
# XXX
/bin/rm -f "%{buildroot}%{_mandir}"/man1/mumble11x*
%endif
# #
# server # server
install -D -m 0755 release/murmurd "%{buildroot}%{_sbindir}/murmurd" install -D -m 0755 release/murmurd "%{buildroot}%{_sbindir}/murmurd"
@ -366,11 +307,7 @@ sed 's/^Categories.*/Categories=X-SuSE-Core-Game;/' \
%else %else
install -m 644 scripts/mumble.desktop %{buildroot}/%{_datadir}/applications/mumble.desktop install -m 644 scripts/mumble.desktop %{buildroot}/%{_datadir}/applications/mumble.desktop
%endif %endif
%if %{with mumble11x}
sed -e '/^Name=/s/$/ 1.1.x/;/^Exec=/s/$/11x/' \
< %{buildroot}/%{_datadir}/applications/mumble.desktop \
> %{buildroot}/%{_datadir}/applications/mumble11x.desktop
%endif
mkdir -p %{buildroot}%{_docdir}/%{name} mkdir -p %{buildroot}%{_docdir}/%{name}
cp -a scripts LICENSE README README.Linux %{buildroot}%{_docdir}/%{name} cp -a scripts LICENSE README README.Linux %{buildroot}%{_docdir}/%{name}
# #
@ -410,17 +347,12 @@ systemd-tmpfiles --create %{_libexecdir}/tmpfiles.d/mumble-server.conf || true
%endif %endif
%files %files
%defattr(-, root, root)
%exclude %{_docdir}/%{name}/scripts/murmur.ini %exclude %{_docdir}/%{name}/scripts/murmur.ini
%doc %{_docdir}/%{name} %doc %{_docdir}/%{name}
%{_bindir}/mumble %{_bindir}/mumble
%{_bindir}/mumble-overlay %{_bindir}/mumble-overlay
%{_mandir}/man1/mumble-overlay.* %{_mandir}/man1/mumble-overlay.*
%{_mandir}/man1/mumble.* %{_mandir}/man1/mumble.*
%if %{with mumble11x}
%{_bindir}/mumble11x
%{_mandir}/man1/mumble11x*
%endif
%dir %{_datadir}/icons/hicolor %dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/* %dir %{_datadir}/icons/hicolor/*
%dir %{_datadir}/icons/hicolor/*/apps %dir %{_datadir}/icons/hicolor/*/apps
@ -430,7 +362,6 @@ systemd-tmpfiles --create %{_libexecdir}/tmpfiles.d/mumble-server.conf || true
%{_libdir}/mumble %{_libdir}/mumble
%files server %files server
%defattr(-,root,root)
%doc %{_docdir}/%{name}/scripts/murmur.ini %doc %{_docdir}/%{name}/scripts/murmur.ini
%config %{_sysconfdir}/dbus-1/system.d/mumble-server.conf %config %{_sysconfdir}/dbus-1/system.d/mumble-server.conf
%config(noreplace) %{_sysconfdir}/mumble-server.ini %config(noreplace) %{_sysconfdir}/mumble-server.ini