summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2025-01-28 23:07:57 +0100
committerConrad Kostecki <conikost@gentoo.org>2025-01-28 23:23:31 +0100
commit7880b6eec5c547dd8f772726c5b37b8ac5e9bfeb (patch)
tree2abb06e13613c2a736b72dba0220d25b00f8e927 /net-im
parentpackage.mask: mask net-wireless/linssid for last-rite (diff)
downloadgentoo-7880b6eec5c547dd8f772726c5b37b8ac5e9bfeb.tar.gz
gentoo-7880b6eec5c547dd8f772726c5b37b8ac5e9bfeb.tar.bz2
gentoo-7880b6eec5c547dd8f772726c5b37b8ac5e9bfeb.zip
net-im/libcommuni: add support for qt6
Bug: https://bugs.gentoo.org/948977 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'net-im')
-rw-r--r--net-im/libcommuni/files/libcommuni-3.7.0-qt6.patch116
-rw-r--r--net-im/libcommuni/libcommuni-3.7.0-r2.ebuild79
2 files changed, 195 insertions, 0 deletions
diff --git a/net-im/libcommuni/files/libcommuni-3.7.0-qt6.patch b/net-im/libcommuni/files/libcommuni-3.7.0-qt6.patch
new file mode 100644
index 000000000000..e0964a652522
--- /dev/null
+++ b/net-im/libcommuni/files/libcommuni-3.7.0-qt6.patch
@@ -0,0 +1,116 @@
+From 8f5e706960648ed9c87968bb1526905d39cb9c52 Mon Sep 17 00:00:00 2001
+From: Kaj-Michael Lang <milang@tal.org>
+Date: Fri, 28 Apr 2023 20:11:52 +0300
+Subject: [PATCH 1/5] src: Use core5compat if building on Qt 6
+
+---
+ src/module_build.pri | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/module_build.pri b/src/module_build.pri
+index 75205a24..6772d725 100644
+--- a/src/module_build.pri
++++ b/src/module_build.pri
+@@ -7,6 +7,9 @@ isEmpty(IRC_MODULE):error(IRC_MODULE must be set)
+ TEMPLATE = lib
+ TARGET = $$qtLibraryTarget($$IRC_MODULE)
+ QT = core network
++
++greaterThan(QT_MAJOR_VERSION,5): QT += core5compat
++
+ !verbose:CONFIG += silent
+ contains(QT_CONFIG, debug_and_release) {
+ win32|mac:!wince*:!win32-msvc:!macx-xcode:CONFIG += debug_and_release build_all
+
+From c57dc67df4fef310f55ecfa55d3e6c5d8eb34826 Mon Sep 17 00:00:00 2001
+From: Kaj-Michael Lang <milang@tal.org>
+Date: Fri, 28 Apr 2023 20:12:32 +0300
+Subject: [PATCH 2/5] tests: Use core5compat if building on Qt 6
+
+---
+ tests/tests.pri | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/tests.pri b/tests/tests.pri
+index 04588b05..c3f74ad9 100644
+--- a/tests/tests.pri
++++ b/tests/tests.pri
+@@ -19,6 +19,8 @@ CONFIG(debug, debug|release) {
+ MOC_DIR = release
+ }
+
++greaterThan(QT_MAJOR_VERSION,5): QT += core5compat
++
+ IRC_BUILDDIR = $$OUT_PWD/../../..
+
+ IRC_MODULES = IrcCore IrcModel IrcUtil
+
+From b13cbca833e91a346e5e630a3a2995a49663c142 Mon Sep 17 00:00:00 2001
+From: Kaj-Michael Lang <milang@tal.org>
+Date: Fri, 28 Apr 2023 20:13:12 +0300
+Subject: [PATCH 3/5] tests: Use fromSecsSinceEpoch instead of fromTime_t that
+ has been deprecated in Qt 5, and removed in Qt 6.
+
+---
+ tests/auto/ircconnection/tst_ircconnection.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/auto/ircconnection/tst_ircconnection.cpp b/tests/auto/ircconnection/tst_ircconnection.cpp
+index 76e36a3d..7b7b78f5 100644
+--- a/tests/auto/ircconnection/tst_ircconnection.cpp
++++ b/tests/auto/ircconnection/tst_ircconnection.cpp
+@@ -1334,7 +1334,7 @@ void tst_IrcConnection::testMessageComposer()
+ QCOMPARE(filter.values.value("account").toString(), QString("qtaccountant"));
+ QEXPECT_FAIL("", "RPL_WHOISHOST :is connecting from *@88.95.51.136 88.95.51.136", Continue);
+ QCOMPARE(filter.values.value("address").toString(), QString("88.95.51.136"));
+- QCOMPARE(filter.values.value("since").toDateTime(), QDateTime::fromTime_t(1440706032));
++ QCOMPARE(filter.values.value("since").toDateTime(), QDateTime::fromSecsSinceEpoch(1440706032));
+ QCOMPARE(filter.values.value("idle").toInt(), 15);
+ QCOMPARE(filter.values.value("secure").toBool(), true);
+ QCOMPARE(filter.values.value("channels").toStringList(), QStringList() << "+#jpnurmi");
+
+From aab157c89bdbf41e85f33823200c472c2b055a9f Mon Sep 17 00:00:00 2001
+From: Kaj-Michael Lang <milang@tal.org>
+Date: Fri, 28 Apr 2023 20:14:23 +0300
+Subject: [PATCH 4/5] examples: Use core5compat if building on Qt 6
+
+---
+ examples/bot/bot.pro | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/examples/bot/bot.pro b/examples/bot/bot.pro
+index 1f4f4346..f73c7c77 100644
+--- a/examples/bot/bot.pro
++++ b/examples/bot/bot.pro
+@@ -10,6 +10,8 @@ CONFIG += console
+ CONFIG -= app_bundle
+ QT = core network
+
++greaterThan(QT_MAJOR_VERSION,5): QT += core5compat
++
+ # Input
+ HEADERS += ircbot.h
+ SOURCES += ircbot.cpp main.cpp
+
+From 76fed16afa7c2e028b11820a857d6d9e8868208f Mon Sep 17 00:00:00 2001
+From: Kaj-Michael Lang <milang@tal.org>
+Date: Fri, 28 Apr 2023 20:14:47 +0300
+Subject: [PATCH 5/5] examples: setMargin() is deprected in Qt 5 and removed in
+ Qt 6, just remove it
+
+---
+ examples/client/ircclient.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/examples/client/ircclient.cpp b/examples/client/ircclient.cpp
+index 38c21a65..69e7600d 100644
+--- a/examples/client/ircclient.cpp
++++ b/examples/client/ircclient.cpp
+@@ -238,7 +238,6 @@ void IrcClient::createLayout()
+ QWidget* container = new QWidget(this);
+ QVBoxLayout* layout = new QVBoxLayout(container);
+ layout->setSpacing(0);
+- layout->setMargin(0);
+ layout->addWidget(splitter);
+ layout->addWidget(lineEdit);
+
diff --git a/net-im/libcommuni/libcommuni-3.7.0-r2.ebuild b/net-im/libcommuni/libcommuni-3.7.0-r2.ebuild
new file mode 100644
index 000000000000..184cc23c3e79
--- /dev/null
+++ b/net-im/libcommuni/libcommuni-3.7.0-r2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils
+
+DESCRIPTION="A cross-platform IRC framework written with Qt"
+HOMEPAGE="https://communi.github.io/"
+SRC_URI="https://github.com/communi/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples qml test +uchardet"
+REQUIRED_USE="examples? ( qml )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-qt/qt5compat:6
+ dev-qt/qtbase:6[network]
+ examples? ( dev-qt/qtbase:6[gui,X] )
+ qml? (
+ dev-qt/qt5compat:6[qml]
+ dev-qt/qtdeclarative:6
+ )
+ uchardet? ( app-i18n/uchardet )
+ !uchardet? ( dev-libs/icu:= )
+"
+
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-qt/qttest:5 )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.7.0-qt6.patch" )
+
+src_configure() {
+ local myqmakeargs=( libcommuni.pro
+ # Disables compile run-time benchmarks, as they don't make any sense
+ -config no_benchmarks
+ # Is needed for fixing the QA Notice: The following files contain insecure RUNPATHs
+ -config no_rpath
+ # Compile libcommuni always in Release mode, as Debug seems to do nothing
+ -config release
+ # Don't silence all compile messages
+ -config verbose
+ -config $(usex examples '' 'no_')examples
+ -config $(usex qml '' 'no_')qml
+ -config $(usex test '' 'no_')tests
+ -config $(usex uchardet 'no_' '')icu
+ -config $(usex uchardet '' 'no_')uchardet )
+
+ eqmake6 "${myqmakeargs[@]}"
+}
+
+src_test() {
+ # This is a hack to delete the existing LD_LIBRARY_PATH and set a new one,
+ # otherwise a test will fail, because it uses the system installed lib instead of the new compiled lib.
+ # The test will fail, when libcommuni is emerged with USE="uchardet" and
+ # libcommuni is already installed with USE="-uchardat", or the other way around.
+ find "${S}" -type f -name 'target_wrapper.sh' -exec sed -i -e "/.*LD_LIBRARY_PATH.*/d" {} \; || die
+ local -x LD_LIBRARY_PATH="${S}/lib"
+
+ default
+}
+
+src_install() {
+ emake install INSTALL_ROOT="${D}"
+
+ if use examples; then
+ local examples=( "bot" "client" "minimal" "qmlbot" "quick" )
+ for example in ${examples[@]}; do
+ newbin examples/"${example}"/"${example}" libcommuni."${example}"
+ done
+ fi
+
+ einstalldocs
+}