From e991c3a01691713332f47d6e397ae8aaa35a3a90 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Tue, 2 Aug 2022 10:56:39 +0200 Subject: kde-frameworks/plasma: Fix build with USE -X Upstream commit d674a99d19efcad866a773fe6c848a7626a61c0a Bug: https://bugs.gentoo.org/813450 Signed-off-by: Andreas Sturmlechner --- .../plasma/files/plasma-5.98.0-without_x11.patch | 140 +++++++++++++++++++++ kde-frameworks/plasma/plasma-5.98.0-r1.ebuild | 74 +++++++++++ kde-frameworks/plasma/plasma-5.98.0.ebuild | 73 ----------- 3 files changed, 214 insertions(+), 73 deletions(-) create mode 100644 kde-frameworks/plasma/files/plasma-5.98.0-without_x11.patch create mode 100644 kde-frameworks/plasma/plasma-5.98.0-r1.ebuild delete mode 100644 kde-frameworks/plasma/plasma-5.98.0.ebuild (limited to 'kde-frameworks/plasma') 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 +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 +--- + 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 + diff --git a/kde-frameworks/plasma/plasma-5.98.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.98.0-r1.ebuild new file mode 100644 index 000000000000..36811b06c0b8 --- /dev/null +++ b/kde-frameworks/plasma/plasma-5.98.0-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KDE_ORG_NAME="${PN}-framework" +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.5 +VIRTUALX_REQUIRED="test" +inherit ecm frameworks.kde.org + +DESCRIPTION="Plasma framework" + +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="gles2-only man wayland X" + +RESTRICT="test" + +RDEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5[gles2-only=,X=] + >=dev-qt/qtquickcontrols-${QTMIN}:5 + >=dev-qt/qtsql-${QTMIN}:5 + >=dev-qt/qtsvg-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + =kde-frameworks/kactivities-${PVCUT}*:5 + =kde-frameworks/karchive-${PVCUT}*:5 + =kde-frameworks/kconfig-${PVCUT}*:5[qml] + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/kdeclarative-${PVCUT}*:5 + =kde-frameworks/kglobalaccel-${PVCUT}*:5 + =kde-frameworks/kguiaddons-${PVCUT}*:5 + =kde-frameworks/ki18n-${PVCUT}*:5 + =kde-frameworks/kiconthemes-${PVCUT}*:5 + =kde-frameworks/kio-${PVCUT}*:5 + =kde-frameworks/kirigami-${PVCUT}*:5 + =kde-frameworks/knotifications-${PVCUT}*:5 + =kde-frameworks/kpackage-${PVCUT}*:5 + =kde-frameworks/kservice-${PVCUT}*:5 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 + =kde-frameworks/kwindowsystem-${PVCUT}*:5[X?] + =kde-frameworks/kxmlgui-${PVCUT}*:5 + !gles2-only? ( media-libs/libglvnd[X?] ) + wayland? ( + =kde-frameworks/kwayland-${PVCUT}*:5 + media-libs/libglvnd + ) + X? ( + >=dev-qt/qtx11extras-${QTMIN}:5 + x11-libs/libX11 + x11-libs/libxcb + ) +" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) +" +BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )" + +PATCHES=( "${FILESDIR}/${P}-without_x11.patch" ) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package !gles2-only OpenGL) + $(cmake_use_find_package man KF5DocTools) + $(cmake_use_find_package wayland EGL) + $(cmake_use_find_package wayland KF5Wayland) + -DWITHOUT_X11=$(usex !X) + ) + + ecm_src_configure +} diff --git a/kde-frameworks/plasma/plasma-5.98.0.ebuild b/kde-frameworks/plasma/plasma-5.98.0.ebuild deleted file mode 100644 index 376e2545e87e..000000000000 --- a/kde-frameworks/plasma/plasma-5.98.0.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KDE_ORG_NAME="${PN}-framework" -PVCUT=$(ver_cut 1-2) -QTMIN=5.15.5 -VIRTUALX_REQUIRED="test" -inherit ecm frameworks.kde.org - -DESCRIPTION="Plasma framework" - -LICENSE="LGPL-2+" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="gles2-only man wayland X" - -RESTRICT="test" - -RDEPEND=" - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtdeclarative-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5[gles2-only=,X=] - >=dev-qt/qtquickcontrols-${QTMIN}:5 - >=dev-qt/qtsql-${QTMIN}:5 - >=dev-qt/qtsvg-${QTMIN}:5 - >=dev-qt/qtwidgets-${QTMIN}:5 - =kde-frameworks/kactivities-${PVCUT}*:5 - =kde-frameworks/karchive-${PVCUT}*:5 - =kde-frameworks/kconfig-${PVCUT}*:5[qml] - =kde-frameworks/kconfigwidgets-${PVCUT}*:5 - =kde-frameworks/kcoreaddons-${PVCUT}*:5 - =kde-frameworks/kdeclarative-${PVCUT}*:5 - =kde-frameworks/kglobalaccel-${PVCUT}*:5 - =kde-frameworks/kguiaddons-${PVCUT}*:5 - =kde-frameworks/ki18n-${PVCUT}*:5 - =kde-frameworks/kiconthemes-${PVCUT}*:5 - =kde-frameworks/kio-${PVCUT}*:5 - =kde-frameworks/kirigami-${PVCUT}*:5 - =kde-frameworks/knotifications-${PVCUT}*:5 - =kde-frameworks/kpackage-${PVCUT}*:5 - =kde-frameworks/kservice-${PVCUT}*:5 - =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 - =kde-frameworks/kwindowsystem-${PVCUT}*:5 - =kde-frameworks/kxmlgui-${PVCUT}*:5 - !gles2-only? ( media-libs/libglvnd[X?] ) - wayland? ( - =kde-frameworks/kwayland-${PVCUT}*:5 - media-libs/libglvnd - ) - X? ( - >=dev-qt/qtx11extras-${QTMIN}:5 - x11-libs/libX11 - x11-libs/libxcb - ) -" -DEPEND="${RDEPEND} - X? ( x11-base/xorg-proto ) -" -BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )" - -src_configure() { - local mycmakeargs=( - $(cmake_use_find_package !gles2-only OpenGL) - $(cmake_use_find_package man KF5DocTools) - $(cmake_use_find_package wayland EGL) - $(cmake_use_find_package wayland KF5Wayland) - $(cmake_use_find_package X X11) - $(cmake_use_find_package X XCB) - ) - - ecm_src_configure -} -- cgit v1.2.3-65-gdbad