commit: 718214c77d2323472c1e0b38a2abcd43dfcf27de Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Sat Aug 6 09:30:35 2022 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Mon Oct 10 08:35:51 2022 +0000 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=718214c7
kde-frameworks/kdelibs4support: Fix build with USE -X Still pending upstream, but the last of Frameworks packages. Bug: https://bugs.gentoo.org/813450 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../files/kdelibs4support-5.99.0-with_x11.patch | 98 ++++++++++++++++++++++ .../kdelibs4support/kdelibs4support-9999.ebuild | 11 ++- 2 files changed, 106 insertions(+), 3 deletions(-) diff --git a/kde-frameworks/kdelibs4support/files/kdelibs4support-5.99.0-with_x11.patch b/kde-frameworks/kdelibs4support/files/kdelibs4support-5.99.0-with_x11.patch new file mode 100644 index 0000000000..24bcb1b9cc --- /dev/null +++ b/kde-frameworks/kdelibs4support/files/kdelibs4support-5.99.0-with_x11.patch @@ -0,0 +1,98 @@ +From 026571f37c990007be3d7e536b335c19ab98009e Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <[email protected]> +Date: Sat, 6 Aug 2022 11:16:00 +0200 +Subject: [PATCH] Add CMake option to build WITH_X11 + +We want to be able to build without X11 support even if some of the used +libraries may not work w/o X11 themselves yet or need to be built with +X11 support for other reverse dependencies. + +HAVE_X11 already exists and is set automagically so far, but using +-DCMAKE_DISABLE_FIND_PACKAGE_X11 will break if any dependencies list X11 +as required in their cmake config. This is a behavior change as previously +it was silently disabled if X11 was not found. + +Signed-off-by: Andreas Sturmlechner <[email protected]> +--- + CMakeLists.txt | 18 +++++++++++------- + src/CMakeLists.txt | 6 +++--- + tests/CMakeLists.txt | 2 +- + 3 files changed, 15 insertions(+), 11 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f577df45..378d23d4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,14 +51,18 @@ if(WIN32) + endif() + + if (NOT APPLE AND NOT WIN32) +- find_package(X11) ++ option(WITH_X11 "Build with X11 integration and session management" ON) ++ if(WITH_X11) ++ find_package(X11) ++ set(HAVE_X11 ${X11_FOUND}) ++ if (HAVE_X11) ++ add_feature_info("X11 Session Management (libSM)" X11_SM_FOUND "Support for session management in KApplication") ++ find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras) ++ find_package(XCB REQUIRED COMPONENTS XCB) ++ endif() ++ endif() + endif() +-set(HAVE_X11 ${X11_FOUND}) +-if (HAVE_X11) +- add_feature_info("X11 Session Management (libSM)" X11_SM_FOUND "Support for session management in KApplication") +- find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED X11Extras) +- find_package(XCB REQUIRED COMPONENTS XCB) +-endif () ++ + if (APPLE) + cmake_find_frameworks(CoreFoundation) + endif () +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 2096b355..4649a9d5 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -226,7 +226,7 @@ if (NOT KIO_NO_NEPOMUK) + ) + endif () + +-if (X11_FOUND) ++if (HAVE_X11) + set(libkdelibs4support_SRCS ${libkdelibs4support_SRCS} kdeui/kxerrorhandler.cpp ) + list(APPEND libkdelibs4support_OPTIONAL_LIBS Qt5::X11Extras ${X11_LIBRARIES}) + endif () +@@ -312,7 +312,7 @@ set(platformLinkLibraries) + if (APPLE) + set(platformLinkLibraries "-framework CoreFoundation -framework Carbon -lresolv") + endif() +-if (X11_FOUND) ++if (HAVE_X11) + set(platformLinkLibraries ${XCB_XCB_LIBRARY}) + endif() + +@@ -545,7 +545,7 @@ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/all_languages DESTINATION ${KDE_INSTA + install( FILES kdeui/40.colors kdeui/Oxygen.colors kdeui/Web.colors kdeui/Royal.colors kdeui/Rainbow.colors + DESTINATION ${KDE_INSTALL_CONFDIR}/colors) + +-if (NOT X11_FOUND) ++if (NOT HAVE_X11) + # install our copy of the rgb.txt named colors list on systems without X11 + install(FILES kdeui/rgb.txt DESTINATION ${KDE_INSTALL_DATADIR_KF5}/kdeui) + endif () +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 53f870ff..db4b28db 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -63,7 +63,7 @@ target_link_libraries(networkingservice KF5::KDELibs4Support) + + ###### kxerrorhandlertest ##### + +-if (X11_FOUND) ++if (HAVE_X11) + find_package(Qt5X11Extras ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) + kdelibs4support_examples( kxerrorhandlertest ) + +-- +2.35.1 + diff --git a/kde-frameworks/kdelibs4support/kdelibs4support-9999.ebuild b/kde-frameworks/kdelibs4support/kdelibs4support-9999.ebuild index 9f084b189d..b455381245 100644 --- a/kde-frameworks/kdelibs4support/kdelibs4support-9999.ebuild +++ b/kde-frameworks/kdelibs4support/kdelibs4support-9999.ebuild @@ -11,6 +11,7 @@ VIRTUALX_REQUIRED="test" inherit ecm frameworks.kde.org DESCRIPTION="Framework easing the development transition from KDELibs 4 to KF 5" + LICENSE="LGPL-2+" KEYWORDS="" IUSE="X" @@ -45,13 +46,13 @@ COMMON_DEPEND=" =kde-frameworks/kio-${PVCUT}*:5 =kde-frameworks/kitemviews-${PVCUT}*:5 =kde-frameworks/kjobwidgets-${PVCUT}*:5 - =kde-frameworks/knotifications-${PVCUT}*:5[X=] + =kde-frameworks/knotifications-${PVCUT}*:5[X?] =kde-frameworks/kparts-${PVCUT}*:5 =kde-frameworks/kservice-${PVCUT}*:5 =kde-frameworks/ktextwidgets-${PVCUT}*:5 =kde-frameworks/kunitconversion-${PVCUT}*:5 =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 - =kde-frameworks/kwindowsystem-${PVCUT}*:5[X=] + =kde-frameworks/kwindowsystem-${PVCUT}*:5[X?] =kde-frameworks/kxmlgui-${PVCUT}*:5 =kde-frameworks/solid-${PVCUT}*:5 virtual/libintl @@ -79,8 +80,12 @@ BDEPEND=" " PATCHES=( + # downstream patches "${FILESDIR}/${PN}-5.80.0-no-kdesignerplugin.patch" # bug 755956 "${FILESDIR}/${PN}-5.86.0-unused-dep.patch" # bug 755956 + # pending upstream: + # https://invent.kde.org/frameworks/kdelibs4support/-/merge_requests/21 + "${FILESDIR}/${PN}-5.99.0-with_x11.patch" ) src_prepare() { @@ -95,7 +100,7 @@ src_prepare() { src_configure() { local mycmakeargs=( - $(cmake_use_find_package X X11) + -DWITH_X11=$(usex X) ) ecm_src_configure
