summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/akonadi')
-rw-r--r--kde-apps/akonadi/Manifest1
-rw-r--r--kde-apps/akonadi/akonadi-17.04.0.ebuild120
-rw-r--r--kde-apps/akonadi/files/akonadi-17.03.80-mysql56-crash.patch40
3 files changed, 161 insertions, 0 deletions
diff --git a/kde-apps/akonadi/Manifest b/kde-apps/akonadi/Manifest
index 53f916c1ef2f..61ea15829ec6 100644
--- a/kde-apps/akonadi/Manifest
+++ b/kde-apps/akonadi/Manifest
@@ -1,2 +1,3 @@
DIST akonadi-1.13.1_pre20160203.tar.gz 384556 SHA256 4243b32e529be6aadc38dc4463cb6e7cede9442c05cfc04ba679dde28f37aa96 SHA512 0ef8213f504ad1e500a2c1ce19a7575cd1fd8b7ffc7e5fb0bd2437639d8c458c47bbfea7734fcd3e200136a661331dde32af0b064f0b25d324138ce6e35d15f3 WHIRLPOOL 69eff1889a19f8d5714d7e71a106871172cd25c651ea30046ab81270cf7e46c7a1983cf20fd8d5fd8ad243d70e881be705d57b0b93b54248d086e7b253a4873a
DIST akonadi-16.12.3.tar.xz 1037568 SHA256 fc48a200c27331d5a9ac6bfb8d7d61f3c4240f133bb23c996c78493f24644b03 SHA512 b1e02f80d11aa6f6d116bfbd963dee952ad03acbdf451b3cd0f8ca4d0037cea9afcd3723b7743bf5beeeb8d0db865094c0178be82e1a74deddaa45834f57c77f WHIRLPOOL b14b453ebfee66d4bb3ab6806406765c74e6f0edd5b4d40346c038d29330afa2efbcb8794564c9a0bce0e693ec04ab540580467411ae869b3c30263d6ed69f7e
+DIST akonadi-17.04.0.tar.xz 1301104 SHA256 962f7694ff67e32b965a07da282d2af7a0777353b11f537c147c8777b03901d4 SHA512 64050b53515ef1fc6321bbe08e30dacbf4ebd945da2510605ad2a2f0f6baa207cfef0f5a1e29c7fa71458ece941593525425d6a1de244ee38cabff817d4da8e0 WHIRLPOOL 340d295553cdc62bd202a927b63a14b39d438ef7e537935b4bcabfd765bd5d9549d233617bffd2c27c71a7b509c822cf61f4e07f3a512196009f173d66677d13
diff --git a/kde-apps/akonadi/akonadi-17.04.0.ebuild b/kde-apps/akonadi/akonadi-17.04.0.ebuild
new file mode 100644
index 000000000000..41186be4ba32
--- /dev/null
+++ b/kde-apps/akonadi/akonadi-17.04.0.ebuild
@@ -0,0 +1,120 @@
+# 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}
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql )
+ !kde-apps/kdepimlibs
+"
+
+# 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}"
+}
diff --git a/kde-apps/akonadi/files/akonadi-17.03.80-mysql56-crash.patch b/kde-apps/akonadi/files/akonadi-17.03.80-mysql56-crash.patch
new file mode 100644
index 000000000000..0b5e381b155d
--- /dev/null
+++ b/kde-apps/akonadi/files/akonadi-17.03.80-mysql56-crash.patch
@@ -0,0 +1,40 @@
+Gentoo-bug: 530012
+
+diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
+index 50421714d..dfae09c20 100644
+--- a/src/server/storage/dbconfigmysql.cpp
++++ b/src/server/storage/dbconfigmysql.cpp
+@@ -81,6 +81,7 @@ bool DbConfigMysql::init(QSettings &settings)
+ << QStringLiteral("/usr/local/sbin")
+ << QStringLiteral("/usr/local/libexec")
+ << QStringLiteral("/usr/libexec")
++ << QStringLiteral("/usr/share/mysql/scripts")
+ << QStringLiteral("/opt/mysql/libexec")
+ << QStringLiteral("/opt/local/lib/mysql5/bin")
+ << QStringLiteral("/opt/mysql/sbin");
+@@ -511,7 +512,7 @@ bool DbConfigMysql::initializeMariaDBDatabase(const QString &confFile, const QSt
+ return 0 == execute(mMysqlInstallDbPath, {
+ QStringLiteral("--defaults-file=%1").arg(confFile),
+ QStringLiteral("--force"),
+- QStringLiteral("--basedir=%1").arg(baseDir),
++ QStringLiteral("--basedir=/usr"),
+ QStringLiteral("--datadir=%1/").arg(dataDir)
+ });
+ }
+@@ -525,6 +526,7 @@ bool DbConfigMysql::initializeMySQL5_7_6Database(const QString &confFile, const
+ return 0 == execute(mMysqldPath, {
+ QStringLiteral("--defaults-file=%1").arg(confFile),
+ QStringLiteral("--initialize"),
++ QStringLiteral("--basedir=/usr"),
+ QStringLiteral("--datadir=%1/").arg(dataDir)
+ });
+ }
+@@ -539,7 +541,7 @@ bool DbConfigMysql::initializeMySQLDatabase(const QString &confFile, const QStri
+ // Don't use --force, it has been removed in MySQL 5.7.5
+ return 0 == execute(mMysqlInstallDbPath, {
+ QStringLiteral("--defaults-file=%1").arg(confFile),
+- QStringLiteral("--basedir=%1").arg(baseDir),
++ QStringLiteral("--basedir=/usr"),
+ QStringLiteral("--datadir=%1/").arg(dataDir)
+ });
+ }