diff --git a/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch b/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch new file mode 100644 index 0000000..6a1ec7a --- /dev/null +++ b/0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch @@ -0,0 +1,40 @@ +From 7860b9699b6a20fdf6e61d89df28e86b1e9a4dc4 Mon Sep 17 00:00:00 2001 +From: Manuel Nickschas +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 MsgIdList; + typedef QList 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(v); + return in; + } ++#endif + + // Exceptions + +-- +2.24.1 + diff --git a/quassel.changes b/quassel.changes index 3ae86ef..a48f6ef 100644 --- a/quassel.changes +++ b/quassel.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jan 27 10:50:11 UTC 2020 - Christophe Giboudeaux + +- 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 diff --git a/quassel.spec b/quassel.spec index 06d666d..c4c70a4 100644 --- a/quassel.spec +++ b/quassel.spec @@ -1,7 +1,7 @@ # # 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 # 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) # 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 License: GPL-2.0-only OR GPL-3.0-only Group: Productivity/Networking/IRC -URL: http://quassel-irc.org/ +URL: https://quassel-irc.org/ Source: http://%{name}-irc.org/pub/%{name}-%{realver}.tar.bz2 Source1: service.%{name}core Source2: sysconfig.%{name}core @@ -35,6 +35,8 @@ Source3: logrotate.%{name}core 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 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: extra-cmake-modules BuildRequires: fdupes @@ -149,7 +151,7 @@ This contains common parts shared by %{name} and %{name}-client. %prep %setup -q -n %{name}-%{realver} -%patch0 -p1 +%autopatch -p1 %build FAKE_BUILDDATE=$(LC_ALL=C date -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')