forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kde-frameworks/plasma: Fix build with USE -X
Upstream commit d674a99d19efcad866a773fe6c848a7626a61c0a Bug: https://bugs.gentoo.org/813450 Signed-off-by: Andreas Sturmlechner <[email protected]>
- Loading branch information
Showing
2 changed files
with
144 additions
and
3 deletions.
There are no files selected for viewing
140 changes: 140 additions & 0 deletions
140
kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
From d674a99d19efcad866a773fe6c848a7626a61c0a Mon Sep 17 00:00:00 2001 | ||
From: Andreas Sturmlechner <[email protected]> | ||
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 <[email protected]> | ||
--- | ||
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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters