diff options
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> |
