# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 ECM_HANDBOOK="forceoptional" ECM_TEST="forceoptional" PVCUT=$(ver_cut 1-3) KFMIN=5.115.0 QTMIN=5.15.12 inherit ecm gear.kde.org DESCRIPTION="Multi-protocol IM client based on KDE Frameworks" HOMEPAGE="https://apps.kde.org/kopete/" LICENSE="GPL-2" # TODO: CHECK SLOT="5" KEYWORDS="" IUSE="ssl v4l" # Available plugins # addbookmarks: NO DEPS # alias: NO DEPS (disabled upstream) # autoreplace: NO DEPS # contactnotes: NO DEPS # cryptography: BROKEN (app-crypt/gpgme[cxx,qt5], kde-apps/libkleo:5) # highlight: NO DEPS # history: NO DEPS # latex: virtual/latex as RDEPEND # nowlistening: NO DEPS # otr: libotr # pipes: NO DEPS # privacy: NO DEPS # statistics: dev-db/sqlite:3 # texteffect: NO DEPS # translator: NO DEPS # urlpicpreview: NO DEPS # webpresence: libxml2 libxslt # NOTE: By default we enable all plugins that don't have any dependencies PLUGINS="+addbookmarks +autoreplace +contactnotes +highlight history latex nowlistening otr pipes +privacy +statistics +texteffect translator +urlpicpreview webpresence" # Available protocols # gadu: net-libs/libgadu @since 4.3 # groupwise: app-crypt/qca:2 # irc: NO DEPS, probably will fail so inform user about it # meanwhile: net-libs/meanwhile # telepathy: net-libs/decibel # testbed: NO DEPS # winpopup: NO DEPS (we're adding samba as RDEPEND so it works) # zeroconf (bonjour): NO DEPS PROTOCOLS="gadu groupwise meanwhile testbed winpopup zeroconf" # disabled protocols # irc: NO DEPS # jingle: media-libs/speex net-libs/ortp DISABLED BY UPSTREAM # qq: NO DEPS # telepathy: net-libs/decibel # sms (until fixed) # oscar (until fixed: KDE-bug #402647 # xmpp: continuously broken, KDE-bugs #304722, 412228, 457330, 410938, ... IUSE="${IUSE} ${PLUGINS} ${PROTOCOLS}" # tests hang, last checked for 4.2.96 RESTRICT="test" COMMON_DEPEND=" app-crypt/gpgme:=[cxx,qt5] >=dev-qt/qtgui-${QTMIN}:5 >=dev-qt/qtsql-${QTMIN}:5 >=dev-qt/qtwidgets-${QTMIN}:5 >=dev-qt/qtxml-${QTMIN}:5 >=kde-apps/kidentitymanagement-23.08.3:5 >=kde-apps/libkleo-23.08.3:5 >=kde-frameworks/kcmutils-${KFMIN}:5 >=kde-frameworks/kconfig-${KFMIN}:5 >=kde-frameworks/kcontacts-${KFMIN}:5 >=kde-frameworks/kcoreaddons-${KFMIN}:5 >=kde-frameworks/kcrash-${KFMIN}:5 >=kde-frameworks/kdbusaddons-${KFMIN}:5 >=kde-frameworks/kdelibs4support-${KFMIN}:5 >=kde-frameworks/kemoticons-${KFMIN}:5 >=kde-frameworks/khtml-${KFMIN}:5 >=kde-frameworks/ki18n-${KFMIN}:5 >=kde-frameworks/knotifyconfig-${KFMIN}:5 >=kde-frameworks/kparts-${KFMIN}:5 >=kde-frameworks/ktexteditor-${KFMIN}:5 >=media-libs/phonon-4.11.0[qt5(+)] x11-libs/libX11 x11-libs/libXScrnSaver gadu? ( >=net-libs/libgadu-1.8.0[threads] ) groupwise? ( >=app-crypt/qca-2.3.0:2[qt5(+)] ) meanwhile? ( net-libs/meanwhile ) otr? ( >=net-libs/libotr-4.0.0 ) statistics? ( dev-db/sqlite:3 ) v4l? ( media-libs/libv4l ) webpresence? ( dev-libs/libxml2 dev-libs/libxslt ) zeroconf? ( >=kde-frameworks/kdnssd-${KFMIN}:5 ) " # jingle? ( # dev-libs/expat # dev-libs/openssl:0= # >=media-libs/mediastreamer-2.3.0 # media-libs/speex # net-libs/libsrtp:0= # net-libs/ortp:= # ) # xmpp? ( # >=app-crypt/qca-2.3.0:2[qt5(+)] # net-dns/libidn:0= # sys-libs/zlib # ) RDEPEND="${COMMON_DEPEND} latex? ( || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] ) virtual/latex-base ) ssl? ( >=app-crypt/qca-2.3.0:2[qt5(+),ssl] ) " # sms? ( app-mobilephone/smssend ) # winpopup? ( net-fs/samba ) # xmpp? ( >=app-crypt/qca-2.3.0:2[qt5(+),ssl?] ) DEPEND="${COMMON_DEPEND} x11-base/xorg-proto " # jingle? ( dev-libs/jsoncpp ) src_prepare() { ecm_src_prepare # breaks with oscar disabled, bug 901487 cmake_run_in tests/protocols cmake_comment_add_subdirectory oscar } src_configure() { local x x2 # Handle common stuff local mycmakeargs=( -DWITH_qq=OFF -DDISABLE_VIDEOSUPPORT=$(usex !v4l) ) # $(cmake_use_find_package jingle LiboRTP) # $(cmake_use_find_package jingle Mediastreamer) # $(cmake_use_find_package jingle Speex) # enable protocols for x in ${PROTOCOLS}; do case ${x/+/} in jingle) x2=libjingle ;; xmpp) x2=jabber ;; zeroconf) x2=bonjour ;; *) x2=${x/+/} ;; esac mycmakeargs+=( -DWITH_${x2}=$(usex ${x/+/}) ) done # disable until fixed: mycmakeargs+=( -DWITH_{cryptography,jabber,libjingle,oscar,sms}=OFF ) # enable plugins for x in ${PLUGINS}; do mycmakeargs+=( -DWITH_${x/+/}=$(usex ${x/+/}) ) done ecm_src_configure }