73 lines
2.3 KiB
Bash
73 lines
2.3 KiB
Bash
# Copyright 2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit cmake xdg
|
|
|
|
# Snapshot of the qt6-port branch. Upstream (vogel/kadu) stopped in 2017 and
|
|
# is still Qt5-only, so this pulls from the fork carrying the Qt6 port.
|
|
KADU_COMMIT="6343507489d40520fa074b02be589ff02337fd02"
|
|
|
|
DESCRIPTION="Instant messenger for Gadu-Gadu and XMPP, ported to Qt6"
|
|
HOMEPAGE="https://github.com/legal-hkr/kadu https://github.com/vogel/kadu"
|
|
SRC_URI="https://github.com/legal-hkr/kadu/archive/${KADU_COMMIT}.tar.gz
|
|
-> ${P}.tar.gz"
|
|
S="${WORKDIR}/${PN}-${KADU_COMMIT}"
|
|
|
|
LICENSE="GPL-2+"
|
|
SLOT="0"
|
|
# Deliberately unkeyworded: this is an arbitrary commit off a development
|
|
# branch, not a release. Requires "**" in package.accept_keywords.
|
|
KEYWORDS=""
|
|
IUSE="+gadu"
|
|
|
|
# QtWebKit does not exist in Qt6 and the chat view is written directly against
|
|
# its C++ API, so it is replaced by inert stubs for now -- the chat window
|
|
# renders nothing. Everything else works; see the qt6-port branch history.
|
|
#
|
|
# Only kadu-core and, optionally, the Gadu-Gadu protocol plugin are built. The
|
|
# other 44 plugins have not been ported yet.
|
|
RDEPEND="
|
|
app-arch/libarchive
|
|
dev-libs/injeqt
|
|
dev-qt/qt5compat:6
|
|
dev-qt/qtbase:6[dbus,gui,network,widgets,xml]
|
|
dev-qt/qtdeclarative:6[widgets]
|
|
dev-qt/qtscxml:6
|
|
sys-libs/zlib
|
|
x11-libs/libX11
|
|
x11-libs/libXfixes
|
|
gadu? ( >=net-libs/libgadu-1.12.1[ssl] )
|
|
"
|
|
DEPEND="${RDEPEND}"
|
|
BDEPEND="dev-qt/qttools:6[linguist]"
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DKADU_PORT_BUILD_PLUGINS=$(usex gadu ON OFF)
|
|
-DENABLE_DEVELOPER_BUILD=OFF
|
|
-DINSTALL_SDK=OFF
|
|
)
|
|
|
|
use gadu && mycmakeargs+=( -DCOMPILE_PLUGINS=gadu_protocol )
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
pkg_postinst() {
|
|
xdg_pkg_postinst
|
|
|
|
elog "This is a Qt6 port in progress, not a finished release."
|
|
elog
|
|
elog "The chat window renders nothing: QtWebKit does not exist in Qt6 and"
|
|
elog "the chat view has to be rewritten rather than ported, because it"
|
|
elog "drives the DOM from C++ and QtWebEngine has no C++ DOM API."
|
|
elog
|
|
elog "Only kadu-core and the Gadu-Gadu protocol plugin are built. The"
|
|
elog "remaining 44 plugins have not been ported yet."
|
|
elog
|
|
elog "The X11-specific window management is inactive under Wayland: the"
|
|
elog "display is reached through a native interface that only exists on"
|
|
elog "the xcb platform plugin."
|
|
}
|