[arch-commits] Commit in quassel/repos/community-x86_64 (14 files)
Balló György
bgyorgy at archlinux.org
Sun Apr 25 17:02:37 UTC 2021
Date: Sunday, April 25, 2021 @ 17:02:37
Author: bgyorgy
Revision: 924289
archrelease: copy trunk to community-x86_64
Added:
quassel/repos/community-x86_64/0001-qtui-Set-desktop-file-name.patch
(from rev 924288, quassel/trunk/0001-qtui-Set-desktop-file-name.patch)
quassel/repos/community-x86_64/PKGBUILD
(from rev 924288, quassel/trunk/PKGBUILD)
quassel/repos/community-x86_64/quassel-0.13.1-qt5.14.patch
(from rev 924288, quassel/trunk/quassel-0.13.1-qt5.14.patch)
quassel/repos/community-x86_64/quassel.conf
(from rev 924288, quassel/trunk/quassel.conf)
quassel/repos/community-x86_64/quassel.service
(from rev 924288, quassel/trunk/quassel.service)
quassel/repos/community-x86_64/quassel.sysusers
(from rev 924288, quassel/trunk/quassel.sysusers)
quassel/repos/community-x86_64/quassel.tmpfiles
(from rev 924288, quassel/trunk/quassel.tmpfiles)
Deleted:
quassel/repos/community-x86_64/0001-qtui-Set-desktop-file-name.patch
quassel/repos/community-x86_64/PKGBUILD
quassel/repos/community-x86_64/quassel-0.13.1-qt5.14.patch
quassel/repos/community-x86_64/quassel.conf
quassel/repos/community-x86_64/quassel.service
quassel/repos/community-x86_64/quassel.sysusers
quassel/repos/community-x86_64/quassel.tmpfiles
---------------------------------------+
0001-qtui-Set-desktop-file-name.patch | 100 +++++-----
PKGBUILD | 292 +++++++++++++++++---------------
quassel-0.13.1-qt5.14.patch | 236 ++++++++++++-------------
quassel.conf | 4
quassel.service | 28 +--
quassel.sysusers | 2
quassel.tmpfiles | 2
7 files changed, 343 insertions(+), 321 deletions(-)
Deleted: 0001-qtui-Set-desktop-file-name.patch
===================================================================
--- 0001-qtui-Set-desktop-file-name.patch 2021-04-25 17:02:18 UTC (rev 924288)
+++ 0001-qtui-Set-desktop-file-name.patch 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1,50 +0,0 @@
-From 919ac3d7184faee0ccfa7fe65c6635a7dcf5d234 Mon Sep 17 00:00:00 2001
-Message-Id: <919ac3d7184faee0ccfa7fe65c6635a7dcf5d234.1553291431.git.jan.steffens at gmail.com>
-From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
-Date: Fri, 22 Mar 2019 22:37:22 +0100
-Subject: [PATCH] qtui: Set desktop file name
-
-The XCB platform plugin defaults the WM class to the executable name,
-which already matches our desktop file name. Unfortunately, the Wayland
-platform plugin prepends the inverted organization domain, resulting in
-an app ID of "org.quassel-irc.quasselclient", thus breaking the
-association.
-
-Set the desktop file name explicitly so the Wayland platform doesn't get
-confused.
----
- src/qtui/monoapplication.cpp | 3 +++
- src/qtui/qtuiapplication.cpp | 3 +++
- 2 files changed, 6 insertions(+)
-
-diff --git a/src/qtui/monoapplication.cpp b/src/qtui/monoapplication.cpp
-index 809f1147..3f60523f 100644
---- a/src/qtui/monoapplication.cpp
-+++ b/src/qtui/monoapplication.cpp
-@@ -32,6 +32,9 @@ MonolithicApplication::MonolithicApplication(int &argc, char **argv)
- : QtUiApplication(argc, argv)
- {
- Quassel::setRunMode(Quassel::Monolithic);
-+#if QT_VERSION >= 0x050700
-+ QGuiApplication::setDesktopFileName(Quassel::buildInfo().applicationName + ".desktop");
-+#endif
- }
-
-
-diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp
-index e5b0b773..989a1961 100644
---- a/src/qtui/qtuiapplication.cpp
-+++ b/src/qtui/qtuiapplication.cpp
-@@ -92,6 +92,9 @@ QtUiApplication::QtUiApplication(int &argc, char **argv)
- #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
- QGuiApplication::setFallbackSessionManagementEnabled(false);
- #endif
-+#if QT_VERSION >= 0x050700
-+ QGuiApplication::setDesktopFileName(Quassel::buildInfo().clientApplicationName + ".desktop");
-+#endif
- }
-
-
---
-2.21.0
-
Copied: quassel/repos/community-x86_64/0001-qtui-Set-desktop-file-name.patch (from rev 924288, quassel/trunk/0001-qtui-Set-desktop-file-name.patch)
===================================================================
--- 0001-qtui-Set-desktop-file-name.patch (rev 0)
+++ 0001-qtui-Set-desktop-file-name.patch 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1,50 @@
+From 919ac3d7184faee0ccfa7fe65c6635a7dcf5d234 Mon Sep 17 00:00:00 2001
+Message-Id: <919ac3d7184faee0ccfa7fe65c6635a7dcf5d234.1553291431.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Fri, 22 Mar 2019 22:37:22 +0100
+Subject: [PATCH] qtui: Set desktop file name
+
+The XCB platform plugin defaults the WM class to the executable name,
+which already matches our desktop file name. Unfortunately, the Wayland
+platform plugin prepends the inverted organization domain, resulting in
+an app ID of "org.quassel-irc.quasselclient", thus breaking the
+association.
+
+Set the desktop file name explicitly so the Wayland platform doesn't get
+confused.
+---
+ src/qtui/monoapplication.cpp | 3 +++
+ src/qtui/qtuiapplication.cpp | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/qtui/monoapplication.cpp b/src/qtui/monoapplication.cpp
+index 809f1147..3f60523f 100644
+--- a/src/qtui/monoapplication.cpp
++++ b/src/qtui/monoapplication.cpp
+@@ -32,6 +32,9 @@ MonolithicApplication::MonolithicApplication(int &argc, char **argv)
+ : QtUiApplication(argc, argv)
+ {
+ Quassel::setRunMode(Quassel::Monolithic);
++#if QT_VERSION >= 0x050700
++ QGuiApplication::setDesktopFileName(Quassel::buildInfo().applicationName + ".desktop");
++#endif
+ }
+
+
+diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp
+index e5b0b773..989a1961 100644
+--- a/src/qtui/qtuiapplication.cpp
++++ b/src/qtui/qtuiapplication.cpp
+@@ -92,6 +92,9 @@ QtUiApplication::QtUiApplication(int &argc, char **argv)
+ #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
+ QGuiApplication::setFallbackSessionManagementEnabled(false);
+ #endif
++#if QT_VERSION >= 0x050700
++ QGuiApplication::setDesktopFileName(Quassel::buildInfo().clientApplicationName + ".desktop");
++#endif
+ }
+
+
+--
+2.21.0
+
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2021-04-25 17:02:18 UTC (rev 924288)
+++ PKGBUILD 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1,135 +0,0 @@
-# Maintainer: Jaroslav Lichtblau <svetlemodry at archlinux.org>
-# Contributor: Vesa Kaihlavirta <vegai at iki.fi>
-
-pkgbase=quassel
-pkgname=('quassel-core'
- 'quassel-client'
- 'quassel-client-small'
- 'quassel-monolithic')
-pkgver=0.13.1
-pkgrel=5
-pkgdesc="Next-generation distributed IRC client"
-arch=('x86_64')
-url="https://quassel-irc.org/"
-license=('GPL')
-makedepends=('qt5-base' 'qt5-tools' 'qt5-webengine' 'qca-qt5' 'qt5-script'
- 'qt5-multimedia' 'knotifyconfig' 'sonnet' 'libldap' 'cmake'
- 'extra-cmake-modules' 'python' 'hicolor-icon-theme')
-source=(https://quassel-irc.org/pub/$pkgbase-$pkgver.tar.bz2
- 0001-qtui-Set-desktop-file-name.patch
- quassel-0.13.1-qt5.14.patch
- $pkgbase.service
- $pkgbase.sysusers
- $pkgbase.tmpfiles
- $pkgbase.conf)
-sha256sums=('48efee9778743b1db9f44efb91d1c913104db01190c57f2ff57483c39a97e855'
- '695ff3b605ea62ccfdf9ec4b9e6ffa74f3e2c0ac81402d51a74d263c47886c92'
- '3d43f498df04db59a5199e0a81b8fd7ac37ef46fffb0c69ab5a17bcafb6d8c65'
- '5dbe20290f3361b9b7a74a52905137e76b656976febf2d31082a2276f9dcde7f'
- '3c72441a99e2668c6a8a751fa07beeb44f937576c8a1b5f615e4a55f841d93d9'
- '2afd4340c7713f6533e5d175a86b28fd118ecd907776c2b10925d1a4fb31cdca'
- 'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8')
-
-prepare() {
- cd $pkgbase-$pkgver
- patch -Np1 -i ../0001-qtui-Set-desktop-file-name.patch
- patch -Np1 -i ../quassel-0.13.1-qt5.14.patch
-}
-
-_build() (
- cmake -H$pkgbase-$pkgver -Bbuild-$1 \
- -DCMAKE_INSTALL_PREFIX=/usr/ \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-suggest-override" \
- -DHAVE_SSL=ON \
- "${@:2}" \
- -Wno-dev
- cmake --build build-$1
-)
-
-_install() {
- DESTDIR="${pkgdir}" cmake --build build-$1 --target install
-}
-
-build() {
- _build core \
- -DWANT_QTCLIENT=OFF \
- -DWANT_MONO=OFF \
- -DWITH_BUNDLED_ICONS=OFF \
- -DWITH_WEBENGINE=OFF
-
- _build monolithic \
- -DWANT_CORE=OFF \
- -DWANT_QTCLIENT=OFF \
- -DWITH_KDE=ON
-
- _build client \
- -DWANT_CORE=OFF \
- -DWANT_MONO=OFF \
- -DWITH_KDE=ON
-
- _build client-small \
- -DWANT_CORE=OFF \
- -DWANT_MONO=OFF \
- -DWITH_WEBENGINE=OFF \
- -DCMAKE_DISABLE_FIND_PACKAGE_dbusmenu-qt5=ON \
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=ON \
- -DCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON
-}
-
-package_quassel-core() {
-pkgdesc="Next-generation distributed IRC client - core only"
-depends=('icu' 'qca-qt5' 'qt5-script' 'libldap')
-optdepends=('postgresql: PostgreSQL database support')
-backup=(etc/conf.d/quassel)
-
- _install core
-
- # Remove unneeded pixmap icons
- rm -r "${pkgdir}"/usr/share
-
- install -Dm644 $pkgbase.sysusers \
- "${pkgdir}"/usr/lib/sysusers.d/$pkgbase.conf
- install -Dm644 $pkgbase.tmpfiles \
- "${pkgdir}"/usr/lib/tmpfiles.d/$pkgbase.conf
- install -Dm644 $pkgbase.service \
- "${pkgdir}"/usr/lib/systemd/system/$pkgbase.service
- install -Dm644 $pkgbase.conf \
- "${pkgdir}"/etc/conf.d/$pkgbase
-}
-
-package_quassel-client() {
-pkgdesc="Next-generation distributed IRC client - client only"
-depends=('qt5-base' 'qt5-webengine' 'qt5-multimedia' 'knotifyconfig'
- 'hicolor-icon-theme')
-optdepends=('perl: for builtin /exec scripts')
-conflicts=('quassel-monolithic' 'quassel-client-small')
-
- _install client
- install -Dm644 $pkgbase-$pkgver/data/quasselclient.appdata.xml "$pkgdir/usr/share/metainfo/quasselclient.appdata.xml"
-}
-
-package_quassel-client-small() {
-pkgdesc="Next-generation distributed IRC client - client only, reduced deps"
-depends=('qt5-base' 'qt5-svg' 'sonnet' 'hicolor-icon-theme')
-optdepends=('perl: for builtin /exec scripts')
-conflicts=('quassel-monolithic' 'quassel-client')
-replaces=('quassel-remote')
-
- _install client-small
-
- # Ignore package by AppStream to avoid duplicated IDs
- echo 'X-AppStream-Ignore=true' >> "$pkgdir/usr/share/applications/quasselclient.desktop"
-}
-
-package_quassel-monolithic() {
-pkgdesc="Next-generation distributed IRC client - monolithic"
-depends=('qt5-base' 'qt5-webengine' 'qt5-multimedia' 'qt5-script' 'qca-qt5'
- 'knotifyconfig' 'libldap' 'hicolor-icon-theme')
-optdepends=('perl: for builtin /exec scripts'
- 'postgresql: PostgreSQL database support')
-conflicts=('quassel-client' 'quassel-client-small')
-
- _install monolithic
- install -Dm644 $pkgbase-$pkgver/data/quassel.appdata.xml "$pkgdir/usr/share/metainfo/quassel.appdata.xml"
-}
Copied: quassel/repos/community-x86_64/PKGBUILD (from rev 924288, quassel/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1,157 @@
+# Maintainer: Jaroslav Lichtblau <svetlemodry at archlinux.org>
+# Contributor: Vesa Kaihlavirta <vegai at iki.fi>
+
+pkgbase=quassel
+pkgname=('quassel-core'
+ 'quassel-client'
+ 'quassel-client-qt'
+ 'quassel-monolithic'
+ 'quassel-monolithic-qt')
+pkgver=0.13.1
+pkgrel=6
+pkgdesc="Next-generation distributed IRC client"
+arch=('x86_64')
+url="https://quassel-irc.org/"
+license=('GPL')
+makedepends=('qt5-base' 'qt5-tools' 'qt5-webengine' 'qca' 'qt5-script'
+ 'qt5-multimedia' 'knotifyconfig' 'sonnet' 'libldap' 'cmake'
+ 'extra-cmake-modules' 'python' 'hicolor-icon-theme')
+source=(https://quassel-irc.org/pub/$pkgbase-$pkgver.tar.bz2
+ 0001-qtui-Set-desktop-file-name.patch
+ quassel-0.13.1-qt5.14.patch
+ $pkgbase.service
+ $pkgbase.sysusers
+ $pkgbase.tmpfiles
+ $pkgbase.conf)
+sha256sums=('48efee9778743b1db9f44efb91d1c913104db01190c57f2ff57483c39a97e855'
+ '695ff3b605ea62ccfdf9ec4b9e6ffa74f3e2c0ac81402d51a74d263c47886c92'
+ '3d43f498df04db59a5199e0a81b8fd7ac37ef46fffb0c69ab5a17bcafb6d8c65'
+ '5dbe20290f3361b9b7a74a52905137e76b656976febf2d31082a2276f9dcde7f'
+ '3c72441a99e2668c6a8a751fa07beeb44f937576c8a1b5f615e4a55f841d93d9'
+ '2afd4340c7713f6533e5d175a86b28fd118ecd907776c2b10925d1a4fb31cdca'
+ 'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8')
+
+prepare() {
+ cd $pkgbase-$pkgver
+ patch -Np1 -i ../0001-qtui-Set-desktop-file-name.patch
+ patch -Np1 -i ../quassel-0.13.1-qt5.14.patch
+}
+
+_build() (
+ cmake -H$pkgbase-$pkgver -Bbuild-$1 \
+ -DCMAKE_INSTALL_PREFIX=/usr/ \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-suggest-override" \
+ -DHAVE_SSL=ON \
+ "${@:2}" \
+ -Wno-dev
+ cmake --build build-$1
+)
+
+_install() {
+ DESTDIR="${pkgdir}" cmake --build build-$1 --target install
+}
+
+build() {
+ _build core \
+ -DWANT_QTCLIENT=OFF \
+ -DWANT_MONO=OFF \
+ -DWITH_BUNDLED_ICONS=OFF \
+ -DWITH_WEBENGINE=OFF
+
+ _build monolithic \
+ -DWANT_CORE=OFF \
+ -DWANT_QTCLIENT=OFF \
+ -DWITH_KDE=ON
+
+ _build monolithic-qt \
+ -DWANT_CORE=OFF \
+ -DWANT_QTCLIENT=OFF \
+ -DWITH_WEBENGINE=OFF \
+ -DCMAKE_DISABLE_FIND_PACKAGE_dbusmenu-qt5=ON \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=ON \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON
+
+ _build client \
+ -DWANT_CORE=OFF \
+ -DWANT_MONO=OFF \
+ -DWITH_KDE=ON
+
+ _build client-qt \
+ -DWANT_CORE=OFF \
+ -DWANT_MONO=OFF \
+ -DWITH_WEBENGINE=OFF \
+ -DCMAKE_DISABLE_FIND_PACKAGE_dbusmenu-qt5=ON \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=ON \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON
+}
+
+package_quassel-core() {
+pkgdesc="Next-generation distributed IRC client - core only"
+depends=('icu' 'qca' 'qt5-script' 'libldap')
+optdepends=('postgresql: PostgreSQL database support')
+backup=(etc/conf.d/quassel)
+
+ _install core
+
+ # Remove unneeded pixmap icons
+ rm -r "${pkgdir}"/usr/share
+
+ install -Dm644 $pkgbase.sysusers \
+ "${pkgdir}"/usr/lib/sysusers.d/$pkgbase.conf
+ install -Dm644 $pkgbase.tmpfiles \
+ "${pkgdir}"/usr/lib/tmpfiles.d/$pkgbase.conf
+ install -Dm644 $pkgbase.service \
+ "${pkgdir}"/usr/lib/systemd/system/$pkgbase.service
+ install -Dm644 $pkgbase.conf \
+ "${pkgdir}"/etc/conf.d/$pkgbase
+}
+
+package_quassel-client() {
+pkgdesc="Next-generation distributed IRC client - client only, KDE version"
+depends=('qt5-base' 'qt5-webengine' 'qt5-multimedia' 'knotifyconfig'
+ 'hicolor-icon-theme')
+optdepends=('perl: for builtin /exec scripts')
+conflicts=('quassel-client-qt' 'quassel-monolithic' 'quassel-monolithic-qt')
+
+ _install client
+ install -Dm644 $pkgbase-$pkgver/data/quasselclient.appdata.xml "$pkgdir/usr/share/metainfo/quasselclient.appdata.xml"
+}
+
+package_quassel-client-qt() {
+pkgdesc="Next-generation distributed IRC client - client only, Qt version with reduced deps"
+depends=('qt5-base' 'qt5-svg' 'sonnet' 'hicolor-icon-theme')
+optdepends=('perl: for builtin /exec scripts')
+conflicts=('quassel-client' 'quassel-monolithic' 'quassel-monolithic-qt')
+replaces=('quassel-client-small' 'quassel-remote')
+
+ _install client-qt
+
+ # Ignore package by AppStream to avoid duplicated IDs
+ echo 'X-AppStream-Ignore=true' >> "$pkgdir/usr/share/applications/quasselclient.desktop"
+}
+
+package_quassel-monolithic() {
+pkgdesc="Next-generation distributed IRC client - monolithic, KDE version"
+depends=('qt5-base' 'qt5-webengine' 'qt5-multimedia' 'qt5-script' 'qca'
+ 'knotifyconfig' 'libldap' 'hicolor-icon-theme')
+optdepends=('perl: for builtin /exec scripts'
+ 'postgresql: PostgreSQL database support')
+conflicts=('quassel-client' 'quassel-client-qt' 'quassel-monolithic-qt')
+
+ _install monolithic
+ install -Dm644 $pkgbase-$pkgver/data/quassel.appdata.xml "$pkgdir/usr/share/metainfo/quassel.appdata.xml"
+}
+
+package_quassel-monolithic-qt() {
+pkgdesc="Next-generation distributed IRC client - monolithic, Qt version with reduced deps"
+depends=('qca' 'qt5-base' 'qt5-svg' 'qt5-script' 'sonnet' 'hicolor-icon-theme')
+optdepends=('perl: for builtin /exec scripts'
+ 'postgresql: PostgreSQL database support')
+conflicts=('quassel-client' 'quassel-client-qt' 'quassel-monolithic')
+
+ _install monolithic-qt
+
+ # Ignore package by AppStream to avoid duplicated IDs
+ echo 'X-AppStream-Ignore=true' >> "$pkgdir/usr/share/applications/quassel.desktop"
+}
Deleted: quassel-0.13.1-qt5.14.patch
===================================================================
--- quassel-0.13.1-qt5.14.patch 2021-04-25 17:02:18 UTC (rev 924288)
+++ quassel-0.13.1-qt5.14.patch 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1,118 +0,0 @@
-commit c90702bdbc43fc542d7df6d5ec4b321912ca0035
-Author: Manuel Nickschas <sputnick at quassel-irc.org>
-Date: Tue Jan 7 18:34:54 2020 +0100
-
- 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.
-
-diff --git a/src/common/types.h b/src/common/types.h
-index 467d9fb2..c4b9f364 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
-
-diff --git a/src/common/typestest.cpp b/src/common/typestest.cpp
-new file mode 100644
-index 00000000..04031c29
---- /dev/null
-+++ b/src/common/typestest.cpp
-@@ -0,0 +1,79 @@
-+/***************************************************************************
-+ * Copyright (C) 2005-2020 by the Quassel Project *
-+ * devel at quassel-irc.org *
-+ * *
-+ * This program is free software; you can redistribute it and/or modify *
-+ * it under the terms of the GNU General Public License as published by *
-+ * the Free Software Foundation; either version 2 of the License, or *
-+ * (at your option) version 3. *
-+ * *
-+ * This program is distributed in the hope that it will be useful, *
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-+ * GNU General Public License for more details. *
-+ * *
-+ * You should have received a copy of the GNU General Public License *
-+ * along with this program; if not, write to the *
-+ * Free Software Foundation, Inc., *
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
-+ ***************************************************************************/
-+
-+#include <cstdint>
-+
-+#include <QByteArray>
-+#include <QDataStream>
-+#include <QObject>
-+
-+#include "testglobal.h"
-+#include "types.h"
-+
-+using namespace ::testing;
-+
-+class EnumHolder
-+{
-+ Q_GADGET
-+
-+public:
-+ enum class Enum16 : uint16_t {};
-+ enum class Enum32 : uint32_t {};
-+
-+ enum class EnumQt16 : uint16_t {};
-+ Q_ENUM(EnumQt16)
-+ enum class EnumQt32 : uint32_t {};
-+ Q_ENUM(EnumQt32)
-+};
-+
-+// Verify that enums are (de)serialized as their underlying type
-+TEST(TypesTest, enumSerialization)
-+{
-+ QByteArray data;
-+ QDataStream out(&data, QIODevice::WriteOnly);
-+
-+ // Serialize
-+ out << EnumHolder::Enum16(0xabcd);
-+ ASSERT_THAT(data.size(), Eq(2));
-+ out << EnumHolder::Enum32(0x123456);
-+ ASSERT_THAT(data.size(), Eq(6));
-+ out << EnumHolder::EnumQt16(0x4321);
-+ ASSERT_THAT(data.size(), Eq(8));
-+ out << EnumHolder::Enum32(0xfedcba);
-+ ASSERT_THAT(data.size(), Eq(12));
-+ ASSERT_THAT(out.status(), Eq(QDataStream::Status::Ok));
-+
-+ // Deserialize
-+ QDataStream in(data);
-+ EnumHolder::Enum16 enum16;
-+ EnumHolder::Enum32 enum32;
-+ EnumHolder::EnumQt16 enumQt16;
-+ EnumHolder::EnumQt32 enumQt32;
-+ in >> enum16 >> enum32 >> enumQt16 >> enumQt32;
-+ ASSERT_THAT(in.status(), Eq(QDataStream::Status::Ok));
-+ EXPECT_TRUE(in.atEnd());
-+
-+ EXPECT_THAT((int)enum16, Eq(0xabcd));
-+ EXPECT_THAT((int)enum32, Eq(0x123456));
-+ EXPECT_THAT((int)enumQt16, Eq(0x4321));
-+ EXPECT_THAT((int)enumQt32, Eq(0xfedcba));
-+}
-+
-+#include "typestest.moc"
Copied: quassel/repos/community-x86_64/quassel-0.13.1-qt5.14.patch (from rev 924288, quassel/trunk/quassel-0.13.1-qt5.14.patch)
===================================================================
--- quassel-0.13.1-qt5.14.patch (rev 0)
+++ quassel-0.13.1-qt5.14.patch 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1,118 @@
+commit c90702bdbc43fc542d7df6d5ec4b321912ca0035
+Author: Manuel Nickschas <sputnick at quassel-irc.org>
+Date: Tue Jan 7 18:34:54 2020 +0100
+
+ 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.
+
+diff --git a/src/common/types.h b/src/common/types.h
+index 467d9fb2..c4b9f364 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
+
+diff --git a/src/common/typestest.cpp b/src/common/typestest.cpp
+new file mode 100644
+index 00000000..04031c29
+--- /dev/null
++++ b/src/common/typestest.cpp
+@@ -0,0 +1,79 @@
++/***************************************************************************
++ * Copyright (C) 2005-2020 by the Quassel Project *
++ * devel at quassel-irc.org *
++ * *
++ * This program is free software; you can redistribute it and/or modify *
++ * it under the terms of the GNU General Public License as published by *
++ * the Free Software Foundation; either version 2 of the License, or *
++ * (at your option) version 3. *
++ * *
++ * This program is distributed in the hope that it will be useful, *
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
++ * GNU General Public License for more details. *
++ * *
++ * You should have received a copy of the GNU General Public License *
++ * along with this program; if not, write to the *
++ * Free Software Foundation, Inc., *
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
++ ***************************************************************************/
++
++#include <cstdint>
++
++#include <QByteArray>
++#include <QDataStream>
++#include <QObject>
++
++#include "testglobal.h"
++#include "types.h"
++
++using namespace ::testing;
++
++class EnumHolder
++{
++ Q_GADGET
++
++public:
++ enum class Enum16 : uint16_t {};
++ enum class Enum32 : uint32_t {};
++
++ enum class EnumQt16 : uint16_t {};
++ Q_ENUM(EnumQt16)
++ enum class EnumQt32 : uint32_t {};
++ Q_ENUM(EnumQt32)
++};
++
++// Verify that enums are (de)serialized as their underlying type
++TEST(TypesTest, enumSerialization)
++{
++ QByteArray data;
++ QDataStream out(&data, QIODevice::WriteOnly);
++
++ // Serialize
++ out << EnumHolder::Enum16(0xabcd);
++ ASSERT_THAT(data.size(), Eq(2));
++ out << EnumHolder::Enum32(0x123456);
++ ASSERT_THAT(data.size(), Eq(6));
++ out << EnumHolder::EnumQt16(0x4321);
++ ASSERT_THAT(data.size(), Eq(8));
++ out << EnumHolder::Enum32(0xfedcba);
++ ASSERT_THAT(data.size(), Eq(12));
++ ASSERT_THAT(out.status(), Eq(QDataStream::Status::Ok));
++
++ // Deserialize
++ QDataStream in(data);
++ EnumHolder::Enum16 enum16;
++ EnumHolder::Enum32 enum32;
++ EnumHolder::EnumQt16 enumQt16;
++ EnumHolder::EnumQt32 enumQt32;
++ in >> enum16 >> enum32 >> enumQt16 >> enumQt32;
++ ASSERT_THAT(in.status(), Eq(QDataStream::Status::Ok));
++ EXPECT_TRUE(in.atEnd());
++
++ EXPECT_THAT((int)enum16, Eq(0xabcd));
++ EXPECT_THAT((int)enum32, Eq(0x123456));
++ EXPECT_THAT((int)enumQt16, Eq(0x4321));
++ EXPECT_THAT((int)enumQt32, Eq(0xfedcba));
++}
++
++#include "typestest.moc"
Deleted: quassel.conf
===================================================================
--- quassel.conf 2021-04-25 17:02:18 UTC (rev 924288)
+++ quassel.conf 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1,2 +0,0 @@
-QUASSEL_USER=quassel
-LISTEN=127.0.0.1
Copied: quassel/repos/community-x86_64/quassel.conf (from rev 924288, quassel/trunk/quassel.conf)
===================================================================
--- quassel.conf (rev 0)
+++ quassel.conf 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1,2 @@
+QUASSEL_USER=quassel
+LISTEN=127.0.0.1
Deleted: quassel.service
===================================================================
--- quassel.service 2021-04-25 17:02:18 UTC (rev 924288)
+++ quassel.service 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1,14 +0,0 @@
-[Unit]
-Description=Quassel Core
-After=network.target postgresql.service
-Wants=postgresql.service
-
-[Service]
-User=quassel
-Group=quassel
-PIDFile=/var/run/quassel.pid
-EnvironmentFile=/etc/conf.d/quassel
-ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel
-
-[Install]
-WantedBy=multi-user.target
Copied: quassel/repos/community-x86_64/quassel.service (from rev 924288, quassel/trunk/quassel.service)
===================================================================
--- quassel.service (rev 0)
+++ quassel.service 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1,14 @@
+[Unit]
+Description=Quassel Core
+After=network.target postgresql.service
+Wants=postgresql.service
+
+[Service]
+User=quassel
+Group=quassel
+PIDFile=/var/run/quassel.pid
+EnvironmentFile=/etc/conf.d/quassel
+ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel
+
+[Install]
+WantedBy=multi-user.target
Deleted: quassel.sysusers
===================================================================
--- quassel.sysusers 2021-04-25 17:02:18 UTC (rev 924288)
+++ quassel.sysusers 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1 +0,0 @@
-u quassel - - /var/lib/quassel
Copied: quassel/repos/community-x86_64/quassel.sysusers (from rev 924288, quassel/trunk/quassel.sysusers)
===================================================================
--- quassel.sysusers (rev 0)
+++ quassel.sysusers 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1 @@
+u quassel - - /var/lib/quassel
Deleted: quassel.tmpfiles
===================================================================
--- quassel.tmpfiles 2021-04-25 17:02:18 UTC (rev 924288)
+++ quassel.tmpfiles 2021-04-25 17:02:37 UTC (rev 924289)
@@ -1 +0,0 @@
-d /var/lib/quassel - quassel quassel - -
Copied: quassel/repos/community-x86_64/quassel.tmpfiles (from rev 924288, quassel/trunk/quassel.tmpfiles)
===================================================================
--- quassel.tmpfiles (rev 0)
+++ quassel.tmpfiles 2021-04-25 17:02:37 UTC (rev 924289)
@@ -0,0 +1 @@
+d /var/lib/quassel - quassel quassel - -
More information about the arch-commits
mailing list