Add kdelibs4support recipe

Obsolete, but needed by Plasma.
This commit is contained in:
Volker Krause
2018-01-01 19:45:23 +01:00
parent a5673a29bd
commit b39acc9775
6 changed files with 231 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
DESCRIPTION = "KDELibs4Support"
HOMEPAGE = "https://api.kde.org/frameworks/kdelibs4support/html/index.html"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
"
PR = "r0"
DEPENDS = " \
qtbase \
qtsvg \
kcompletion \
kconfigwidgets \
kcrash \
kded \
kemoticons \
kglobalaccel \
kiconthemes \
kio \
knotifications \
kparts \
kunitconversion \
liburi-perl-native \
"
SRC_URI = " \
git://anongit.kde.org/kdelibs4support;nobranch=1 \
file://0001-optional-kdoctools.patch \
file://0002-optional-kdesignerplugin.patch \
file://0003-unexport-kf5-config.patch \
"
S = "${WORKDIR}/git"
EXTRA_OECMAKE += " -DHAVE_GOOD_GETADDRINFO=ON"
inherit cmake_kf5
inherit gettext
inherit python3native
inherit perlnative
do_compile_prepend() {
# desktoptojson needs to find installed service type files
export XDG_DATA_DIRS=${STAGING_DATADIR}:$XDG_DATA_DIRS
}
FILES_${PN} += " \
${libdir}/plugins/*.so \
${libdir}/plugins/kf5/kio/*.so \
${libdir}/plugins/kf5/kded/*.so \
${datadir}/kservices5/qimageioplugins/*.desktop \
${datadir}/kf5/kssl/ca-bundle.crt \
${datadir}/kf5/locale/currency/*.desktop \
${datadir}/kf5/locale/countries/*.desktop \
${datadir}/kf5/locale/countries/*/country.desktop \
${datadir}/kf5/locale/countries/*/flag.png \
${datadir}/kf5/kdoctools/customization/catalog4.xml \
${datadir}/kf5/kdoctools/customization/dtd/kdex.dtd \
"
FILES_${PN}-dev += " \
${libdir}/cmake/KDELibs4/* \
${libdir}/cmake/KF5KDELibs4Support/* \
${datadir}/kf5/widgets/pics/*.png \
"
RDEPENDS_kdelibs4support += "perl"

View File

@@ -0,0 +1,69 @@
commit 36f441ba50af516079ceaa888164903bc1ce881f
Author: Volker Krause <vkrause@kde.org>
Date: Mon Jan 1 18:35:55 2018 +0100
Make kdoctools dependency optional
Same as in other frameworks, makes cross-compiling easier.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ed87a14..7826413d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,7 +28,7 @@ find_package(KF5ConfigWidgets ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5Crash ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5DesignerPlugin ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5GlobalAccel ${KF5_DEP_VERSION} REQUIRED)
-find_package(KF5DocTools ${KF5_DEP_VERSION} REQUIRED)
+find_package(KF5DocTools ${KF5_DEP_VERSION})
find_package(KF5Emoticons ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5GuiAddons ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5I18n ${KF5_DEP_VERSION} REQUIRED)
@@ -153,11 +153,15 @@ install(
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
ki18n_install(po)
- kdoctools_install(po)
+ if (KF5DocTools_FOUND)
+ kdoctools_install(po)
+ endif()
endif()
add_subdirectory(cmake)
add_subdirectory(data)
-add_subdirectory(docs)
+if (KF5DocTools_FOUND)
+ add_subdirectory(docs)
+endif()
add_subdirectory(src)
if (BUILD_TESTING)
diff --git a/KF5KDELibs4SupportConfig.cmake.in b/KF5KDELibs4SupportConfig.cmake.in
index b5194f94..cf3f2aca 100644
--- a/KF5KDELibs4SupportConfig.cmake.in
+++ b/KF5KDELibs4SupportConfig.cmake.in
@@ -12,7 +12,9 @@ find_dependency(KF5ConfigWidgets "@KF5_DEP_VERSION@")
find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
find_dependency(KF5Crash "@KF5_DEP_VERSION@")
find_dependency(KF5DesignerPlugin "@KF5_DEP_VERSION@")
-find_dependency(KF5DocTools "@KF5_DEP_VERSION@")
+if(@KF5DocTools_FOUND@)
+ find_dependency(KF5DocTools "@KF5_DEP_VERSION@")
+endif()
find_dependency(KF5Emoticons "@KF5_DEP_VERSION@")
find_dependency(KF5GuiAddons "@KF5_DEP_VERSION@")
find_dependency(KF5IconThemes "@KF5_DEP_VERSION@")
diff --git a/cmake/modules/KDE4Macros.cmake b/cmake/modules/KDE4Macros.cmake
index ca868ad9..5c50a2cf 100644
--- a/cmake/modules/KDE4Macros.cmake
+++ b/cmake/modules/KDE4Macros.cmake
@@ -485,7 +485,9 @@ endmacro (KDE4_ADD_LIBRARY _target_NAME _lib_TYPE)
include("${KF5Auth_DIR}/KF5AuthMacros.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/KDECoreMacros.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/KDEUIMacros.cmake")
-include("${KF5DocTools_DIR}/KF5DocToolsMacros.cmake")
+if (KF5DocTools_FOUND)
+ include("${KF5DocTools_DIR}/KF5DocToolsMacros.cmake")
+endif()
include("${KF5DesignerPlugin_DIR}/KF5DesignerPluginMacros.cmake")
# functions deprecated, they still should work

View File

@@ -0,0 +1,71 @@
commit 37afcd691f56807af68bc1c68ad6122a0a4f6cca
Author: Volker Krause <vkrause@kde.org>
Date: Mon Jan 1 18:41:00 2018 +0100
Make kdesingerplugin dependency optional
As this involves a code generator that dynamically links against KF5 libs,
this is a bit tricky to get right when cross-compiling. Fortunately, the
designer plugin is only needed for development and thus is rather
useless on the target platform anyway.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7826413d..16dc6242 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,7 +26,7 @@ find_package(KF5Completion ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5Config ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5ConfigWidgets ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5Crash ${KF5_DEP_VERSION} REQUIRED)
-find_package(KF5DesignerPlugin ${KF5_DEP_VERSION} REQUIRED)
+find_package(KF5DesignerPlugin ${KF5_DEP_VERSION})
find_package(KF5GlobalAccel ${KF5_DEP_VERSION} REQUIRED)
find_package(KF5DocTools ${KF5_DEP_VERSION})
find_package(KF5Emoticons ${KF5_DEP_VERSION} REQUIRED)
diff --git a/KF5KDELibs4SupportConfig.cmake.in b/KF5KDELibs4SupportConfig.cmake.in
index cf3f2aca..99aef408 100644
--- a/KF5KDELibs4SupportConfig.cmake.in
+++ b/KF5KDELibs4SupportConfig.cmake.in
@@ -11,7 +11,6 @@ find_dependency(KF5Archive "@KF5_DEP_VERSION@")
find_dependency(KF5ConfigWidgets "@KF5_DEP_VERSION@")
find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
find_dependency(KF5Crash "@KF5_DEP_VERSION@")
-find_dependency(KF5DesignerPlugin "@KF5_DEP_VERSION@")
if(@KF5DocTools_FOUND@)
find_dependency(KF5DocTools "@KF5_DEP_VERSION@")
endif()
diff --git a/cmake/modules/KDE4Macros.cmake b/cmake/modules/KDE4Macros.cmake
index 5c50a2cf..dc3c9af1 100644
--- a/cmake/modules/KDE4Macros.cmake
+++ b/cmake/modules/KDE4Macros.cmake
@@ -488,7 +488,9 @@ include("${CMAKE_CURRENT_LIST_DIR}/KDEUIMacros.cmake")
if (KF5DocTools_FOUND)
include("${KF5DocTools_DIR}/KF5DocToolsMacros.cmake")
endif()
-include("${KF5DesignerPlugin_DIR}/KF5DesignerPluginMacros.cmake")
+if (KF5DesignerPlugin_FOUND)
+ include("${KF5DesignerPlugin_DIR}/KF5DesignerPluginMacros.cmake")
+endif()
# functions deprecated, they still should work
macro (KDE4_AUTH_INSTALL_ACTIONS)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 469cc58a..df73c45b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -361,6 +361,7 @@ set_target_properties(KF5KDELibs4Support PROPERTIES
########## Designer plugin
+if (KF5DesignerPlugin_FOUND)
kf5designerplugin_add_plugin(kf5deprecatedwidgets
kdedeprecated.widgets
kdedeprecated.qrc
@@ -377,6 +378,7 @@ target_link_libraries(kf5deprecatedwidgets KF5::KDELibs4Support
)
install(TARGETS kf5deprecatedwidgets DESTINATION ${KDE_INSTALL_QTPLUGINDIR}/designer)
+endif()
##########

View File

@@ -0,0 +1,23 @@
commit 843cf87fbaebf977d2a2d1278d8369d4e1dba918
Author: Volker Krause <vkrause@kde.org>
Date: Mon Jan 1 19:19:12 2018 +0100
Don't export kf5-config to the CMake config file
It's not needed during building, but the corresponding find_package call
will check for its existence anyway, which is inconvenient when cross-
compiling.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 16dc6242..c59dff87 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,7 +91,7 @@ ecm_mark_nongui_executable(kf5-config)
target_link_libraries(kf5-config KF5::CoreAddons KF5::I18n KF5::ConfigCore KF5::KDELibs4Support)
target_include_directories(kf5-config PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../..")
-install(TARGETS kf5-config EXPORT KF5KDELibs4SupportTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ) # put this for now into the export set KDELibs4SupportTargets, so that it exists and is not empty
+install(TARGETS kf5-config ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ) # put this for now into the export set KDELibs4SupportTargets, so that it exists and is not empty
# create a Config.cmake and a ConfigVersion.cmake file and install them

View File

@@ -0,0 +1,2 @@
require ${PN}.inc
SRCREV = "v${PV}"

View File

@@ -71,4 +71,5 @@ RDEPENDS_${PN} = " \
\
kjs \
kjsembed \
kdelibs4support \
"