summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-apps/akonadi/Manifest1
-rw-r--r--kde-apps/akonadi/akonadi-20.12.3.ebuild129
2 files changed, 130 insertions, 0 deletions
diff --git a/kde-apps/akonadi/Manifest b/kde-apps/akonadi/Manifest
index 78ad98c9c798..8ac6aef1c42c 100644
--- a/kde-apps/akonadi/Manifest
+++ b/kde-apps/akonadi/Manifest
@@ -1 +1,2 @@
DIST akonadi-20.12.2.tar.xz 1593452 BLAKE2B e3d058a43685a8b8bf92ffbb169f1c17b8e831712567a4ef8eba6ef1eee6321ae45f82a72a4c44a71835b65c18075497d26c8802b7a2f0a10c9baa21efefa65e SHA512 2c21db5d6ab6b8d9cedabad2f726fd518ba8219db3cb6f8f72820edc71ed72efa31efcb2c4cd8ff36e52e4c0a38a97dd890789bf6816ab524f0568892254523c
+DIST akonadi-20.12.3.tar.xz 1593588 BLAKE2B 783b75a21cf1b1771a5ed25fb25d395af374e249e43ae15f725e92921ef7afdf312cf39c60457a61ba549ba90fc3aebc8ef0b53b666ad1a89ce0cf58c43748b6 SHA512 516f240349b4a680ee8ab1986b8f3d018e9e54a8802aed404b3deb08491edd67413cc4bbb43aedc583f7110812b6bf41277f83908f54221cf21efb3b7f6e32df
diff --git a/kde-apps/akonadi/akonadi-20.12.3.ebuild b/kde-apps/akonadi/akonadi-20.12.3.ebuild
new file mode 100644
index 000000000000..6f78d4f5ff9f
--- /dev/null
+++ b/kde-apps/akonadi/akonadi-20.12.3.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_DESIGNERPLUGIN="true"
+ECM_TEST="forceoptional"
+KFMIN=5.75.0
+QTMIN=5.15.2
+VIRTUALDBUS_TEST="true"
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Storage service for PIM data and libraries for PIM apps"
+HOMEPAGE="https://community.kde.org/KDE_PIM/akonadi"
+
+LICENSE="LGPL-2.1+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="+kaccounts +mysql postgres sqlite tools xml"
+
+REQUIRED_USE="|| ( mysql postgres sqlite ) test? ( tools )"
+
+# some akonadi tests time out, that probably needs more work as it's ~700 tests
+RESTRICT+=" test"
+
+COMMON_DEPEND="
+ app-arch/xz-utils
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5[mysql?,postgres?]
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ kaccounts? (
+ >=kde-apps/kaccounts-integration-20.08.3:5
+ net-libs/accounts-qt
+ )
+ sqlite? (
+ dev-db/sqlite:3
+ >=dev-qt/qtsql-${QTMIN}:5=[sqlite]
+ )
+ xml? ( dev-libs/libxml2 )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+ dev-libs/libxslt
+ test? ( sys-apps/dbus )
+"
+RDEPEND="${COMMON_DEPEND}
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql )
+"
+
+PATCHES=( "${FILESDIR}/${PN}-18.12.2-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 mysql && has_version ">=dev-db/mariadb-10.4"; then
+ ewarn "If an existing Akonadi QMYSQL database is being upgraded using"
+ ewarn ">=dev-db/mariadb-10.4 and KMail stops fetching and sending mail,"
+ ewarn "check ~/.local/share/akonadi/akonadiserver.error for errors like:"
+ ewarn " \"Cannot add or update a child row: a foreign key constraint fails\""
+ ewarn
+ ewarn "Manual steps are required to fix it, see also:"
+ ewarn " https://bugs.gentoo.org/688746 (see Whiteboard)"
+ ewarn " https://bugs.kde.org/show_bug.cgi?id=409224"
+ ewarn
+ fi
+
+ if use sqlite || has_version "<${CATEGORY}/${P}[sqlite]"; then
+ ewarn "We strongly recommend you change your Akonadi database backend to"
+ ewarn "either MariaDB/MySQL or PostgreSQL in your user configuration."
+ ewarn "In particular, kde-apps/kmail does not work properly with the sqlite backend."
+ fi
+
+ ecm_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package kaccounts AccountsQt5)
+ $(cmake_use_find_package kaccounts KAccounts)
+ -DAKONADI_BUILD_QSQLITE=$(usex sqlite)
+ -DBUILD_TOOLS=$(usex tools)
+ $(cmake_use_find_package xml LibXml2)
+ )
+
+ ecm_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
+
+ ecm_src_install
+}
+
+pkg_postinst() {
+ ecm_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."
+}