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>

Reply via email to