diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-09-24 11:31:39 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-09-24 11:31:39 +0100 |
commit | 1afe1c223c048ca2c33fa230c83d620c04fecb8f (patch) | |
tree | 0a84fe08d8d4da38c52a26399f94ee584e7b01c6 /kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch | |
parent | b946f2614a0d5afb20da123a7f13d120cb623d2f (diff) |
gentoo auto-resync : 24:09:2022 - 11:31:39
Diffstat (limited to 'kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch')
-rw-r--r-- | kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch b/kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch new file mode 100644 index 000000000000..62b393ba9b91 --- /dev/null +++ b/kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch @@ -0,0 +1,140 @@ +From d674a99d19efcad866a773fe6c848a7626a61c0a Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Tue, 2 Aug 2022 10:52:59 +0200 +Subject: [PATCH] Add CMake option to build WITHOUT_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. + +Introducing this option means there is no behavior change by default, +cmake will just skip finding X11 or adding unwanted features if the +option is enabled. + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + CMakeLists.txt | 51 ++++++++++--------- + .../core/config-x11.h.cmake | 1 + + src/plasmaquick/CMakeLists.txt | 8 +-- + src/plasmaquick/dialog.cpp | 1 + + 4 files changed, 31 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3b6405725..15698543f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,28 +88,33 @@ set_package_properties(KF5DocTools PROPERTIES DESCRIPTION "Tools to generate doc + TYPE OPTIONAL + ) + +-#optional features +-find_package(X11 MODULE) +-set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" +- URL "https://www.x.org/" +- TYPE OPTIONAL +- ) +-find_package(XCB MODULE COMPONENTS XCB COMPOSITE DAMAGE SHAPE XFIXES RENDER) +-set_package_properties(XCB PROPERTIES DESCRIPTION "X protocol C-language Binding" +- URL "https://xcb.freedesktop.org/" +- TYPE OPTIONAL +- ) +-if(X11_FOUND AND XCB_XCB_FOUND) +- set(HAVE_X11 1) +- if (QT_MAJOR_VERSION STREQUAL "5") +- find_package(Qt5X11Extras ${REQUIRED_QT_VERSION} NO_MODULE) +- elseif (QT_MAJOR_VERSION STREQUAL "6") +- find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) # qtx11extras_p.h +- endif() +- #X11_Xrender discovery is done by FindX11 +- #add_feature_info("X Rendering Extension (libXrender)" X11_Xrender_FOUND "Support for compositing, rendering operations, and alpha-blending. STRONGLY RECOMMENDED") +-else() +- set(HAVE_X11 0) ++option(WITHOUT_X11 "Build without X11 support (skips finding X11)." OFF) ++if(NOT WITHOUT_X11) ++ #optional features ++ find_package(X11 MODULE) ++ set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" ++ URL "https://www.x.org/" ++ TYPE OPTIONAL ++ ) ++ find_package(XCB MODULE COMPONENTS XCB COMPOSITE DAMAGE SHAPE XFIXES RENDER) ++ set_package_properties(XCB PROPERTIES DESCRIPTION "X protocol C-language Binding" ++ URL "https://xcb.freedesktop.org/" ++ TYPE OPTIONAL ++ ) ++ if(X11_FOUND AND XCB_XCB_FOUND) ++ set(HAVE_X11 1) ++ if (QT_MAJOR_VERSION STREQUAL "5") ++ find_package(Qt5X11Extras ${REQUIRED_QT_VERSION} NO_MODULE) ++ elseif (QT_MAJOR_VERSION STREQUAL "6") ++ find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) # qtx11extras_p.h ++ endif() ++ #X11_Xrender discovery is done by FindX11 ++ #add_feature_info("X Rendering Extension (libXrender)" X11_Xrender_FOUND "Support for compositing, rendering operations, and alpha-blending. STRONGLY RECOMMENDED") ++ set(HAVE_XCB_SHAPE ${XCB_SHAPE_FOUND}) ++ else() ++ set(HAVE_X11 0) ++ set(HAVE_XCB_SHAPE 0) ++ endif() + endif() + + find_package(OpenGL) +@@ -125,7 +130,7 @@ set_package_properties(EGL PROPERTIES + ) + + get_target_property(QtGui_Enabled_Features Qt${QT_MAJOR_VERSION}::Gui QT_ENABLED_PUBLIC_FEATURES) +-if(OpenGL_GLX_FOUND AND X11_FOUND AND (QtGui_Enabled_Features MATCHES "opengl")) ++if(OpenGL_GLX_FOUND AND HAVE_X11 AND (QtGui_Enabled_Features MATCHES "opengl")) + add_feature_info(GLX OpenGL_GLX_FOUND "OpenGL GLX libraries.") + set(HAVE_GLX 1) + else() +diff --git a/src/declarativeimports/core/config-x11.h.cmake b/src/declarativeimports/core/config-x11.h.cmake +index 2f543d547..ad1b45099 100644 +--- a/src/declarativeimports/core/config-x11.h.cmake ++++ b/src/declarativeimports/core/config-x11.h.cmake +@@ -1,2 +1,3 @@ + #cmakedefine01 HAVE_X11 + #cmakedefine01 HAVE_XCB_COMPOSITE ++#cmakedefine01 HAVE_XCB_SHAPE +diff --git a/src/plasmaquick/CMakeLists.txt b/src/plasmaquick/CMakeLists.txt +index 37bbc5097..dd2442e70 100644 +--- a/src/plasmaquick/CMakeLists.txt ++++ b/src/plasmaquick/CMakeLists.txt +@@ -1,9 +1,3 @@ +-if(HAVE_X11 AND XCB_XCB_FOUND AND XCB_SHAPE_FOUND) +- add_definitions(-DHAVE_XCB_SHAPE=1) +-else() +- add_definitions(-DHAVE_XCB_SHAPE=0) +-endif() +- + add_library(KF5PlasmaQuick SHARED) + add_library(KF5::PlasmaQuick ALIAS KF5PlasmaQuick) + +@@ -81,7 +75,7 @@ if(HAVE_X11) + target_link_libraries(KF5PlasmaQuick PRIVATE Qt6::GuiPrivate) + endif() + +- if(XCB_SHAPE_FOUND) ++ if(HAVE_XCB_SHAPE) + target_link_libraries(KF5PlasmaQuick PRIVATE XCB::SHAPE) + endif() + endif() +diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp +index 452e36523..2eabd5fb7 100644 +--- a/src/plasmaquick/dialog.cpp ++++ b/src/plasmaquick/dialog.cpp +@@ -11,6 +11,7 @@ + #include "../declarativeimports/core/framesvgitem.h" + #include "appletquickitem.h" + #include "config-plasma.h" ++#include "../declarativeimports/core/config-x11.h" + #include "configview.h" + #include "dialogshadows_p.h" + #include "view.h" +-- +GitLab + |