commit: cec1c4e39d55af3c9c31a3fa7647ce6a781cbcb4 Author: Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com> AuthorDate: Wed Jan 20 23:57:08 2016 +0000 Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org> CommitDate: Fri Jan 22 10:03:56 2016 +0000 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=cec1c4e3
kde-apps/akonadi: libakonadi merged into master Package-Manager: portage-2.2.27 kde-apps/akonadi/akonadi-9999.ebuild | 49 +++++++++++--- .../akonadi/files/akonadi-libxml2-optional.patch | 40 +++++++++++ .../akonadi/files/akonadi-tools-optional.patch | 77 ++++++++++++++++++++++ kde-apps/akonadi/metadata.xml | 4 ++ 4 files changed, 162 insertions(+), 8 deletions(-) diff --git a/kde-apps/akonadi/akonadi-9999.ebuild b/kde-apps/akonadi/akonadi-9999.ebuild index 4b8e68c..382cbdd 100644 --- a/kde-apps/akonadi/akonadi-9999.ebuild +++ b/kde-apps/akonadi/akonadi-9999.ebuild @@ -4,19 +4,36 @@ EAPI=5 +KDE_DOXYGEN=true KDE_TESTS=true VIRTUALDBUS_TEST=true +VIRTUALX_REQUIRED=test inherit kde5 -DESCRIPTION="Storage service for PIM data" +DESCRIPTION="Storage service for PIM data and libraries for PIM apps" HOMEPAGE="https://pim.kde.org/akonadi" KEYWORDS="" LICENSE="LGPL-2.1" -IUSE="+mysql postgres sqlite test" +IUSE="designer +mysql postgres sqlite test tools xml" -REQUIRED_USE="|| ( sqlite mysql postgres )" +REQUIRED_USE="|| ( sqlite mysql postgres ) test? ( tools )" -CDEPEND=" +COMMON_DEPEND=" + $(add_frameworks_dep kcompletion) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kdbusaddons) + $(add_frameworks_dep kdesignerplugin) + $(add_frameworks_dep kguiaddons) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kio) + $(add_frameworks_dep kitemmodels) + $(add_frameworks_dep kitemviews) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kwindowsystem) + $(add_frameworks_dep kxmlgui) dev-qt/qtdbus:5 dev-qt/qtgui:5 dev-qt/qtnetwork:5 @@ -25,19 +42,31 @@ CDEPEND=" dev-qt/qtwidgets:5 dev-qt/qtxml:5 x11-misc/shared-mime-info + designer? ( dev-qt/designer:5 ) sqlite? ( dev-db/sqlite:3 ) + tools? ( xml? ( dev-libs/libxml2 ) ) " -DEPEND="${CDEPEND} +DEPEND="${COMMON_DEPEND} + dev-libs/boost dev-libs/libxslt test? ( sys-apps/dbus ) " -RDEPEND="${CDEPEND} +RDEPEND="${COMMON_DEPEND} mysql? ( virtual/mysql ) postgres? ( dev-db/postgresql ) !app-office/akonadi-server + !kde-apps/kdepimlibs + !kde-apps/libakonadi " -PATCHES=( "${FILESDIR}/${PN}-15.12-mysql56-crash.patch" ) +# some akonadi tests time out, that probably needs more work as it's ~700 tests +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${PN}-15.12-mysql56-crash.patch" + "${FILESDIR}/${PN}-libxml2-optional.patch" + "${FILESDIR}/${PN}-tools-optional.patch" +) pkg_setup() { # Set default storage backend in order: MySQL, SQLite PostgreSQL @@ -72,8 +101,12 @@ pkg_setup() { src_configure() { local mycmakeargs=( - -DKDE_INSTALL_USE_QT_SYS_PATHS=ON + $(cmake-utils_use_find_package designer Qt5Designer) + $(cmake-utils_use_find_package xml LibXml2) -DAKONADI_BUILD_QSQLITE=$(usex sqlite) + -DBUILD_TESTING=$(usex test) + -DBUILD_TOOLS=$(usex tools) + -DKDE_INSTALL_USE_QT_SYS_PATHS=ON ) kde5_src_configure diff --git a/kde-apps/akonadi/files/akonadi-libxml2-optional.patch b/kde-apps/akonadi/files/akonadi-libxml2-optional.patch new file mode 100644 index 0000000..2bde11a --- /dev/null +++ b/kde-apps/akonadi/files/akonadi-libxml2-optional.patch @@ -0,0 +1,40 @@ +commit 75f87727dbcad2e6b6f1e97c8a6784fcf8616da9 +Author: Andreas Sturmlechner <andreas.sturmlech...@gmail.com> +Date: Thu Jan 21 00:10:16 2016 +0100 + + Move LibXML2 detection into xml subdir, make optional + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 503ba48..b05eb4d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,13 +66,6 @@ set_package_properties(Boost PROPERTIES + TYPE REQUIRED + ) + +-find_package(LibXml2) +-set_package_properties(LibXml2 PROPERTIES +- DESCRIPTION "The LibXML2 library" +- URL "http://xmlsoft.org" +- TYPE REQUIRED +-) +- + set(AKONADI_TESTS_EXPORT AKONADICORE_EXPORT) + configure_file(akonaditests_export.h.in "${CMAKE_CURRENT_BINARY_DIR}/akonaditests_export.h") + +diff --git a/src/xml/CMakeLists.txt b/src/xml/CMakeLists.txt +index ad116d8..71e6ef4 100644 +--- a/src/xml/CMakeLists.txt ++++ b/src/xml/CMakeLists.txt +@@ -1,4 +1,11 @@ + ++find_package(LibXml2) ++set_package_properties(LibXml2 PROPERTIES ++ DESCRIPTION "Required for XML schema validation in akonadixml" ++ URL "http://xmlsoft.org" ++ TYPE OPTIONAL ++) ++ + # Turn exceptions on + if (LIBXML2_FOUND) + add_definitions(-DHAVE_LIBXML2) diff --git a/kde-apps/akonadi/files/akonadi-tools-optional.patch b/kde-apps/akonadi/files/akonadi-tools-optional.patch new file mode 100644 index 0000000..1c01a84 --- /dev/null +++ b/kde-apps/akonadi/files/akonadi-tools-optional.patch @@ -0,0 +1,77 @@ +commit 108770da124b52c089acb976f4d8f2070f73fac4 +Author: Andreas Sturmlechner <andreas.sturmlech...@gmail.com> +Date: Thu Jan 21 00:29:49 2016 +0100 + + Add switch to build development/testing tools optionally + + BUILD_TESTING=TRUE currently alters the install image, this change + introduces BUILD_TOOLS to conditionally build akonadixml as well as + akonadi_knut_resource, akonaditest and akonadi_test_searchplugin. + BUILD_TESTING=TRUE however will still trigger BUILD_TOOLS=TRUE. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b05eb4d..aeabc34 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -80,6 +80,11 @@ endif() + ############### Build Options ############### + option(AKONADI_BUILD_QSQLITE "Build the Sqlite backend." TRUE) + option(ENABLE_ASAN "Build Akonadi with AddressSanitzer - https://code.google.com/p/address-sanitizer/" FALSE) ++option(BUILD_TOOLS "Build and install tools for development and testing purposes." TRUE) ++ ++if(BUILD_TESTING) ++ set(BUILD_TOOLS TRUE) ++endif() + + set(SMI_MIN_VERSION "0.20") + find_package(SharedMimeInfo ${SMI_MIN_VERSION} REQUIRED) +@@ -289,9 +294,17 @@ include_directories( + + add_subdirectory(src) + ++if(BUILD_TOOLS) ++ # add testrunner (application for managing a self-contained ++ # test environment) ++ add_subdirectory(autotests/libs/testrunner) ++ add_subdirectory(autotests/libs/testresource) ++ add_subdirectory(autotests/libs/testsearchplugin) ++endif() ++ + if(BUILD_TESTING) +- add_subdirectory(autotests) +- add_subdirectory(tests) ++ add_subdirectory(autotests) ++ add_subdirectory(tests) + endif() + + +diff --git a/autotests/libs/CMakeLists.txt b/autotests/libs/CMakeLists.txt +index 562454d..7e3a2b4 100644 +--- a/autotests/libs/CMakeLists.txt ++++ b/autotests/libs/CMakeLists.txt +@@ -22,13 +22,6 @@ include_directories( + ${Boost_INCLUDE_DIR} + ) + +-# add testrunner (application for managing a self-contained test +-# environment) +- +-add_subdirectory(testrunner) +-add_subdirectory(testresource) +-add_subdirectory(testsearchplugin) +- + # convenience macro to add akonadi qtestlib unit-tests + macro(add_akonadi_test _source) + set(_test ${_source} ${CMAKE_BINARY_DIR}/src/core/akonadicore_debug.cpp) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4e79dc0..4141947 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -16,4 +16,6 @@ add_subdirectory(core) + add_subdirectory(agentbase) + add_subdirectory(widgets) + add_subdirectory(selftest) +-add_subdirectory(xml) ++if(BUILD_TOOLS) ++ add_subdirectory(xml) ++endif() diff --git a/kde-apps/akonadi/metadata.xml b/kde-apps/akonadi/metadata.xml index a23f444..f0dcbaa 100644 --- a/kde-apps/akonadi/metadata.xml +++ b/kde-apps/akonadi/metadata.xml @@ -2,4 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <herd>kde</herd> + <use> + <flag name="designer">Install plugin for <pkg>dev-qt/designer</pkg></flag> + <flag name="tools">Install tools for developers and testing</flag> + </use> </pkgmetadata>