gentoo-overlay/net-im/kadu/kadu-5.0_alpha1_p20260805.ebuild
2026-10-13 20:05:13 +02:00

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."
}