commit:     14c502071e37c34ce292c1589a403fbbdbb62687
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 18 20:49:43 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Dec 18 21:29:30 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14c50207

x11-themes/QGnomePlatform: Really fix build w/ Qt 6.10, fix warnings

Simply fix the existing (failed) GuiPrivate finding attempt, make that
Qt6-exclusive and add missing WaylandClientPrivate, both in root
CMakeLists.txt.

Bug: https://bugs.gentoo.org/966354
Closes: https://bugs.gentoo.org/966875
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild  |  9 +-
 .../files/QGnomePlatform-0.9.2-cmake4.patch        | 22 +++++
 ...10.patch => QGnomePlatform-0.9.2-qt-6.10.patch} | 99 +++++++++++-----------
 3 files changed, 75 insertions(+), 55 deletions(-)

diff --git a/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild 
b/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild
index 551629084c22..60bdffd3e869 100644
--- a/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild
+++ b/x11-themes/QGnomePlatform/QGnomePlatform-0.9.2-r7.ebuild
@@ -42,15 +42,10 @@ BDEPEND="
 "
 
 PATCHES=(
-       "${FILESDIR}/qt6_10.patch" #966354
+       "${FILESDIR}/${P}-cmake4.patch" # bugs #958301, #965856
+       "${FILESDIR}/${P}-qt-6.10.patch" # bug #966354
 )
 
-src_prepare() {
-       # Fix cmake4 compatibility, bug #958301, #965856
-       sed -i -e 's/VERSION 3.0/VERSION 3.10/' CMakeLists.txt || die
-       cmake_src_prepare
-}
-
 src_configure() {
        # avoid automagic dep on src/theme/qgtk3dialoghelpers.cpp
        use X || append-cppflags -DGENTOO_GTK_HIDE_X11

diff --git a/x11-themes/QGnomePlatform/files/QGnomePlatform-0.9.2-cmake4.patch 
b/x11-themes/QGnomePlatform/files/QGnomePlatform-0.9.2-cmake4.patch
new file mode 100644
index 000000000000..69628dfce129
--- /dev/null
+++ b/x11-themes/QGnomePlatform/files/QGnomePlatform-0.9.2-cmake4.patch
@@ -0,0 +1,22 @@
+Raise CMake minimum version to 3.10
+
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 85b3c2b..b3cc3b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,6 @@
+-project(QGnomePlatform)
++cmake_minimum_required(VERSION 3.10)
+ 
+-cmake_minimum_required(VERSION 3.0)
++project(QGnomePlatform)
+ 
+ set(QGNOMEPLATFORM_VERSION "0.9.2")
+ 
+-- 
+2.52.0
+

diff --git a/x11-themes/QGnomePlatform/files/qt6_10.patch 
b/x11-themes/QGnomePlatform/files/QGnomePlatform-0.9.2-qt-6.10.patch
similarity index 59%
rename from x11-themes/QGnomePlatform/files/qt6_10.patch
rename to x11-themes/QGnomePlatform/files/QGnomePlatform-0.9.2-qt-6.10.patch
index 2b586d2c1a28..e56156049045 100644
--- a/x11-themes/QGnomePlatform/files/qt6_10.patch
+++ b/x11-themes/QGnomePlatform/files/QGnomePlatform-0.9.2-qt-6.10.patch
@@ -1,38 +1,43 @@
-diff '--color=auto' -ur QGnomePlatform-0.9.2.old/src/common/CMakeLists.txt 
QGnomePlatform-0.9.2/src/common/CMakeLists.txt
---- QGnomePlatform-0.9.2.old/src/common/CMakeLists.txt 2025-11-30 
10:49:38.175201439 +0100
-+++ QGnomePlatform-0.9.2/src/common/CMakeLists.txt     2025-11-30 
10:50:30.233730113 +0100
-@@ -7,6 +7,10 @@
-     utils.cpp
+Fix build w/ Qt 6.10
+
+Thanks-to: Pacho Ramos <[email protected]>
+---
+ CMakeLists.txt                              |  9 ++++--
+ src/decoration/qgnomeplatformdecoration.cpp | 32 +++++++++++++++++++++
+ 2 files changed, 38 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b3cc3b3..7dbd3b3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,9 +39,9 @@ find_package(Qt${QT_VERSION_MAJOR} ${QT_MIN_VERSION} CONFIG 
REQUIRED COMPONENTS
+     QuickControls2
  )
  
-+if(QT_VERSION_MAJOR EQUAL 6)
-+    find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
-+endif()
-+
- add_library(qgnomeplatform${LIBQGNOMEPLATFORM_SUFFIX} SHARED ${common_SRCS})
- target_link_libraries(qgnomeplatform${LIBQGNOMEPLATFORM_SUFFIX}
-     Qt${QT_VERSION_MAJOR}::Core
-Sólo en QGnomePlatform-0.9.2/src/common: CMakeLists.txt~
-diff '--color=auto' -ur QGnomePlatform-0.9.2.old/src/decoration/CMakeLists.txt 
QGnomePlatform-0.9.2/src/decoration/CMakeLists.txt
---- QGnomePlatform-0.9.2.old/src/decoration/CMakeLists.txt     2025-11-30 
10:49:38.176201430 +0100
-+++ QGnomePlatform-0.9.2/src/decoration/CMakeLists.txt 2025-11-30 
10:51:11.264358626 +0100
-@@ -8,6 +8,11 @@
-     qgnomeplatformdecoration.cpp
- )
+-find_package(Qt${QT_VERSION_MAJOR}Gui ${QT_MIN_VERSION} CONFIG REQUIRED 
Private)
+-
+-if (NOT USE_QT6)
++if (USE_QT6)
++    find_package(Qt${QT_VERSION_MAJOR}GuiPrivate ${QT_MIN_VERSION} CONFIG 
REQUIRED)
++else()
+     find_package(Qt${QT_VERSION_MAJOR}ThemeSupport REQUIRED)
+ endif()
  
-+if(QT_VERSION_MAJOR EQUAL 6)
-+    find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
-+    find_package(Qt6 REQUIRED COMPONENTS WaylandClientPrivate)
-+endif()
-+
- add_library(qgnomeplatformdecoration MODULE ${decoration_SRCS})
- target_link_libraries(qgnomeplatformdecoration
-     qgnomeplatform${LIBQGNOMEPLATFORM_SUFFIX}
-Sólo en QGnomePlatform-0.9.2/src/decoration: CMakeLists.txt~
-diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformdecoration.cpp 
QGnomePlatform-0.9.2/src/decoration/qgnomeplatformdecoration.cpp
---- QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformdecoration.cpp       
2025-11-30 10:49:38.176201430 +0100
-+++ QGnomePlatform-0.9.2/src/decoration/qgnomeplatformdecoration.cpp   
2025-11-30 10:56:03.843709465 +0100
-@@ -689,20 +689,32 @@
+@@ -72,6 +72,9 @@ if (DISABLE_DECORATION_SUPPORT)
+     message(STATUS "Disabling Qt Wayland decoration support")
+ else()
+     find_package(Qt${QT_VERSION_MAJOR}WaylandClient ${QT_MIN_VERSION} CONFIG 
REQUIRED)
++    if (USE_QT6)
++        find_package(Qt${QT_VERSION_MAJOR}WaylandClientPrivate 
${QT_MIN_VERSION} CONFIG REQUIRED)
++    endif()
+     set_package_properties(Qt${QT_VERSION_MAJOR}WaylandClient PROPERTIES
+         DESCRIPTION "Qt Wayland decoration support"
+         PURPOSE "Required for QGnomePlatform decoration plugin"
+diff --git a/src/decoration/qgnomeplatformdecoration.cpp 
b/src/decoration/qgnomeplatformdecoration.cpp
+index bb32acf..810279e 100644
+--- a/src/decoration/qgnomeplatformdecoration.cpp
++++ b/src/decoration/qgnomeplatformdecoration.cpp
+@@ -689,19 +689,31 @@ void 
QGnomePlatformDecoration::processMouseTop(QWaylandInputDevice *inputDevice,
          if (local.x() <= margins().left()) {
              // top left bit
  #if QT_CONFIG(cursor)
@@ -40,8 +45,8 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SizeBDiagCursor);
 +#else
              waylandWindow()->setMouseCursor(inputDevice, Qt::SizeFDiagCursor);
- #endif
 +#endif
+ #endif
              startResize(inputDevice, Qt::TopEdge | Qt::LeftEdge, b);
          } else if (local.x() > surfaceRect.right() - margins().left()) {
              // top right bit
@@ -50,8 +55,8 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
              waylandWindow()->setMouseCursor(inputDevice, Qt::SizeBDiagCursor);
- #endif
 +#endif
+ #endif
              startResize(inputDevice, Qt::TopEdge | Qt::RightEdge, b);
          } else {
              // top resize bit
@@ -60,12 +65,11 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
              waylandWindow()->setMouseCursor(inputDevice, Qt::SplitVCursor);
- #endif
 +#endif
+ #endif
              startResize(inputDevice, Qt::TopEdge, b);
          }
-     } else if (local.x() <= surfaceRect.left() + margins().left()) {
-@@ -747,20 +759,32 @@
+@@ -747,19 +759,31 @@ void 
QGnomePlatformDecoration::processMouseBottom(QWaylandInputDevice *inputDevi
      if (local.x() <= margins().left()) {
          // bottom left bit
  #if QT_CONFIG(cursor)
@@ -73,8 +77,8 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
          waylandWindow()->setMouseCursor(inputDevice, Qt::SizeBDiagCursor);
- #endif
 +#endif
+ #endif
          startResize(inputDevice, Qt::BottomEdge | Qt::LeftEdge, b);
      } else if (local.x() > window()->width() + margins().right()) {
          // bottom right bit
@@ -83,8 +87,8 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
          waylandWindow()->setMouseCursor(inputDevice, Qt::SizeFDiagCursor);
- #endif
 +#endif
+ #endif
          startResize(inputDevice, Qt::BottomEdge | Qt::RightEdge, b);
      } else {
          // bottom bit
@@ -93,12 +97,11 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
          waylandWindow()->setMouseCursor(inputDevice, Qt::SplitVCursor);
- #endif
 +#endif
+ #endif
          startResize(inputDevice, Qt::BottomEdge, b);
      }
- }
-@@ -770,8 +794,12 @@
+@@ -770,7 +794,11 @@ void 
QGnomePlatformDecoration::processMouseLeft(QWaylandInputDevice *inputDevice
      Q_UNUSED(local)
      Q_UNUSED(mods)
  #if QT_CONFIG(cursor)
@@ -106,12 +109,11 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
      waylandWindow()->setMouseCursor(inputDevice, Qt::SplitHCursor);
- #endif
 +#endif
+ #endif
      startResize(inputDevice, Qt::LeftEdge, b);
  }
- 
-@@ -780,8 +808,12 @@
+@@ -780,7 +808,11 @@ void 
QGnomePlatformDecoration::processMouseRight(QWaylandInputDevice *inputDevic
      Q_UNUSED(local)
      Q_UNUSED(mods)
  #if QT_CONFIG(cursor)
@@ -119,9 +121,10 @@ diff '--color=auto' -ur 
QGnomePlatform-0.9.2.old/src/decoration/qgnomeplatformde
 +            waylandWindow()->applyCursor(inputDevice, Qt::SplitVCursor);
 +#else
      waylandWindow()->setMouseCursor(inputDevice, Qt::SplitHCursor);
- #endif
 +#endif
+ #endif
      startResize(inputDevice, Qt::RightEdge, b);
  }
- 
-Sólo en QGnomePlatform-0.9.2/src/decoration: qgnomeplatformdecoration.cpp~
+-- 
+2.52.0
+

Reply via email to