summaryrefslogtreecommitdiff
path: root/kde-frameworks/plasma/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-24 11:31:39 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-24 11:31:39 +0100
commit1afe1c223c048ca2c33fa230c83d620c04fecb8f (patch)
tree0a84fe08d8d4da38c52a26399f94ee584e7b01c6 /kde-frameworks/plasma/files
parentb946f2614a0d5afb20da123a7f13d120cb623d2f (diff)
gentoo auto-resync : 24:09:2022 - 11:31:39
Diffstat (limited to 'kde-frameworks/plasma/files')
-rw-r--r--kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch140
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
+