forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-office/akonadi-server: add virtual/mysql dependence
Found out that app-office/akonadi-server lost its dependence on mysql early due to an implicit dependence through dev-qt/qtsql. I've revbumped and added the RDEPEND as needed. Also, I will shortly be opening a bug to re-stabilize these KEYWORDS: amd64 ppc ppc64 x86 This seems to be related to the mysqlclient split. Package-Manager: portage-2.2.23
- Loading branch information
Alex Brandt
committed
Oct 19, 2015
1 parent
1fa871e
commit 0dd0974
Showing
1 changed file
with
137 additions
and
0 deletions.
There are no files selected for viewing
137 changes: 137 additions & 0 deletions
137
app-office/akonadi-server/akonadi-server-1.13.0-r2.ebuild
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
# 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="" | ||
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}" | ||
} |