# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 KDE_DESIGNERPLUGIN="true" KDE_TEST="forceoptional" VIRTUALDBUS_TEST="true" VIRTUALX_REQUIRED="test" inherit kde5 DESCRIPTION="Storage service for PIM data and libraries for PIM apps" HOMEPAGE="https://pim.kde.org/akonadi" KEYWORDS="~amd64 ~arm ~x86" LICENSE="LGPL-2.1+" IUSE="+mysql postgres sqlite tools xml" REQUIRED_USE="|| ( mysql postgres sqlite ) test? ( tools )" # drop qtgui subslot operator when QT_MINIMAL >= 5.9.0 COMMON_DEPEND=" $(add_frameworks_dep kcompletion) $(add_frameworks_dep kconfig) $(add_frameworks_dep kconfigwidgets) $(add_frameworks_dep kcoreaddons) $(add_frameworks_dep kcrash) $(add_frameworks_dep kdbusaddons) $(add_frameworks_dep ki18n) $(add_frameworks_dep kiconthemes) $(add_frameworks_dep kio) $(add_frameworks_dep kitemmodels) $(add_frameworks_dep kitemviews) $(add_frameworks_dep kwidgetsaddons) $(add_frameworks_dep kwindowsystem) $(add_frameworks_dep kxmlgui) $(add_qt_dep qtdbus) $(add_qt_dep qtgui '' '' '5=') $(add_qt_dep qtnetwork) $(add_qt_dep qtsql 'mysql?,postgres?') $(add_qt_dep qtwidgets) $(add_qt_dep qtxml) x11-misc/shared-mime-info sqlite? ( dev-db/sqlite:3 ) xml? ( dev-libs/libxml2 ) " DEPEND="${COMMON_DEPEND} dev-libs/boost dev-libs/libxslt test? ( sys-apps/dbus ) " RDEPEND="${COMMON_DEPEND} !kde-apps/kdepim-l10n !kde-apps/kdepimlibs mysql? ( virtual/mysql !>=dev-db/mariadb-10.2 ) postgres? ( dev-db/postgresql ) " # some akonadi tests time out, that probably needs more work as it's ~700 tests RESTRICT+=" test" PATCHES=( "${FILESDIR}/${PN}-17.03.80-mysql56-crash.patch" ) pkg_setup() { # Set default storage backend in order: MySQL, PostgreSQL, SQLite # reverse driver check to keep the order use sqlite && DRIVER="QSQLITE3" use postgres && DRIVER="QPSQL" use mysql && DRIVER="QMYSQL" if use sqlite || has_version "<${CATEGORY}/${P}[sqlite]"; then ewarn "We strongly recommend you change your Akonadi database backend to either MySQL" ewarn "or PostgreSQL in your user configuration." ewarn "In particular, kde-apps/kmail does not work properly with the sqlite backend." fi kde5_pkg_setup } src_configure() { local mycmakeargs=( -DAKONADI_BUILD_QSQLITE=$(usex sqlite) -DBUILD_TOOLS=$(usex tools) $(cmake-utils_use_find_package xml LibXml2) ) kde5_src_configure } src_install() { # Who knows, maybe it accidentally fixes our permission issues cat <<-EOF > "${T}"/akonadiserverrc [%General] Driver=${DRIVER} EOF insinto /usr/share/config/akonadi doins "${T}"/akonadiserverrc kde5_src_install } pkg_postinst() { kde5_pkg_postinst elog "You can select the storage backend in ~/.config/akonadi/akonadiserverrc." elog "Available drivers are:" use mysql && elog " QMYSQL" use postgres && elog " QPSQL" use sqlite && elog " QSQLITE3" elog "${DRIVER} has been set as your default akonadi storage backend." }