summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-apps/akonadi/akonadi-17.04.3-r1.ebuild124
1 files changed, 124 insertions, 0 deletions
diff --git a/kde-apps/akonadi/akonadi-17.04.3-r1.ebuild b/kde-apps/akonadi/akonadi-17.04.3-r1.ebuild
new file mode 100644
index 000000000000..f7c3ff53ff2e
--- /dev/null
+++ b/kde-apps/akonadi/akonadi-17.04.3-r1.ebuild
@@ -0,0 +1,124 @@
+# 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="|| ( sqlite mysql postgres ) test? ( tools )"
+
+# drop qtgui subslot operator when QT_MINIMAL >= 5.7.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, SQLite PostgreSQL
+ # reverse driver check to keep the order
+ if use postgres; then
+ DRIVER="QPSQL"
+ AVAILABLE+=" ${DRIVER}"
+ fi
+
+ if use sqlite; then
+ DRIVER="QSQLITE3"
+ AVAILABLE+=" ${DRIVER}"
+ fi
+
+ if use mysql; then
+ DRIVER="QMYSQL"
+ AVAILABLE+=" ${DRIVER}"
+ fi
+
+ # Notify about MySQL is recommend by upstream
+ if use sqlite || has_version "<${CATEGORY}/${P}[sqlite]"; then
+ ewarn
+ ewarn "We strongly recommend you change your Akonadi database backend to MySQL in your"
+ ewarn "user configuration. This is the backend recommended by KDE upstream."
+ ewarn "In particular, kde-apps/kmail-4.10 does not work properly with the sqlite"
+ ewarn "backend anymore."
+ ewarn "You can select the backend in your ~/.config/akonadi/akonadiserverrc."
+ ewarn "Available drivers are:${AVAILABLE}"
+ ewarn
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DAKONADI_BUILD_QSQLITE=$(usex sqlite)
+ -DBUILD_TOOLS=$(usex tools)
+ $(cmake-utils_use_find_package xml LibXml2)
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+ )
+
+ 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() {
+ elog "${DRIVER} has been set as your default akonadi storage backend."
+ elog "You can override it in your ~/.config/akonadi/akonadiserverrc."
+ elog "Available drivers are: ${AVAILABLE}"
+}