diff --git a/kde-apps/akonadi/Manifest b/kde-apps/akonadi/Manifest index 7e7a626edd2b9..a7c09cafcf851 100644 --- a/kde-apps/akonadi/Manifest +++ b/kde-apps/akonadi/Manifest @@ -1,2 +1,3 @@ DIST akonadi-20.08.3.tar.xz 1591360 BLAKE2B e237fc3307ae3cd785e29da9c2177832f1cff523ab3dc46279813c9ae152ac3a030649e6b73e8d566332f478992d6441457301355c2f6abd180c4db8c8d48011 SHA512 2d278a6189732e7c68a89321356915413771f1b4b1e3fb5a491b02f0000095163cce61278cc4f7f8b17759c1d71b3e3c08dbed0c89f3fe26be21da14adbbf720 DIST akonadi-20.12.0.tar.xz 1593204 BLAKE2B 9fdf7839752ae99001b77bdc6c04156016cf7722d2c647c8baa2f5d0e7fe75e602bff2a033ff88a9375262924026c37c6b139d1323c69b7bc99f032f127f349f SHA512 c606a974db82ef0709db04c0ca7712fb3e359a2f643cae53aa27d5a19553484e6664040d1e139c29b5fc0777d2aeb9c2832ba7936c1cf4bf24c8323bdcd2cd4f +DIST akonadi-20.12.1.tar.xz 1593196 BLAKE2B a765faa8278dc49b191bb7c7813853826cc8a4bd3e58c2504ed0c095580f7fe0a4d24a0893cbbdf058decd25dc95e3cf38adf3dea2f36229e2fd3b2ebc6e7773 SHA512 17b90cfa4700388975b00693919a5e8f24bb94350513186227af1fd0b9dc0fe600216cd7be1d4763a2261cc3c9d3885e5b6a0633e9d1b1ac5cda371ee445c322 diff --git a/kde-apps/akonadi/akonadi-20.12.1.ebuild b/kde-apps/akonadi/akonadi-20.12.1.ebuild new file mode 100644 index 0000000000000..4cfabb2778f7e --- /dev/null +++ b/kde-apps/akonadi/akonadi-20.12.1.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +ECM_DESIGNERPLUGIN="true" +ECM_TEST="forceoptional" +PVCUT=$(ver_cut 1-3) +KFMIN=5.75.0 +QTMIN=5.15.1 +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 +mariadb postgres sqlite tools xml" + +REQUIRED_USE="|| ( mariadb postgres sqlite ) test? ( tools )" + +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[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-${PVCUT}:5 + net-libs/accounts-qt + ) + mariadb? ( >=dev-qt/qtsql-${QTMIN}:5[mysql] ) + 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} + mariadb? ( >=dev-db/mariadb-10.4:* ) + postgres? ( dev-db/postgresql ) +" + +# some akonadi tests time out, that probably needs more work as it's ~700 tests +RESTRICT+=" test" + +PATCHES=( "${FILESDIR}/${PN}-18.12.2-mysql56-crash.patch" ) + +pkg_setup() { + # Set default storage backend in order: MariaDB, PostgreSQL, SQLite + # reverse driver check to keep the order + use sqlite && DRIVER="QSQLITE3" + use postgres && DRIVER="QPSQL" + use mariadb && DRIVER="QMYSQL" + + if use mariadb && has_version ">=dev-db/mariadb-10.4"; then + ewarn "If an existing Akonadi MariaDB 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 or PostgreSQL in your user configuration." + ewarn "In particular, kde-apps/kmail does not work properly with the sqlite backend." + fi + + if has_version "kde-apps/akonadi[mysql]" && has_version "dev-db/mysql"; then + ewarn "Due to configuration incompatibilities we are unable to provide" + ewarn "the option to use dev-db/mysql. You must switch to dev-db/mariadb." + ewarn " https://bugs.gentoo.org/709812" + ewarn " https://bugs.kde.org/show_bug.cgi?id=421922" + 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 mariadb && elog " QMYSQL" + use postgres && elog " QPSQL" + use sqlite && elog " QSQLITE3" + elog "${DRIVER} has been set as your default akonadi storage backend." +} diff --git a/kde-apps/akonadi/metadata.xml b/kde-apps/akonadi/metadata.xml index 8acbee94c7a69..c6b73ba5cfcea 100644 --- a/kde-apps/akonadi/metadata.xml +++ b/kde-apps/akonadi/metadata.xml @@ -8,6 +8,7 @@ Install plugin for dev-qt/designer Enable support for system-wide defined KAccounts + Enable support for using dev-db/mariadb storage backend Install tools for developers and testing