summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomáš Chvátal <scarabeus@gentoo.org>2009-05-11 23:46:32 +0200
committerTomáš Chvátal <scarabeus@gentoo.org>2009-05-11 23:46:32 +0200
commitb7867d439882d47e35cbbd3b0a873cc9ef1d8879 (patch)
tree772a4dd0cc3ea6f8a6e529c3fcaa0f86271c8e2e
parent3a0e5415e7969b8eadfaab0a650446c845b1000f (diff)
downloadkde-b7867d439882d47e35cbbd3b0a873cc9ef1d8879.tar.gz
kde-b7867d439882d47e35cbbd3b0a873cc9ef1d8879.tar.bz2
kde-b7867d439882d47e35cbbd3b0a873cc9ef1d8879.zip
[eclasses] Fix the kdebase-workspace issue for good hopefully
-rw-r--r--eclass/kde4-meta.eclass21
1 files changed, 17 insertions, 4 deletions
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
index 5835ad809d1..578ad0a430c 100644
--- a/eclass/kde4-meta.eclass
+++ b/eclass/kde4-meta.eclass
@@ -582,10 +582,20 @@ kde4-meta_change_cmakelists() {
# strip duplicate definitions only. Libkworkspace is only special
# candidate that installs the desired file itself.
if [[ ${PN} != libkworkspace ]]; then
- sed -i \
- -e '/install(FILES[[:space:]]\${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/DESTINATION \${_KDE4WorkspaceConfig_INSTALL_DIR})/d' \
- -e "s/FILE KDE4WorkspaceLibraryTargets.cmake/FILE KDE4WorkspaceLibraryTargets-${PN}.cmake/g" \
- CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section"
+ # we have to search up the CMakeLists.txt to see if we install
+ # export or not
+ [[ `find "${S}" -type f -name CMakeLists.txt | xargs -i cat {} | grep "EXPORT kdeworkspaceLibraryTargets" | wc -l` -gt 1 ]] \
+ && EXPORT_WORKSPACE=1
+ if [[ ${EXPORT_WORKSPACE} = 1 ]]; then
+ sed -i \
+ -e '/install(FILES[[:space:]]\${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/DESTINATION \${_KDE4WorkspaceConfig_INSTALL_DIR})/d' \
+ -e "s/FILE KDE4WorkspaceLibraryTargets.cmake/FILE KDE4WorkspaceLibraryTargets-${PN}.cmake/g" \
+ CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section"
+ else
+ sed -i \
+ -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \
+ CMakeLists.txt || die "${LINENO}: sed died in kdebase-workspace strip config install and fix EXPORT section"
+ fi
fi
;;
kdebase-runtime)
@@ -678,6 +688,9 @@ kde4-meta_src_install() {
debug-print-function $FUNCNAME "$@"
kde4-base_src_install
+ # remove loader script for kdebase-workspace. Only one is needed.
+ [[ ${KMNAME} = kdebase-workspace && ${PN} != libkworkspace && ${EXPORT_WORKSPACE} = 1 ]] && \
+ rm "${D}/${KDEDIR}/$(get_libdir)/cmake/KDE4Workspace-${PV}/KDE4WorkspaceLibraryTargets-${PN}.cmake"
}
# @FUNCTION: kde4-meta_src_make_doc