kde-plasma/plasma-sdk: Add missing DEPENDs, fix bug 577004
authorAndreas Sturmlechner <andreas.sturmlechner@gmail.com>
Sun, 13 Mar 2016 15:38:14 +0000 (16:38 +0100)
committerMichael Palimaka <kensington@gentoo.org>
Sun, 13 Mar 2016 18:54:24 +0000 (05:54 +1100)
Package-Manager: portage-2.2.27

kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-dependencies.patch [new file with mode: 0644]
kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-kdevplatform-lookup.patch [new file with mode: 0644]
kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-qtwebkit-optional.patch [new file with mode: 0644]
kde-plasma/plasma-sdk/metadata.xml
kde-plasma/plasma-sdk/plasma-sdk-5.5.5-r1.ebuild [new file with mode: 0644]

diff --git a/kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-dependencies.patch b/kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-dependencies.patch
new file mode 100644 (file)
index 0000000..e585eef
--- /dev/null
@@ -0,0 +1,51 @@
+commit 56676709a8a0ecf51429bc1ac508513f72d0a761
+Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date:   Sun Mar 13 14:43:50 2016 +0100
+
+    Make Qt5Test really optional, fix plasmate dependencies
+    
+    KF5NewStuff, KF5Parts are only required for plasmate.
+    Could not push KF5ItemModels down into plasmate without breaking
+    build. Is it a problem within KDevPlatform?
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b556de6..bc982ae 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -74,7 +74,7 @@ endif()
+ # Load CMake, Compiler and InstallDirs settings from KF5 and the following are already somewhat "done" tier1/tier2 libs from kdelibs:
+ find_package(KF5 REQUIRED COMPONENTS
+     Archive Completion Config ConfigWidgets CoreAddons DBusAddons Declarative I18n IconThemes ItemModels
+-    KIO NewStuff Parts Plasma PlasmaQuick Service TextEditor WidgetsAddons XmlGui WindowSystem)
++    KIO Plasma PlasmaQuick Service TextEditor WidgetsAddons XmlGui WindowSystem)
+ #########################################################################
+diff --git a/cuttlefish/CMakeLists.txt b/cuttlefish/CMakeLists.txt
+index 6eaa78a..5b90fef 100644
+--- a/cuttlefish/CMakeLists.txt
++++ b/cuttlefish/CMakeLists.txt
+@@ -2,7 +2,9 @@ project(cuttlefish)
+ add_definitions(-DTRANSLATION_DOMAIN=\"cuttlefish\")
+ add_subdirectory(src)
+-add_subdirectory(autotests)
++if(BUILD_TESTING)
++    add_subdirectory(autotests)
++endif()
+ plasma_install_package(package org.kde.plasma.cuttlefish packages package)
+diff --git a/plasmate/CMakeLists.txt b/plasmate/CMakeLists.txt
+index 8f28ec4..4586102 100644
+--- a/plasmate/CMakeLists.txt
++++ b/plasmate/CMakeLists.txt
+@@ -13,6 +13,8 @@ add_feature_info(GIT_EXECUTABLE_FOUND "Git" "Distributed Revision Control System
+ find_package(KF5 REQUIRED COMPONENTS
+     KDELibs4Support
++    NewStuff
++    Parts
+ )
+ #install( FILES previewer/windowswitcher/thumbnails/konqueror.png
diff --git a/kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-kdevplatform-lookup.patch b/kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-kdevplatform-lookup.patch
new file mode 100644 (file)
index 0000000..83d3f2e
--- /dev/null
@@ -0,0 +1,139 @@
+From: Kevin Funk <kfunk@kde.org>
+Date: Tue, 22 Dec 2015 14:25:48 +0000
+Subject: CMake: KDevplatform integration fixes
+X-Git-Tag: v5.5.95
+X-Git-Url: http://quickgit.kde.org/?p=plasma-sdk.git&a=commitdiff&h=616cd9c3cabff9b826fdba935b65b8dc45b05ac0
+---
+CMake: KDevplatform integration fixes
+
+Summary:
+* Adapt to kdevplatform changes
+* CMake: Simplify kdevplatform lookup
+
+Reviewers: mart
+
+Reviewed By: mart
+
+Differential Revision: https://phabricator.kde.org/D668
+---
+
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,6 +36,12 @@
+     set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
+ endif()
++find_package(KDevPlatform 4.90.90)
++set_package_properties(KDevPlatform PROPERTIES
++    PURPOSE "Required for plasmate"
++    TYPE OPTIONAL
++)
++
+ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0)
+ include(KDEInstallDirs)
+@@ -56,7 +62,7 @@
+ # Load CMake, Compiler and InstallDirs settings from KF5 and the following are already somewhat "done" tier1/tier2 libs from kdelibs:
+ find_package(KF5 REQUIRED COMPONENTS
+-    Archive Completion Config ConfigWidgets CoreAddons DBusAddons Declarative I18n IconThemes
++    Archive Completion Config ConfigWidgets CoreAddons DBusAddons Declarative I18n IconThemes ItemModels
+     KIO NewStuff Parts Plasma PlasmaQuick Service TextEditor WidgetsAddons XmlGui WindowSystem)
+ #########################################################################
+@@ -66,18 +72,15 @@
+ remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS)
+-option(PLASMATE_BUILD_WITH_KDEVPLATFORM "Build the plasmate repository with KDevPlatform Support" OFF)
+-message("Plasmate depends on Kdevplatform. So since Kdevplatform has not been released yes, Plasmate's build is being disabled by default for the time being.")
+-message("Please pass -DPLASMATE_BUILD_WITH_KDEVPLATFORM=ON in order to build the Plasmate")
+-
+ add_subdirectory(cuttlefish)
+ add_subdirectory(engineexplorer)
+ add_subdirectory(plasmoidviewer)
+ add_subdirectory(themeexplorer)
+ #add_subdirectory(remote-widgets-browser)
+ #add_subdirectory(wallpaperviewer)
+-if(PLASMATE_BUILD_WITH_KDEVPLATFORM)
++if (KDevPlatform_FOUND)
+     add_subdirectory(plasmate)
+ endif()
++feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+
+--- a/plasmate/CMakeLists.txt
++++ b/plasmate/CMakeLists.txt
+@@ -11,16 +11,9 @@
+ find_program(GIT_EXECUTABLE_FOUND git)
+ add_feature_info(GIT_EXECUTABLE_FOUND "Git" "Distributed Revision Control System" "http://git-scm.com/" FALSE "" "Runtime dependency needed to use the TimeLine feature.")
+-set( KDEVELOP_VERSION_MAJOR 4 )
+-set( KDEVELOP_VERSION_MINOR 90 )
+-set( KDEVELOP_VERSION_PATCH 60 )
+-# KDevplatform dependency version
+-set( KDEVPLATFORM_VERSION "1.${KDEVELOP_VERSION_MINOR}.${KDEVELOP_VERSION_PATCH}" )
+-
+-find_package(KDevPlatform ${KDEVPLATFORM_VERSION} REQUIRED)
+-
+ find_package(KF5 REQUIRED COMPONENTS
+-    KDELibs4Support)
++    KDELibs4Support
++)
+ #install( FILES previewer/windowswitcher/thumbnails/konqueror.png
+ #previewer/windowswitcher/thumbnails/kmail.png
+
+--- a/plasmate/app/CMakeLists.txt
++++ b/plasmate/app/CMakeLists.txt
+@@ -31,8 +31,8 @@
+                       KF5::PlasmaQuick
+                       KF5::Archive
+                       #${KDEPIMLIBS_KPIMUTILS_LIBS}
+-                      ${KDEVPLATFORM_INTERFACES_LIBRARIES}
+-                      ${KDEVPLATFORM_SHELL_LIBRARIES}
++                      KDev::Interfaces
++                      KDev::Shell
+ )
+ install(TARGETS plasmate ${INSTALL_TARGETS_DEFAULT_ARGS})
+
+--- a/plasmate/plugins/plasmaprojectmanager/CMakeLists.txt
++++ b/plasmate/plugins/plasmaprojectmanager/CMakeLists.txt
+@@ -6,9 +6,9 @@
+ add_library(kdevplasmamanager MODULE ${kdevplasmamanager_SRCS})
+ target_link_libraries(kdevplasmamanager
+-    KF5::KIOWidgets
+     KDev::Project
+     KDev::Util
++    KF5::KIOWidgets
+     KF5::Plasma
+ )
+
+--- a/plasmate/plugins/savesystemview/CMakeLists.txt
++++ b/plasmate/plugins/savesystemview/CMakeLists.txt
+@@ -6,12 +6,13 @@
+ )
+ add_library(kdevsavesystemview MODULE ${kdevsavesystemview_SRCS})
+-target_link_libraries(kdevsavesystemview ${KDEVPLATFORM_INTERFACES_LIBRARIES}
+-                                         ${KDEVPLATFORM_PROJECT_LIBRARIES}
+-                                         ${KDEVPLATFORM_UTIL_LIBRARIES}
+-                                         ${KDEVPLATFORM_VCS_LIBRARIES}
+-                                         Qt5::Quick
+-                                         KF5::Declarative
++target_link_libraries(kdevsavesystemview
++    KDev::Interfaces
++    KDev::Project
++    KDev::Util
++    KDev::Vcs
++    Qt5::Quick
++    KF5::Declarative
+ )
+ install(TARGETS kdevsavesystemview DESTINATION ${PLUGIN_INSTALL_DIR} )
+
diff --git a/kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-qtwebkit-optional.patch b/kde-plasma/plasma-sdk/files/plasma-sdk-5.5.5-qtwebkit-optional.patch
new file mode 100644 (file)
index 0000000..7aa92cc
--- /dev/null
@@ -0,0 +1,32 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -24,7 +24,18 @@
+ # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+-find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core DBus Gui Qml Quick Svg WebKit WebKitWidgets Widgets Xml)
++find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core DBus Gui Qml Quick Svg Widgets Xml)
++
++find_package(Qt5WebKit ${QT_MIN_VERSION} CONFIG)
++set_package_properties(Qt5WebKit PROPERTIES
++         PURPOSE "Required for plasmate"
++         TYPE OPTIONAL
++         )
++find_package(Qt5WebKitWidgets ${QT_MIN_VERSION} CONFIG)
++set_package_properties(Qt5WebKitWidgets PROPERTIES
++         PURPOSE "Required for plasmate"
++         TYPE OPTIONAL
++         )
+ find_package(Qt5Test ${QT_MIN_VERSION} CONFIG QUIET)
+ set_package_properties(Qt5Test PROPERTIES
+@@ -78,7 +89,7 @@
+ add_subdirectory(themeexplorer)
+ #add_subdirectory(remote-widgets-browser)
+ #add_subdirectory(wallpaperviewer)
+-if (KDevPlatform_FOUND)
++if (KDevPlatform_FOUND AND Qt5WebKit_FOUND AND Qt5WebKitWidgets_FOUND)
+     add_subdirectory(plasmate)
+ endif()
+
index 2fdbf33d963db81228cb30a4f1abf67dbe9c29f1..bbb86a222492bbd6f8c80edc360b4275ac859e74 100644 (file)
@@ -5,4 +5,7 @@
                <email>kde@gentoo.org</email>
                <name>Gentoo KDE Project</name>
        </maintainer>
+       <use>
+               <flag name="plasmate">IDE for writing Plasma/KWin components (themes, plasmoids, runners, data engines)</flag>
+       </use>
 </pkgmetadata>
diff --git a/kde-plasma/plasma-sdk/plasma-sdk-5.5.5-r1.ebuild b/kde-plasma/plasma-sdk/plasma-sdk-5.5.5-r1.ebuild
new file mode 100644 (file)
index 0000000..0b43681
--- /dev/null
@@ -0,0 +1,63 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+KDE_TEST="optional"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="Useful applications for Plasma development"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="plasmate"
+
+DEPEND="
+       $(add_frameworks_dep karchive)
+       $(add_frameworks_dep kcompletion)
+       $(add_frameworks_dep kconfig)
+       $(add_frameworks_dep kconfigwidgets)
+       $(add_frameworks_dep kcoreaddons)
+       $(add_frameworks_dep kdbusaddons)
+       $(add_frameworks_dep kdeclarative)
+       $(add_frameworks_dep ki18n)
+       $(add_frameworks_dep kiconthemes)
+       $(add_frameworks_dep kio)
+       $(add_frameworks_dep kitemmodels)
+       $(add_frameworks_dep kpackage)
+       $(add_frameworks_dep kservice)
+       $(add_frameworks_dep ktexteditor)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep plasma)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtdeclarative)
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtxml)
+       plasmate? (
+               $(add_frameworks_dep kdelibs4support)
+               $(add_frameworks_dep knewstuff)
+               $(add_frameworks_dep kparts)
+               $(add_kdeapps_dep kdevplatform)
+               $(add_qt_dep qtwebkit)
+       )
+"
+RDEPEND="${DEPEND}
+       !dev-util/plasmate
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-5.5.5-kdevplatform-lookup.patch" # 5.6 branch
+       "${FILESDIR}/${PN}-5.5.5-qtwebkit-optional.patch" # git master
+       "${FILESDIR}/${PN}-5.5.5-dependencies.patch" # RR pending
+)
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package plasmate KDevPlatform)
+               $(cmake-utils_use_find_package plasmate Qt5WebKit)
+               $(cmake-utils_use_find_package plasmate Qt5WebKitWidgets)
+       )
+
+       kde5_src_configure
+}