git: 8da1f27e86ab - main - x11-toolkits/como: Prepare for Qt 6.10

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Fri, 05 Dec 2025 01:04:42 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8da1f27e86ab326d32b8cf107d4436cd3571750c

commit 8da1f27e86ab326d32b8cf107d4436cd3571750c
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-12-05 00:49:50 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-12-05 01:03:45 +0000

    x11-toolkits/como: Prepare for Qt 6.10
    
    Add several patches to fix build with Qt 6.10.
    
    With hat:       kde@
---
 x11-toolkits/como/files/patch-CMakeLists.txt         | 17 +++++++++++++++++
 x11-toolkits/como/files/patch-como-config.cmake.in   | 13 +++++++++++++
 .../como/files/patch-plugins_qpa_CMakeLists.txt      | 15 +++++++++++++++
 .../como/files/patch-plugins_qpa_integration.cpp     | 20 ++++++++++++++++++++
 4 files changed, 65 insertions(+)

diff --git a/x11-toolkits/como/files/patch-CMakeLists.txt b/x11-toolkits/como/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..df67175e66bc
--- /dev/null
+++ b/x11-toolkits/como/files/patch-CMakeLists.txt
@@ -0,0 +1,17 @@
+Since Qt 6.9.0, the GuiPrivate target has had it's own CMake config, but
+beginning with Qt 6.10.0, this must be found separately.
+
+--- CMakeLists.txt.orig	2024-10-09 12:19:16 UTC
++++ CMakeLists.txt
+@@ -47,6 +47,11 @@ find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COM
+     UiTools
+     Widgets
+ )
++if(Qt6_VERSION VERSION_GREATER_EQUAL 6.10.0)
++    find_package(Qt6 6.10.0 CONFIG REQUIRED COMPONENTS
++        GuiPrivate
++    )
++endif()
+ 
+ find_package(Qt6Test ${QT_MIN_VERSION} CONFIG QUIET)
+ set_package_properties(Qt6Test PROPERTIES
diff --git a/x11-toolkits/como/files/patch-como-config.cmake.in b/x11-toolkits/como/files/patch-como-config.cmake.in
new file mode 100644
index 000000000000..2f9e3f741f4f
--- /dev/null
+++ b/x11-toolkits/como/files/patch-como-config.cmake.in
@@ -0,0 +1,13 @@
+Export Qt6::GuiPrivate to consumers. This is required since Qt 6.10.0.
+
+--- como-config.cmake.in.orig	2024-10-09 12:19:16 UTC
++++ como-config.cmake.in
+@@ -10,7 +10,7 @@ find_dependency(wlroots @WLROOTS_MIN_VERSION@)
+ find_dependency(epoxy)
+ find_dependency(Pixman)
+ find_dependency(wlroots @WLROOTS_MIN_VERSION@)
+-find_dependency(Qt6Gui @QT_MIN_VERSION@)
++find_dependency(Qt6 @QT_MIN_VERSION@ COMPONENTS Gui GuiPrivate)
+ find_dependency(KF6 @KF6_MIN_VERSION@ COMPONENTS
+   Auth
+   ColorScheme
diff --git a/x11-toolkits/como/files/patch-plugins_qpa_CMakeLists.txt b/x11-toolkits/como/files/patch-plugins_qpa_CMakeLists.txt
new file mode 100644
index 000000000000..a3a1e1b30637
--- /dev/null
+++ b/x11-toolkits/como/files/patch-plugins_qpa_CMakeLists.txt
@@ -0,0 +1,15 @@
+Remove unneeded Qt::CorePrivate target. Qt upstream has been cracking
+down on use of private headers/targets since 6.9.0 and keeping these
+unused targets is becoming increasingly problematic. This appears to
+be a carryover from Qt5.
+
+--- plugins/qpa/CMakeLists.txt.orig	2024-10-09 12:19:16 UTC
++++ plugins/qpa/CMakeLists.txt
+@@ -25,7 +25,6 @@ target_link_libraries(ComoQpaPlugin PRIVATE
+ 
+ target_link_libraries(ComoQpaPlugin PRIVATE
+     epoxy::epoxy
+-    Qt::CorePrivate
+     Qt::GuiPrivate
+     Freetype::Freetype # Must be after Qt platform support libs
+     Fontconfig::Fontconfig
diff --git a/x11-toolkits/como/files/patch-plugins_qpa_integration.cpp b/x11-toolkits/como/files/patch-plugins_qpa_integration.cpp
new file mode 100644
index 000000000000..4424cdf8aa0d
--- /dev/null
+++ b/x11-toolkits/como/files/patch-plugins_qpa_integration.cpp
@@ -0,0 +1,20 @@
+Adapt for Qt 6.10.0. The private QPA header genericunixthemes_p.h was
+renamed to qgenericunixtheme_p.h.
+
+--- plugins/qpa/integration.cpp.orig	2024-10-09 12:19:16 UTC
++++ plugins/qpa/integration.cpp
+@@ -25,8 +25,13 @@ SPDX-License-Identifier: GPL-2.0-or-later
+ #include <qpa/qwindowsysteminterface.h>
+ 
+ #include <QtGui/private/qgenericunixfontdatabase_p.h>
+-#include <QtGui/private/qgenericunixthemes_p.h>
+ #include <QtGui/private/qunixeventdispatcher_qpa_p.h>
++
++#if QT_VERSION >= QT_VERSION_CHECK(6,10,0)
++#include <QtGui/private/qgenericunixtheme_p.h>
++#else
++#include <QtGui/private/qgenericunixthemes_p.h>
++#endif
+ 
+ #if !defined(QT_NO_ACCESSIBILITY_ATSPI_BRIDGE)
+ #include <QtGui/private/qspiaccessiblebridge_p.h>