You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.5 KiB
99 lines
2.5 KiB
3 months ago
|
# Copyright 1999-2024 Gentoo Authors
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
EAPI=8
|
||
|
|
||
|
ECM_DESIGNERPLUGIN="true"
|
||
|
ECM_QTHELP="true"
|
||
|
ECM_TEST="forceoptional"
|
||
2 months ago
|
KFMIN=6.0.0
|
||
3 months ago
|
QTMIN=6.6.2
|
||
|
VIRTUALDBUS_TEST="true"
|
||
2 months ago
|
inherit ecm gear.kde.org
|
||
3 months ago
|
|
||
|
DESCRIPTION="Storage service for PIM data and libraries for PIM apps"
|
||
|
HOMEPAGE="https://community.kde.org/KDE_PIM/akonadi"
|
||
|
|
||
|
LICENSE="LGPL-2.1+"
|
||
|
SLOT="6"
|
||
|
KEYWORDS="~amd64"
|
||
|
IUSE="+kaccounts +mysql postgres sqlite tools xml"
|
||
|
|
||
|
REQUIRED_USE="|| ( mysql postgres sqlite ) test? ( tools )"
|
||
|
|
||
|
# some akonadi tests time out, that probably needs more work as it's ~700 tests
|
||
|
RESTRICT="test"
|
||
|
|
||
|
COMMON_DEPEND="
|
||
|
app-arch/xz-utils
|
||
|
>=dev-qt/qtbase-${QTMIN}:6[dbus,gui,mysql?,network,postgres?,sql,sqlite?,widgets,xml]
|
||
|
>=kde-frameworks/kconfig-${KFMIN}:6
|
||
|
>=kde-frameworks/kconfigwidgets-${KFMIN}:6
|
||
|
>=kde-frameworks/kcoreaddons-${KFMIN}:6
|
||
|
>=kde-frameworks/kcrash-${KFMIN}:6
|
||
|
>=kde-frameworks/ki18n-${KFMIN}:6
|
||
|
>=kde-frameworks/kiconthemes-${KFMIN}:6
|
||
|
>=kde-frameworks/kio-${KFMIN}:6
|
||
|
>=kde-frameworks/kitemmodels-${KFMIN}:6
|
||
|
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
|
||
|
>=kde-frameworks/kxmlgui-${KFMIN}:6
|
||
|
kaccounts? (
|
||
|
kde-apps/kaccounts-integration:6
|
||
|
>=net-libs/accounts-qt-1.16_p20220803[qt6]
|
||
|
)
|
||
|
xml? ( dev-libs/libxml2 )
|
||
|
"
|
||
|
DEPEND="${COMMON_DEPEND}
|
||
|
dev-libs/libxslt
|
||
|
test? ( sys-apps/dbus )
|
||
|
"
|
||
|
RDEPEND="${COMMON_DEPEND}
|
||
|
mysql? ( virtual/mysql )
|
||
|
postgres? ( dev-db/postgresql )
|
||
|
"
|
||
|
|
||
|
PATCHES=( "${FILESDIR}/${PN}-21.03.80-mysql56-crash.patch" )
|
||
|
|
||
|
pkg_setup() {
|
||
|
# Set default storage backend in order: MySQL, PostgreSQL, SQLite
|
||
|
# reverse driver check to keep the order
|
||
|
use sqlite && DRIVER="QSQLITE"
|
||
|
use postgres && DRIVER="QPSQL"
|
||
|
use mysql && DRIVER="QMYSQL"
|
||
|
|
||
|
ecm_pkg_setup
|
||
|
}
|
||
|
|
||
|
src_configure() {
|
||
|
local mycmakeargs=(
|
||
|
$(cmake_use_find_package kaccounts AccountsQt6)
|
||
|
$(cmake_use_find_package kaccounts KAccounts6)
|
||
|
-DBUILD_TOOLS=$(usex tools)
|
||
|
$(cmake_use_find_package xml LibXml2)
|
||
|
)
|
||
|
|
||
|
ecm_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
|
||
|
|
||
|
ecm_src_install
|
||
|
}
|
||
|
|
||
|
pkg_postinst() {
|
||
|
ecm_pkg_postinst
|
||
|
elog "You can select the storage backend in ~/.config/akonadi/akonadiserverrc."
|
||
|
elog "Available drivers are:"
|
||
|
use mysql && elog " QMYSQL"
|
||
|
use postgres && elog " QPSQL"
|
||
|
use sqlite && elog " QSQLITE"
|
||
|
elog "${DRIVER} has been set as your default akonadi storage backend."
|
||
|
}
|