| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| if [[ $PV = *9999* ]]; then |
| scm_eclass=git-r3 |
| EGIT_REPO_URI=( "git://anongit.kde.org/akonadi" ) |
| SRC_URI="" |
| KEYWORDS="ppc ppc64" |
| else |
| SRC_URI="mirror://kde/stable/${PN/-server/}/src/${P/-server/}.tar.bz2" |
| KEYWORDS="amd64 ~arm ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" |
| S="${WORKDIR}/${P/-server/}" |
| 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 +qt4 qt5 sqlite test" |
| |
| REQUIRED_USE="^^ ( qt4 qt5 ) || ( sqlite mysql postgres )" |
| |
| CDEPEND=" |
| dev-libs/boost:= |
| x11-misc/shared-mime-info |
| qt4? ( |
| >=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 |
| ) |
| qt5? ( |
| dev-qt/qtcore:5 |
| dev-qt/qtdbus:5 |
| dev-qt/qtgui:5 |
| dev-qt/qtnetwork:5 |
| dev-qt/qtsql:5[mysql?,postgres?] |
| dev-qt/qttest:5 |
| dev-qt/qtwidgets:5 |
| dev-qt/qtxml:5 |
| ) |
| 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}/${P}-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-base/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 |
| $(cmake-utils_use test AKONADI_BUILD_TESTS) |
| $(cmake-utils_use sqlite AKONADI_BUILD_QSQLITE) |
| $(cmake-utils_use qt5 QT5_BUILD) |
| ) |
| |
| 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}" |
| } |