Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-irc/quassel/, net-irc/quassel/files/
Date: Fri, 29 Apr 2022 10:21:59
Message-Id: 1651227657.e32dff1babd97ecdad3fda186cfe733bd86f8f80.sam@gentoo
1 commit: e32dff1babd97ecdad3fda186cfe733bd86f8f80
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 29 09:29:53 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 29 10:20:57 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e32dff1b
7
8 net-irc/quassel: drop 0.13.1-r3, fix USE=gui description
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 net-irc/quassel/Manifest | 1 -
13 net-irc/quassel/files/quassel-0.13.1-qt5.14.patch | 118 --------------
14 net-irc/quassel/metadata.xml | 2 +-
15 net-irc/quassel/quassel-0.13.1-r3.ebuild | 183 ----------------------
16 4 files changed, 1 insertion(+), 303 deletions(-)
17
18 diff --git a/net-irc/quassel/Manifest b/net-irc/quassel/Manifest
19 index dc37b4072457..43a0bf9abda1 100644
20 --- a/net-irc/quassel/Manifest
21 +++ b/net-irc/quassel/Manifest
22 @@ -1,2 +1 @@
23 -DIST quassel-0.13.1.tar.bz2 4289663 BLAKE2B 1d5252efe3febd26e7d04f6533f551316d58b5e4a7c143cc81dd0cf6a3602e28a57de4c73c86fb668e43bf8d01049456d1f5cf37a73f683b9c8b6dd9d78ee4bd SHA512 4ed55e81b1638c8851ddae5d9c9d23a1c2cea92f307e19f426873c2600d8e183898d3ed7c290f2ea5d1b8c5e1be7f9ffcc3e8c3c0193d080fc879b10cc3a962c
24 DIST quassel-0.14.0.tar.bz2 4774297 BLAKE2B c17c64a2ed6c414c94c12b2fa0b8abf40810608e3e4f35df19db597444e09594efc9569c65855c3df5e2c211c2d65a46482f20c3d912c87140c66fa4f022b3b8 SHA512 ea6b9723acab5ce73f760692770c1340c03bf277d2c99a2520345bfb6a7bb6fdc64a01dccfd7026341b46ee727821e1bcc2f487be72dfbc155f1de1ad264763f
25
26 diff --git a/net-irc/quassel/files/quassel-0.13.1-qt5.14.patch b/net-irc/quassel/files/quassel-0.13.1-qt5.14.patch
27 deleted file mode 100644
28 index f0305ea53ce7..000000000000
29 --- a/net-irc/quassel/files/quassel-0.13.1-qt5.14.patch
30 +++ /dev/null
31 @@ -1,118 +0,0 @@
32 -commit c90702bdbc43fc542d7df6d5ec4b321912ca0035
33 -Author: Manuel Nickschas <sputnick@×××××××××××.org>
34 -Date: Tue Jan 7 18:34:54 2020 +0100
35 -
36 - common: Disable enum type stream operators for Qt >= 5.14
37 -
38 - Starting from version 5.14, Qt provides stream operators for enum
39 - types, which collide with the ones we ship in types.h. Disable
40 - Quassel's stream operators when compiling against Qt 5.14 or later.
41 -
42 - Add a unit test that ensures that enum serialization honors the width
43 - of the underlying type.
44 -
45 -diff --git a/src/common/types.h b/src/common/types.h
46 -index 467d9fb2..c4b9f364 100644
47 ---- a/src/common/types.h
48 -+++ b/src/common/types.h
49 -@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
50 - typedef QList<MsgId> MsgIdList;
51 - typedef QList<BufferId> BufferIdList;
52 -
53 -+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
54 - /**
55 - * Catch-all stream serialization operator for enum types.
56 - *
57 -@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
58 - value = static_cast<T>(v);
59 - return in;
60 - }
61 -+#endif
62 -
63 - // Exceptions
64 -
65 -diff --git a/src/common/typestest.cpp b/src/common/typestest.cpp
66 -new file mode 100644
67 -index 00000000..04031c29
68 ---- /dev/null
69 -+++ b/src/common/typestest.cpp
70 -@@ -0,0 +1,79 @@
71 -+/***************************************************************************
72 -+ * Copyright (C) 2005-2020 by the Quassel Project *
73 -+ * devel@×××××××××××.org *
74 -+ * *
75 -+ * This program is free software; you can redistribute it and/or modify *
76 -+ * it under the terms of the GNU General Public License as published by *
77 -+ * the Free Software Foundation; either version 2 of the License, or *
78 -+ * (at your option) version 3. *
79 -+ * *
80 -+ * This program is distributed in the hope that it will be useful, *
81 -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
82 -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
83 -+ * GNU General Public License for more details. *
84 -+ * *
85 -+ * You should have received a copy of the GNU General Public License *
86 -+ * along with this program; if not, write to the *
87 -+ * Free Software Foundation, Inc., *
88 -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
89 -+ ***************************************************************************/
90 -+
91 -+#include <cstdint>
92 -+
93 -+#include <QByteArray>
94 -+#include <QDataStream>
95 -+#include <QObject>
96 -+
97 -+#include "testglobal.h"
98 -+#include "types.h"
99 -+
100 -+using namespace ::testing;
101 -+
102 -+class EnumHolder
103 -+{
104 -+ Q_GADGET
105 -+
106 -+public:
107 -+ enum class Enum16 : uint16_t {};
108 -+ enum class Enum32 : uint32_t {};
109 -+
110 -+ enum class EnumQt16 : uint16_t {};
111 -+ Q_ENUM(EnumQt16)
112 -+ enum class EnumQt32 : uint32_t {};
113 -+ Q_ENUM(EnumQt32)
114 -+};
115 -+
116 -+// Verify that enums are (de)serialized as their underlying type
117 -+TEST(TypesTest, enumSerialization)
118 -+{
119 -+ QByteArray data;
120 -+ QDataStream out(&data, QIODevice::WriteOnly);
121 -+
122 -+ // Serialize
123 -+ out << EnumHolder::Enum16(0xabcd);
124 -+ ASSERT_THAT(data.size(), Eq(2));
125 -+ out << EnumHolder::Enum32(0x123456);
126 -+ ASSERT_THAT(data.size(), Eq(6));
127 -+ out << EnumHolder::EnumQt16(0x4321);
128 -+ ASSERT_THAT(data.size(), Eq(8));
129 -+ out << EnumHolder::Enum32(0xfedcba);
130 -+ ASSERT_THAT(data.size(), Eq(12));
131 -+ ASSERT_THAT(out.status(), Eq(QDataStream::Status::Ok));
132 -+
133 -+ // Deserialize
134 -+ QDataStream in(data);
135 -+ EnumHolder::Enum16 enum16;
136 -+ EnumHolder::Enum32 enum32;
137 -+ EnumHolder::EnumQt16 enumQt16;
138 -+ EnumHolder::EnumQt32 enumQt32;
139 -+ in >> enum16 >> enum32 >> enumQt16 >> enumQt32;
140 -+ ASSERT_THAT(in.status(), Eq(QDataStream::Status::Ok));
141 -+ EXPECT_TRUE(in.atEnd());
142 -+
143 -+ EXPECT_THAT((int)enum16, Eq(0xabcd));
144 -+ EXPECT_THAT((int)enum32, Eq(0x123456));
145 -+ EXPECT_THAT((int)enumQt16, Eq(0x4321));
146 -+ EXPECT_THAT((int)enumQt32, Eq(0xfedcba));
147 -+}
148 -+
149 -+#include "typestest.moc"
150
151 diff --git a/net-irc/quassel/metadata.xml b/net-irc/quassel/metadata.xml
152 index 452b0d024739..c7ddcb9b20bf 100644
153 --- a/net-irc/quassel/metadata.xml
154 +++ b/net-irc/quassel/metadata.xml
155 @@ -38,7 +38,7 @@
156 <flag name="urlpreview">
157 Use QtWebEngine rendering engine for showing URL thumbnails.
158 </flag>
159 - <flag name="X">
160 + <flag name="gui">
161 Build the Qt5 GUI client for quassel. If this USE flag is
162 disabled, the GUI is not built, and cannot be used. You might
163 want to disable this on the server, but you need it enabled on
164
165 diff --git a/net-irc/quassel/quassel-0.13.1-r3.ebuild b/net-irc/quassel/quassel-0.13.1-r3.ebuild
166 deleted file mode 100644
167 index 6e710d92abd3..000000000000
168 --- a/net-irc/quassel/quassel-0.13.1-r3.ebuild
169 +++ /dev/null
170 @@ -1,183 +0,0 @@
171 -# Copyright 1999-2022 Gentoo Authors
172 -# Distributed under the terms of the GNU General Public License v2
173 -
174 -EAPI=7
175 -
176 -inherit cmake xdg-utils pax-utils systemd
177 -
178 -if [[ ${PV} != *9999* ]]; then
179 - MY_P=${PN}-${PV/_/-}
180 - SRC_URI="https://quassel-irc.org/pub/${MY_P}.tar.bz2"
181 - KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~sparc-solaris"
182 - S="${WORKDIR}/${MY_P}"
183 -else
184 - EGIT_REPO_URI=( "https://github.com/${PN}/${PN}" )
185 - inherit git-r3
186 -fi
187 -
188 -DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity"
189 -HOMEPAGE="https://quassel-irc.org/"
190 -LICENSE="GPL-3"
191 -SLOT="0"
192 -IUSE="bundled-icons crypt +dbus debug kde ldap monolithic oxygen postgres +server
193 -snorenotify spell +ssl syslog urlpreview X"
194 -
195 -SERVER_DEPEND="
196 - acct-group/quassel
197 - acct-user/quassel
198 - dev-qt/qtscript:5
199 - crypt? ( app-crypt/qca:2[ssl] )
200 - ldap? ( net-nds/openldap:= )
201 - postgres? ( dev-qt/qtsql:5[postgres] )
202 - !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
203 - syslog? ( virtual/logger )
204 -"
205 -
206 -GUI_DEPEND="
207 - dev-qt/qtgui:5
208 - dev-qt/qtmultimedia:5
209 - dev-qt/qtwidgets:5
210 - !bundled-icons? (
211 - kde-frameworks/breeze-icons:5
212 - oxygen? ( kde-frameworks/oxygen-icons:5 )
213 - )
214 - dbus? (
215 - >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619
216 - dev-qt/qtdbus:5
217 - )
218 - kde? (
219 - kde-frameworks/kconfigwidgets:5
220 - kde-frameworks/kcoreaddons:5
221 - kde-frameworks/knotifications:5
222 - kde-frameworks/knotifyconfig:5
223 - kde-frameworks/ktextwidgets:5
224 - kde-frameworks/kwidgetsaddons:5
225 - kde-frameworks/kxmlgui:5
226 - )
227 - snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
228 - spell? ( kde-frameworks/sonnet:5 )
229 - urlpreview? ( dev-qt/qtwebengine:5[widgets] )
230 -"
231 -
232 -DEPEND="
233 - dev-qt/qtcore:5
234 - dev-qt/qtnetwork:5[ssl?]
235 - sys-libs/zlib
236 - monolithic? (
237 - ${SERVER_DEPEND}
238 - ${GUI_DEPEND}
239 - )
240 - !monolithic? (
241 - server? ( ${SERVER_DEPEND} )
242 - X? ( ${GUI_DEPEND} )
243 - )
244 -"
245 -RDEPEND="${DEPEND}"
246 -BDEPEND="
247 - dev-qt/linguist-tools:5
248 - kde-frameworks/extra-cmake-modules
249 -"
250 -
251 -DOCS=( AUTHORS ChangeLog README.md )
252 -
253 -REQUIRED_USE="
254 - || ( X server monolithic )
255 - crypt? ( || ( server monolithic ) )
256 - kde? ( dbus spell )
257 - ldap? ( || ( server monolithic ) )
258 - postgres? ( || ( server monolithic ) )
259 - snorenotify? ( || ( X monolithic ) )
260 - spell? ( || ( X monolithic ) )
261 - syslog? ( || ( server monolithic ) )
262 -"
263 -
264 -PATCHES=( "${FILESDIR}/${P}-qt5.14.patch" )
265 -
266 -src_configure() {
267 - local mycmakeargs=(
268 - -DUSE_QT4=OFF
269 - -DUSE_QT5=ON
270 - -DUSE_CCACHE=OFF
271 - -DCMAKE_SKIP_RPATH=ON
272 - -DEMBED_DATA=OFF
273 - -DWITH_WEBKIT=OFF
274 - -DWITH_BUNDLED_ICONS=$(usex bundled-icons)
275 - $(cmake_use_find_package dbus dbusmenu-qt5)
276 - $(cmake_use_find_package dbus Qt5DBus)
277 - -DWITH_KDE=$(usex kde)
278 - -DWITH_LDAP=$(usex ldap)
279 - -DWANT_MONO=$(usex monolithic)
280 - -DWITH_OXYGEN_ICONS=$(usex oxygen)
281 - -DWANT_CORE=$(usex server)
282 - $(cmake_use_find_package snorenotify LibsnoreQt5)
283 - $(cmake_use_find_package spell KF5Sonnet)
284 - -DWITH_WEBENGINE=$(usex urlpreview)
285 - -DWANT_QTCLIENT=$(usex X)
286 - )
287 -
288 - if use server || use monolithic; then
289 - mycmakeargs+=( $(cmake_use_find_package crypt QCA2-QT5) )
290 - fi
291 -
292 - cmake_src_configure
293 -}
294 -
295 -src_install() {
296 - cmake_src_install
297 -
298 - if use server ; then
299 - # needs PAX marking wrt bug#346255
300 - pax-mark m "${ED}/usr/bin/quasselcore"
301 -
302 - # init scripts & systemd unit
303 - newinitd "${FILESDIR}"/quasselcore.init-r1 quasselcore
304 - newconfd "${FILESDIR}"/quasselcore.conf-r1 quasselcore
305 - systemd_dounit "${FILESDIR}"/quasselcore.service
306 -
307 - # logrotate
308 - insinto /etc/logrotate.d
309 - newins "${FILESDIR}/quassel.logrotate" quassel
310 - fi
311 -}
312 -
313 -pkg_postinst() {
314 - if use monolithic && use ssl ; then
315 - elog "Information on how to enable SSL support for client/core connections"
316 - elog "is available at http://bugs.quassel-irc.org/projects/quassel-irc/wiki/Client-Core_SSL_support."
317 - fi
318 -
319 - if use server; then
320 - einfo "If you want to generate SSL certificate remember to run:"
321 - einfo " emerge --config =${CATEGORY}/${PF}"
322 - fi
323 -
324 - if use server || use monolithic ; then
325 - einfo "Quassel can use net-misc/oidentd package if installed on your system."
326 - einfo "Consider installing it if you want to run quassel within identd daemon."
327 - fi
328 -
329 - xdg_icon_cache_update
330 -}
331 -
332 -pkg_postrm() {
333 - xdg_icon_cache_update
334 -}
335 -
336 -pkg_config() {
337 - if use server && use ssl; then
338 - # generate the pem file only when it does not already exist
339 - QUASSEL_DIR=/var/lib/${PN}
340 - if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then
341 - einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\""
342 - openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
343 - -keyout "${QUASSEL_DIR}/quasselCert.pem" \
344 - -out "${QUASSEL_DIR}/quasselCert.pem"
345 - # permissions for the key
346 - chown ${PN}:${PN} "${QUASSEL_DIR}/quasselCert.pem"
347 - chmod 400 "${QUASSEL_DIR}/quasselCert.pem"
348 - else
349 - einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists."
350 - einfo "Remove it if you want to create new one."
351 - fi
352 - fi
353 -}