Dominique Leuenberger 2020-01-27 19:18:14 +00:00 committed by Git OBS Bridge
commit 03e028121c
3 changed files with 52 additions and 4 deletions

View File

@ -0,0 +1,40 @@
From 7860b9699b6a20fdf6e61d89df28e86b1e9a4dc4 Mon Sep 17 00:00:00 2001
From: Manuel Nickschas <sputnick@quassel-irc.org>
Date: Tue, 7 Jan 2020 18:34:54 +0100
Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14
Starting from version 5.14, Qt provides stream operators for enum
types, which collide with the ones we ship in types.h. Disable
Quassel's stream operators when compiling against Qt 5.14 or later.
Add a unit test that ensures that enum serialization honors the width
of the underlying type.
(original patch trimmed)
---
src/common/types.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/types.h b/src/common/types.h
index 467d9fb..c4b9f36 100644
--- a/src/common/types.h
+++ b/src/common/types.h
@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
typedef QList<MsgId> MsgIdList;
typedef QList<BufferId> BufferIdList;
+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
/**
* Catch-all stream serialization operator for enum types.
*
@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
value = static_cast<T>(v);
return in;
}
+#endif
// Exceptions
--
2.24.1

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Jan 27 10:50:11 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Add patch to fix build with Qt 5.14:
* 0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Apr 26 10:53:28 UTC 2019 - mvetter@suse.com Fri Apr 26 10:53:28 UTC 2019 - mvetter@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package quassel # spec file for package quassel
# #
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2020 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
@ -27,7 +27,7 @@ Release: 0
Summary: Distributed IRC client Summary: Distributed IRC client
License: GPL-2.0-only OR GPL-3.0-only License: GPL-2.0-only OR GPL-3.0-only
Group: Productivity/Networking/IRC Group: Productivity/Networking/IRC
URL: http://quassel-irc.org/ URL: https://quassel-irc.org/
Source: http://%{name}-irc.org/pub/%{name}-%{realver}.tar.bz2 Source: http://%{name}-irc.org/pub/%{name}-%{realver}.tar.bz2
Source1: service.%{name}core Source1: service.%{name}core
Source2: sysconfig.%{name}core Source2: sysconfig.%{name}core
@ -35,6 +35,8 @@ Source3: logrotate.%{name}core
Source5: quassel-rpmlintrc Source5: quassel-rpmlintrc
# PATCH-FIX-SUSE: Set the correct libraries and compiler flags in order to use qglobal.h in check_cxx_source_compiles function # PATCH-FIX-SUSE: Set the correct libraries and compiler flags in order to use qglobal.h in check_cxx_source_compiles function
Patch0: quassel-set-required-libs-and-flags.patch Patch0: quassel-set-required-libs-and-flags.patch
# PATCH-FIX-UPSTREAM: Fix build with Qt 5.14
Patch1: 0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
BuildRequires: cmake >= 2.8.10 BuildRequires: cmake >= 2.8.10
BuildRequires: extra-cmake-modules BuildRequires: extra-cmake-modules
BuildRequires: fdupes BuildRequires: fdupes
@ -149,7 +151,7 @@ This contains common parts shared by %{name} and %{name}-client.
%prep %prep
%setup -q -n %{name}-%{realver} %setup -q -n %{name}-%{realver}
%patch0 -p1 %autopatch -p1
%build %build
FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')