summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-office/akonadi-server/Manifest1
-rw-r--r--app-office/akonadi-server/akonadi-server-1.13.1_pre20160203.ebuild131
-rw-r--r--app-office/akonadi-server/files/akonadi-server-1.13.0-mysql56-crash.patch20
-rw-r--r--app-office/akonadi-server/metadata.xml8
4 files changed, 160 insertions, 0 deletions
diff --git a/app-office/akonadi-server/Manifest b/app-office/akonadi-server/Manifest
new file mode 100644
index 00000000000..4a7a66b9012
--- /dev/null
+++ b/app-office/akonadi-server/Manifest
@@ -0,0 +1 @@
+DIST akonadi-server-1.13.1_pre20160203.tar.gz 384556 SHA256 4243b32e529be6aadc38dc4463cb6e7cede9442c05cfc04ba679dde28f37aa96 SHA512 0ef8213f504ad1e500a2c1ce19a7575cd1fd8b7ffc7e5fb0bd2437639d8c458c47bbfea7734fcd3e200136a661331dde32af0b064f0b25d324138ce6e35d15f3 WHIRLPOOL 69eff1889a19f8d5714d7e71a106871172cd25c651ea30046ab81270cf7e46c7a1983cf20fd8d5fd8ad243d70e881be705d57b0b93b54248d086e7b253a4873a
diff --git a/app-office/akonadi-server/akonadi-server-1.13.1_pre20160203.ebuild b/app-office/akonadi-server/akonadi-server-1.13.1_pre20160203.ebuild
new file mode 100644
index 00000000000..3a7685afafe
--- /dev/null
+++ b/app-office/akonadi-server/akonadi-server-1.13.1_pre20160203.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+if [[ $PV = *9999* ]]; then
+ scm_eclass=git-r3
+ EGIT_REPO_URI=( "git://anongit.kde.org/akonadi" )
+ SRC_URI=""
+ KEYWORDS=""
+else
+ if [[ $PV = *_pre* ]]; then
+ COMMIT_ID="18ed37d89b8185ac15a8bfe245de8a88d17f2c64"
+ SRC_URI="https://quickgit.kde.org/?p=akonadi.git&a=snapshot&h=${COMMIT_ID}&fmt=tgz -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN/-server/}"
+ else
+ SRC_URI="mirror://kde/stable/${PN/-server/}/src/${P/-server/}.tar.bz2"
+ S="${WORKDIR}/${P/-server/}"
+ fi
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+inherit cmake-utils ${scm_eclass}
+
+DESCRIPTION="The server part of Akonadi"
+HOMEPAGE="https://pim.kde.org/akonadi"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="+mysql postgres sqlite test"
+
+REQUIRED_USE="|| ( sqlite mysql postgres )"
+
+CDEPEND="
+ dev-libs/boost:=
+ x11-misc/shared-mime-info
+ >=dev-qt/qtcore-4.8.5:4
+ >=dev-qt/qtdbus-4.8.5:4
+ >=dev-qt/qtgui-4.8.5:4
+ >=dev-qt/qtsql-4.8.5:4[mysql?,postgres?]
+ >=dev-qt/qttest-4.8.5:4
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${CDEPEND}
+ dev-libs/libxslt
+ >=dev-util/automoc-0.9.88
+ test? ( sys-apps/dbus )
+"
+RDEPEND="${CDEPEND}
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql[server] )
+"
+
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${PN}-1.13.0-mysql56-crash.patch" )
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ [[ $(gcc-major-version) -lt 4 ]] || \
+ ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ]] ) \
+ && die "Sorry, but gcc-4.6 and earlier won't work (see bug #520102)."
+ fi
+}
+
+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=(
+ -DINSTALL_QSQLITE_IN_QT_PREFIX=ON
+ -DWITH_SOPRANO=FALSE
+ -DAKONADI_BUILD_TESTS=$(usex test)
+ -DAKONADI_BUILD_QSQLITE=$(usex sqlite)
+ -DQT5_BUILD=OFF
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ export $(dbus-launch)
+ cmake-utils_src_test
+}
+
+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
+
+ cmake-utils_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/app-office/akonadi-server/files/akonadi-server-1.13.0-mysql56-crash.patch b/app-office/akonadi-server/files/akonadi-server-1.13.0-mysql56-crash.patch
new file mode 100644
index 00000000000..20496183276
--- /dev/null
+++ b/app-office/akonadi-server/files/akonadi-server-1.13.0-mysql56-crash.patch
@@ -0,0 +1,20 @@
+diff -aruN akonadi-1.13.0.old/server/src/storage/dbconfigmysql.cpp akonadi-1.13.0/server/src/storage/dbconfigmysql.cpp
+--- akonadi-1.13.0.old/server/src/storage/dbconfigmysql.cpp 2014-08-10 06:38:58.000000000 -0400
++++ akonadi-1.13.0/server/src/storage/dbconfigmysql.cpp 2015-01-08 15:08:36.906134212 -0500
+@@ -76,6 +76,7 @@
+ << QLatin1String( "/usr/local/sbin" )
+ << QLatin1String( "/usr/local/libexec" )
+ << QLatin1String( "/usr/libexec" )
++ << QLatin1String( "/usr/share/mysql/scripts" )
+ << QLatin1String( "/opt/mysql/libexec" )
+ << QLatin1String( "/opt/local/lib/mysql5/bin" )
+ << QLatin1String( "/opt/mysql/sbin" );
+@@ -278,7 +279,7 @@
+ // first run, some MySQL versions need a mysql_install_db run for that
+ const QString confFile = XdgBaseDirs::findResourceFile( "config", QLatin1String( "akonadi/mysql-global.conf" ) );
+ if ( QDir( dataDir ).entryList( QDir::NoDotAndDotDot | QDir::AllEntries ).isEmpty() && !mMysqlInstallDbPath.isEmpty() ) {
+- const QStringList arguments = QStringList() << QString::fromLatin1( "--force" ) << QString::fromLatin1( "--defaults-file=%1" ).arg( confFile ) << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir );
++ const QStringList arguments = QStringList() << QString::fromLatin1( "--force" ) << QString::fromLatin1( "--defaults-file=%1" ).arg( confFile ) << QString::fromLatin1( "--datadir=%1/" ).arg( dataDir ) << QString::fromLatin1( "--basedir=/usr" ) ;
+ QProcess::execute( mMysqlInstallDbPath, arguments );
+ }
+
diff --git a/app-office/akonadi-server/metadata.xml b/app-office/akonadi-server/metadata.xml
new file mode 100644
index 00000000000..2fdbf33d963
--- /dev/null
+++ b/app-office/akonadi-server/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+</pkgmetadata>