summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-08-06 10:18:29 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2022-10-11 14:39:52 +0200
commit116b19db4b98036ff6514677b3159b1d06bd54f4 (patch)
tree7922a1983c8bb8b6e3268d66fe6b5c3e84e75d04 /kde-plasma/libksysguard
parentkde-plasma/libksysguard: add 5.26.0 (diff)
downloadgentoo-116b19db4b98036ff6514677b3159b1d06bd54f4.tar.gz
gentoo-116b19db4b98036ff6514677b3159b1d06bd54f4.tar.bz2
gentoo-116b19db4b98036ff6514677b3159b1d06bd54f4.zip
kde-plasma/libksysguard: Fix build with USE -X
Bug: https://bugs.gentoo.org/813450 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-plasma/libksysguard')
-rw-r--r--kde-plasma/libksysguard/files/libksysguard-5.26.0-with_x11.patch110
-rw-r--r--kde-plasma/libksysguard/libksysguard-5.26.0.ebuild10
2 files changed, 118 insertions, 2 deletions
diff --git a/kde-plasma/libksysguard/files/libksysguard-5.26.0-with_x11.patch b/kde-plasma/libksysguard/files/libksysguard-5.26.0-with_x11.patch
new file mode 100644
index 000000000000..d27504413384
--- /dev/null
+++ b/kde-plasma/libksysguard/files/libksysguard-5.26.0-with_x11.patch
@@ -0,0 +1,110 @@
+From c389fbdaff34e35b0cd5de32b52e818714e13d40 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 1 Aug 2022 16:53:42 +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.
+
+- Cleanup HAVE_* definitions a bit
+- Clarify X11 PURPOSE a bit
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 44 ++++++++++++++++++++++------------------
+ processui/CMakeLists.txt | 4 ++--
+ 2 files changed, 26 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 55938c4..5d4e085 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,25 +65,31 @@ ecm_setup_version(${PROJECT_VERSION}
+ SOVERSION 9
+ )
+
+-find_package(X11)
+-set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries"
+- URL "https://www.x.org"
+- TYPE OPTIONAL
+- PURPOSE "Required for building the X11 based workspace"
+- )
+-if(X11_FOUND)
+- if (QT_MAJOR_VERSION STREQUAL "5")
+- find_package(Qt5X11Extras REQUIRED)
+- elseif (QT_MAJOR_VERSION STREQUAL "6")
+- find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) # qtx11extras_p.h
+- endif()
+- set(HAVE_X11 1)
+- find_library(X11_XRes_LIB XRes ${X11_LIB_SEARCH_PATH})
+- find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h ${X11_INC_SEARCH_PATH})
+-
+- if(X11_XRes_LIB AND X11_XRes_INCLUDE_PATH)
+- set(X11_XRes_FOUND TRUE)
++option(WITH_X11 "Build with X11 support." ON)
++if(WITH_X11)
++ find_package(X11)
++ set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries"
++ URL "https://www.x.org"
++ TYPE OPTIONAL
++ PURPOSE "Required for building Process UI with X11 support"
++ )
++ if(X11_FOUND)
++ if (QT_MAJOR_VERSION STREQUAL "5")
++ find_package(Qt5X11Extras REQUIRED)
++ elseif (QT_MAJOR_VERSION STREQUAL "6")
++ find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) # qtx11extras_p.h
++ endif()
++ set(HAVE_X11 1)
++ find_library(X11_XRes_LIB XRes ${X11_LIB_SEARCH_PATH})
++ find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h ${X11_INC_SEARCH_PATH})
++
++ if(X11_XRes_LIB AND X11_XRes_INCLUDE_PATH)
++ set(HAVE_XRES 1)
++ endif()
+ endif()
++else()
++ set(HAVE_X11 0)
++ set(HAVE_XRES 0)
+ endif()
+
+ set(WEBENGINE_SCRIPTING_ENABLED FALSE)
+@@ -122,8 +128,6 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ PURPOSE "Used for reading hardware sensors")
+ endif()
+
+-set(HAVE_X11 ${X11_FOUND})
+-set(HAVE_XRES ${X11_XRes_FOUND})
+ configure_file(config-ksysguard.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ksysguard.h )
+
+ option(BUILD_DESIGNERPLUGIN "Build plugin for Qt Designer" ON)
+diff --git a/processui/CMakeLists.txt b/processui/CMakeLists.txt
+index 2932733..c9bd800 100644
+--- a/processui/CMakeLists.txt
++++ b/processui/CMakeLists.txt
+@@ -30,7 +30,7 @@ ki18n_wrap_ui( processui_LIB_SRCS
+ add_library(processui ${processui_LIB_SRCS})
+ add_library(KSysGuard::ProcessUi ALIAS processui)
+
+-if(X11_XRes_FOUND)
++if(HAVE_XRES)
+ target_link_libraries(processui PRIVATE ${X11_XRes_LIB} ${X11_LIBRARIES})
+ include_directories(${X11_XRes_INCLUDE_PATH})
+ endif()
+@@ -59,7 +59,7 @@ target_include_directories(processui
+ "$<BUILD_INTERFACE:${libksysguard_SOURCE_DIR}>"
+ "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/ksysguard>"
+ )
+-if(X11_FOUND)
++if(HAVE_X11)
+ if (QT_MAJOR_VERSION STREQUAL "5")
+ target_link_libraries(processui PRIVATE Qt::X11Extras KF5::WindowSystem)
+ else()
+--
+2.35.1
+
diff --git a/kde-plasma/libksysguard/libksysguard-5.26.0.ebuild b/kde-plasma/libksysguard/libksysguard-5.26.0.ebuild
index 712169dd486f..e7b018aa1552 100644
--- a/kde-plasma/libksysguard/libksysguard-5.26.0.ebuild
+++ b/kde-plasma/libksysguard/libksysguard-5.26.0.ebuild
@@ -57,13 +57,19 @@ RDEPEND="${COMMON_DEPEND}
!<kde-plasma/ksysguard-5.21.90:5
"
-PATCHES=( "${FILESDIR}/${PN}-5.22.80-no-detailed-mem-message.patch" )
+PATCHES=(
+ # downstream patch
+ "${FILESDIR}/${PN}-5.22.80-no-detailed-mem-message.patch"
+ # pending upstream:
+ # https://invent.kde.org/plasma/libksysguard/-/merge_requests/238
+ "${FILESDIR}/${P}-with_x11.patch"
+)
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package webengine Qt5WebChannel)
$(cmake_use_find_package webengine Qt5WebEngineWidgets)
- $(cmake_use_find_package X X11)
+ -DWITH_X11=$(usex X)
)
ecm_src_configure