summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-04-29 10:29:53 +0100
committerSam James <sam@gentoo.org>2022-04-29 11:20:57 +0100
commite32dff1babd97ecdad3fda186cfe733bd86f8f80 (patch)
tree166a38f0865b95d2a6832cc0fb08be3e58f0dfbf /net-irc
parentnet-irc/ngircd: drop 26.1-r2 (diff)
downloadgentoo-e32dff1babd97ecdad3fda186cfe733bd86f8f80.tar.gz
gentoo-e32dff1babd97ecdad3fda186cfe733bd86f8f80.tar.bz2
gentoo-e32dff1babd97ecdad3fda186cfe733bd86f8f80.zip
net-irc/quassel: drop 0.13.1-r3, fix USE=gui description
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/quassel/Manifest1
-rw-r--r--net-irc/quassel/files/quassel-0.13.1-qt5.14.patch118
-rw-r--r--net-irc/quassel/metadata.xml2
-rw-r--r--net-irc/quassel/quassel-0.13.1-r3.ebuild183
4 files changed, 1 insertions, 303 deletions
diff --git a/net-irc/quassel/Manifest b/net-irc/quassel/Manifest
index dc37b4072457..43a0bf9abda1 100644
--- a/net-irc/quassel/Manifest
+++ b/net-irc/quassel/Manifest
@@ -1,2 +1 @@
-DIST quassel-0.13.1.tar.bz2 4289663 BLAKE2B 1d5252efe3febd26e7d04f6533f551316d58b5e4a7c143cc81dd0cf6a3602e28a57de4c73c86fb668e43bf8d01049456d1f5cf37a73f683b9c8b6dd9d78ee4bd SHA512 4ed55e81b1638c8851ddae5d9c9d23a1c2cea92f307e19f426873c2600d8e183898d3ed7c290f2ea5d1b8c5e1be7f9ffcc3e8c3c0193d080fc879b10cc3a962c
DIST quassel-0.14.0.tar.bz2 4774297 BLAKE2B c17c64a2ed6c414c94c12b2fa0b8abf40810608e3e4f35df19db597444e09594efc9569c65855c3df5e2c211c2d65a46482f20c3d912c87140c66fa4f022b3b8 SHA512 ea6b9723acab5ce73f760692770c1340c03bf277d2c99a2520345bfb6a7bb6fdc64a01dccfd7026341b46ee727821e1bcc2f487be72dfbc155f1de1ad264763f
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
deleted file mode 100644
index f0305ea53ce7..000000000000
--- a/net-irc/quassel/files/quassel-0.13.1-qt5.14.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-commit c90702bdbc43fc542d7df6d5ec4b321912ca0035
-Author: Manuel Nickschas <sputnick@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@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"
diff --git a/net-irc/quassel/metadata.xml b/net-irc/quassel/metadata.xml
index 452b0d024739..c7ddcb9b20bf 100644
--- a/net-irc/quassel/metadata.xml
+++ b/net-irc/quassel/metadata.xml
@@ -38,7 +38,7 @@
<flag name="urlpreview">
Use QtWebEngine rendering engine for showing URL thumbnails.
</flag>
- <flag name="X">
+ <flag name="gui">
Build the Qt5 GUI client for quassel. If this USE flag is
disabled, the GUI is not built, and cannot be used. You might
want to disable this on the server, but you need it enabled on
diff --git a/net-irc/quassel/quassel-0.13.1-r3.ebuild b/net-irc/quassel/quassel-0.13.1-r3.ebuild
deleted file mode 100644
index 6e710d92abd3..000000000000
--- a/net-irc/quassel/quassel-0.13.1-r3.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake xdg-utils pax-utils systemd
-
-if [[ ${PV} != *9999* ]]; then
- MY_P=${PN}-${PV/_/-}
- SRC_URI="https://quassel-irc.org/pub/${MY_P}.tar.bz2"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~sparc-solaris"
- S="${WORKDIR}/${MY_P}"
-else
- EGIT_REPO_URI=( "https://github.com/${PN}/${PN}" )
- inherit git-r3
-fi
-
-DESCRIPTION="Qt/KDE IRC client supporting a remote daemon for 24/7 connectivity"
-HOMEPAGE="https://quassel-irc.org/"
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="bundled-icons crypt +dbus debug kde ldap monolithic oxygen postgres +server
-snorenotify spell +ssl syslog urlpreview X"
-
-SERVER_DEPEND="
- acct-group/quassel
- acct-user/quassel
- dev-qt/qtscript:5
- crypt? ( app-crypt/qca:2[ssl] )
- ldap? ( net-nds/openldap:= )
- postgres? ( dev-qt/qtsql:5[postgres] )
- !postgres? ( dev-qt/qtsql:5[sqlite] dev-db/sqlite:3[threadsafe(+),-secure-delete] )
- syslog? ( virtual/logger )
-"
-
-GUI_DEPEND="
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtwidgets:5
- !bundled-icons? (
- kde-frameworks/breeze-icons:5
- oxygen? ( kde-frameworks/oxygen-icons:5 )
- )
- dbus? (
- >=dev-libs/libdbusmenu-qt-0.9.3_pre20140619
- dev-qt/qtdbus:5
- )
- kde? (
- kde-frameworks/kconfigwidgets:5
- kde-frameworks/kcoreaddons:5
- kde-frameworks/knotifications:5
- kde-frameworks/knotifyconfig:5
- kde-frameworks/ktextwidgets:5
- kde-frameworks/kwidgetsaddons:5
- kde-frameworks/kxmlgui:5
- )
- snorenotify? ( >=x11-libs/snorenotify-0.7.0 )
- spell? ( kde-frameworks/sonnet:5 )
- urlpreview? ( dev-qt/qtwebengine:5[widgets] )
-"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5[ssl?]
- sys-libs/zlib
- monolithic? (
- ${SERVER_DEPEND}
- ${GUI_DEPEND}
- )
- !monolithic? (
- server? ( ${SERVER_DEPEND} )
- X? ( ${GUI_DEPEND} )
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-qt/linguist-tools:5
- kde-frameworks/extra-cmake-modules
-"
-
-DOCS=( AUTHORS ChangeLog README.md )
-
-REQUIRED_USE="
- || ( X server monolithic )
- crypt? ( || ( server monolithic ) )
- kde? ( dbus spell )
- ldap? ( || ( server monolithic ) )
- postgres? ( || ( server monolithic ) )
- snorenotify? ( || ( X monolithic ) )
- spell? ( || ( X monolithic ) )
- syslog? ( || ( server monolithic ) )
-"
-
-PATCHES=( "${FILESDIR}/${P}-qt5.14.patch" )
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_QT4=OFF
- -DUSE_QT5=ON
- -DUSE_CCACHE=OFF
- -DCMAKE_SKIP_RPATH=ON
- -DEMBED_DATA=OFF
- -DWITH_WEBKIT=OFF
- -DWITH_BUNDLED_ICONS=$(usex bundled-icons)
- $(cmake_use_find_package dbus dbusmenu-qt5)
- $(cmake_use_find_package dbus Qt5DBus)
- -DWITH_KDE=$(usex kde)
- -DWITH_LDAP=$(usex ldap)
- -DWANT_MONO=$(usex monolithic)
- -DWITH_OXYGEN_ICONS=$(usex oxygen)
- -DWANT_CORE=$(usex server)
- $(cmake_use_find_package snorenotify LibsnoreQt5)
- $(cmake_use_find_package spell KF5Sonnet)
- -DWITH_WEBENGINE=$(usex urlpreview)
- -DWANT_QTCLIENT=$(usex X)
- )
-
- if use server || use monolithic; then
- mycmakeargs+=( $(cmake_use_find_package crypt QCA2-QT5) )
- fi
-
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if use server ; then
- # needs PAX marking wrt bug#346255
- pax-mark m "${ED}/usr/bin/quasselcore"
-
- # init scripts & systemd unit
- newinitd "${FILESDIR}"/quasselcore.init-r1 quasselcore
- newconfd "${FILESDIR}"/quasselcore.conf-r1 quasselcore
- systemd_dounit "${FILESDIR}"/quasselcore.service
-
- # logrotate
- insinto /etc/logrotate.d
- newins "${FILESDIR}/quassel.logrotate" quassel
- fi
-}
-
-pkg_postinst() {
- if use monolithic && use ssl ; then
- elog "Information on how to enable SSL support for client/core connections"
- elog "is available at http://bugs.quassel-irc.org/projects/quassel-irc/wiki/Client-Core_SSL_support."
- fi
-
- if use server; then
- einfo "If you want to generate SSL certificate remember to run:"
- einfo " emerge --config =${CATEGORY}/${PF}"
- fi
-
- if use server || use monolithic ; then
- einfo "Quassel can use net-misc/oidentd package if installed on your system."
- einfo "Consider installing it if you want to run quassel within identd daemon."
- fi
-
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
-
-pkg_config() {
- if use server && use ssl; then
- # generate the pem file only when it does not already exist
- QUASSEL_DIR=/var/lib/${PN}
- if [ ! -f "${QUASSEL_DIR}/quasselCert.pem" ]; then
- einfo "Generating QUASSEL SSL certificate to: \"${QUASSEL_DIR}/quasselCert.pem\""
- openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
- -keyout "${QUASSEL_DIR}/quasselCert.pem" \
- -out "${QUASSEL_DIR}/quasselCert.pem"
- # permissions for the key
- chown ${PN}:${PN} "${QUASSEL_DIR}/quasselCert.pem"
- chmod 400 "${QUASSEL_DIR}/quasselCert.pem"
- else
- einfo "Certificate \"${QUASSEL_DIR}/quasselCert.pem\" already exists."
- einfo "Remove it if you want to create new one."
- fi
- fi
-}