aboutsummaryrefslogtreecommitdiff
path: root/devel/qt6-base
diff options
context:
space:
mode:
Diffstat (limited to 'devel/qt6-base')
-rw-r--r--devel/qt6-base/Makefile4
-rw-r--r--devel/qt6-base/distinfo6
-rw-r--r--devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake13
-rw-r--r--devel/qt6-base/files/patch-cmake_QtRpathHelpers.cmake11
-rw-r--r--devel/qt6-base/files/patch-sock_seqpacket105
-rw-r--r--devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h27
-rw-r--r--devel/qt6-base/files/patch-src_corelib_io_qprocess__unix.cpp32
-rw-r--r--devel/qt6-base/pkg-plist25
8 files changed, 156 insertions, 67 deletions
diff --git a/devel/qt6-base/Makefile b/devel/qt6-base/Makefile
index ec92164f3f97..fc95beff7d2e 100644
--- a/devel/qt6-base/Makefile
+++ b/devel/qt6-base/Makefile
@@ -1,5 +1,6 @@
PORTNAME= base
DISTVERSION= ${QT6_VERSION}
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMEPREFIX= qt6-
@@ -74,7 +75,8 @@ X11_LIB_DEPENDS= libxcb-cursor.so:x11/xcb-util-cursor \
libxcb-icccm.so:x11/xcb-util-wm \
libxcb-image.so:x11/xcb-util-image \
libxcb-keysyms.so:x11/xcb-util-keysyms \
- libxcb-render-util.so:x11/xcb-util-renderutil
+ libxcb-render-util.so:x11/xcb-util-renderutil \
+ libxcb-util.so:x11/xcb-util
X11_USES= xorg
X11_USE= XORG=ice,pixman,sm,x11,xau,xcb,xcomposite,xcursor,xdamage,xdmcp,xext,xfixes,xi,xinerama,xrandr,xrender
X11_CMAKE_BOOL= FEATURE_xcb \
diff --git a/devel/qt6-base/distinfo b/devel/qt6-base/distinfo
index f27032e50768..f536c16bbf58 100644
--- a/devel/qt6-base/distinfo
+++ b/devel/qt6-base/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1756196361
-SHA256 (KDE/Qt/6.9.2/qtbase-everywhere-src-6.9.2.tar.xz) = 44be9c9ecfe04129c4dea0a7e1b36ad476c9cc07c292016ac98e7b41514f2440
-SIZE (KDE/Qt/6.9.2/qtbase-everywhere-src-6.9.2.tar.xz) = 49812824
+TIMESTAMP = 1759303163
+SHA256 (KDE/Qt/6.9.3/qtbase-everywhere-src-6.9.3.tar.xz) = c5a1a2f660356ec081febfa782998ae5ddbc5925117e64f50e4be9cd45b8dc6e
+SIZE (KDE/Qt/6.9.3/qtbase-everywhere-src-6.9.3.tar.xz) = 49856272
diff --git a/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake b/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake
deleted file mode 100644
index 561cc85a2ecd..000000000000
--- a/devel/qt6-base/files/patch-cmake_QtFlagHandlingHelpers.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
---- cmake/QtFlagHandlingHelpers.cmake.orig 2024-09-18 16:48:24 UTC
-+++ cmake/QtFlagHandlingHelpers.cmake
-@@ -177,6 +177,10 @@ function(qt_internal_add_link_flags_no_undefined targe
- set(no_undefined_flag "-Wl,--no-undefined")
- endif()
-
-+ if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
-+ set(no_undefined_flag "")
-+ endif()
-+
- set(CMAKE_REQUIRED_LINK_OPTIONS ${previous_CMAKE_REQUIRED_LINK_OPTIONS})
-
- if (NOT HAVE_DASH_UNDEFINED_SYMBOLS AND NOT HAVE_DASH_DASH_NO_UNDEFINED)
diff --git a/devel/qt6-base/files/patch-cmake_QtRpathHelpers.cmake b/devel/qt6-base/files/patch-cmake_QtRpathHelpers.cmake
deleted file mode 100644
index 7899d3825fba..000000000000
--- a/devel/qt6-base/files/patch-cmake_QtRpathHelpers.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- cmake/QtRpathHelpers.cmake.orig 2023-09-21 19:24:26 UTC
-+++ cmake/QtRpathHelpers.cmake
-@@ -8,6 +8,8 @@ function(qt_internal_get_relative_rpath_base_token out
- set(rpath_rel_base "@loader_path")
- elseif(LINUX OR SOLARIS OR FREEBSD OR HURD OR OPENBSD)
- set(rpath_rel_base "$ORIGIN")
-+ elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
-+ set(rpath_rel_base "$ORIGIN")
- else()
- set(rpath_rel_base "NO_KNOWN_RPATH_REL_BASE")
- endif()
diff --git a/devel/qt6-base/files/patch-sock_seqpacket b/devel/qt6-base/files/patch-sock_seqpacket
new file mode 100644
index 000000000000..0ce628239939
--- /dev/null
+++ b/devel/qt6-base/files/patch-sock_seqpacket
@@ -0,0 +1,105 @@
+https://codereview.qt-project.org/c/qt/qtbase/+/681531
+https://codereview.qt-project.org/c/qt/qtbase/+/682568
+
+From 8e06365bee31ef5a1980b7b24d1564e3d769cfc7 Mon Sep 17 00:00:00 2001
+From: Gleb Popov <arrowd@FreeBSD.org>
+Date: Thu, 2 Oct 2025 13:14:54 +0300
+Subject: [PATCH] QNativeSocketEngine::read: Only treat readBytes==0 as a EOF
+ condition with stream sockets
+
+This change also covers SOCK_SEQPACKET type of sockets, which isn't great,
+but allows to avoid an endless polling loop when waiting for read on
+a disconnected socket.
+
+Pick-to: 6.10
+Change-Id: I6117b97c2c9b775e9e6fe9757bf4374365e3227d
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+---
+ src/network/socket/qnativesocketengine.cpp | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git src/network/socket/qnativesocketengine.cpp src/network/socket/qnativesocketengine.cpp
+index f33e5a26bd94..4c83ef7e5df6 100644
+--- src/network/socket/qnativesocketengine.cpp
++++ src/network/socket/qnativesocketengine.cpp
+@@ -910,12 +910,11 @@ qint64 QNativeSocketEngine::read(char *data, qint64 maxSize)
+
+ qint64 readBytes = d->nativeRead(data, maxSize);
+
+- // Handle remote close
+- if (readBytes == 0 && (d->socketType == QAbstractSocket::TcpSocket
+-#ifndef QT_NO_SCTP
+- || d->socketType == QAbstractSocket::SctpSocket
+-#endif
+- )) {
++ // Handle remote close.
++ // Non-datagram socket types signal the EOF state with a zero read.
++ // Note that it is perfectly fine to have a 0-byte message with datagram
++ // sockets (SOCK_DGRAM or SOCK_SEQPACKET).
++ if (readBytes == 0 && d->socketType != QAbstractSocket::UdpSocket) {
+ d->setError(QAbstractSocket::RemoteHostClosedError,
+ QNativeSocketEnginePrivate::RemoteHostClosedErrorString);
+ close();
+--
+2.43.0
+
+From a395c091a56781352113670b72ba619367486e7e Mon Sep 17 00:00:00 2001
+From: Gleb Popov <arrowd@FreeBSD.org>
+Date: Tue, 7 Oct 2025 10:53:18 +0300
+Subject: [PATCH] Teach QNativeSocketEnginePrivate::fetchConnectionParameters()
+ about SOCK_SEQPACKET
+
+Pick-to: 6.10
+Change-Id: I4136ef3b4c198e3bd155884bde53171bd34959e4
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+---
+ .../socket/qnativesocketengine_unix.cpp | 23 ++++++++++++-------
+ 1 file changed, 15 insertions(+), 8 deletions(-)
+
+diff --git src/network/socket/qnativesocketengine_unix.cpp src/network/socket/qnativesocketengine_unix.cpp
+index b5fbb5c2e003..bcd9aecdea97 100644
+--- src/network/socket/qnativesocketengine_unix.cpp
++++ src/network/socket/qnativesocketengine_unix.cpp
+@@ -1244,6 +1244,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters()
+ QT_SOCKOPTLEN_T valueSize = sizeof(int);
+ if (::getsockopt(socketDescriptor, SOL_SOCKET, SO_TYPE, &value, &valueSize) == 0) {
+ if (value == SOCK_STREAM) {
++ socketType = QAbstractSocket::TcpSocket;
+ #ifndef QT_NO_SCTP
+ if (option(QNativeSocketEngine::MaxStreamsSocketOption) != -1) {
+ socketType = QAbstractSocket::SctpSocket;
+@@ -1266,17 +1267,23 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters()
+ return false;
+ }
+ }
+- } else {
+- socketType = QAbstractSocket::TcpSocket;
+ }
+-#else
+- socketType = QAbstractSocket::TcpSocket;
++#endif
++ } else if (value == SOCK_DGRAM) {
++ socketType = QAbstractSocket::UdpSocket;
++#ifdef SOCK_SEQPACKET
++ } else if (value == SOCK_SEQPACKET) {
++ // We approximate the SEQPACKET socket type to TCP, because
++ // this enum is actually used to determine if the socket type has
++ // a notion of connection. SOCK_DGRAM are connectionless, while
++ // SOCK_STREAM and SOCK_SEQPACKET are connection-orientired.
++ // This mapping is still suboptimal, because it is possible to send
++ // a 0-byte packet via SEQPACKET socket and Qt will treat it as
++ // a disconnect.
++ socketType = QAbstractSocket::TcpSocket;
+ #endif
+ } else {
+- if (value == SOCK_DGRAM)
+- socketType = QAbstractSocket::UdpSocket;
+- else
+- socketType = QAbstractSocket::UnknownSocketType;
++ socketType = QAbstractSocket::UnknownSocketType;
+ }
+ }
+ #if defined (QNATIVESOCKETENGINE_DEBUG)
+--
+2.43.0
+
diff --git a/devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h b/devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h
deleted file mode 100644
index 5d37ac721415..000000000000
--- a/devel/qt6-base/files/patch-src_corelib_global_qcomparehelpers.h
+++ /dev/null
@@ -1,27 +0,0 @@
-Suppress spurious zero as null pointer constant warnings which cause errors
-in www/dooble due to -Werror being passed. This is the same problem as in
-qcompare.h that upstream suppresses for GCC.
-
-/usr/local/include/qt6/QtCore/qfloat16.h:209:5: error: zero as null pointer constant [-Werror,-Wzero-as-null-pointer-constant]
-...
-/usr/local/include/qt6/QtCore/qcomparehelpers.h:211:43: note: expanded from macro 'QT_DECLARE_ORDERING_HELPER_TEMPLATE'
- 211 | { return compareThreeWay(lhs, rhs) >= 0; }
-
---- src/corelib/global/qcomparehelpers.h.orig 2025-02-19 13:05:34 UTC
-+++ src/corelib/global/qcomparehelpers.h
-@@ -316,6 +316,7 @@ orderingFlagsFor(T t) noexcept
-
- #define QT_DECLARE_ORDERING_HELPER_TEMPLATE(OrderingType, LeftType, RightType, Constexpr, \
- Noexcept, ...) \
-+ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant") \
- __VA_ARGS__ \
- friend Constexpr bool operator<(LeftType const &lhs, RightType const &rhs) Noexcept \
- { \
-@@ -357,6 +358,7 @@ orderingFlagsFor(T t) noexcept
- // Helpers for reversed ordering, using the existing compareThreeWay() function.
- #define QT_DECLARE_REVERSED_ORDERING_HELPER_TEMPLATE(OrderingType, LeftType, RightType, Constexpr, \
- Noexcept, ...) \
-+ QT_WARNING_DISABLE_CLANG("-Wzero-as-null-pointer-constant") \
- __VA_ARGS__ \
- friend Constexpr bool operator<(RightType const &lhs, LeftType const &rhs) Noexcept \
- { return is_gt(compareThreeWay(rhs, lhs)); } \
diff --git a/devel/qt6-base/files/patch-src_corelib_io_qprocess__unix.cpp b/devel/qt6-base/files/patch-src_corelib_io_qprocess__unix.cpp
new file mode 100644
index 000000000000..67daf0bcd3b5
--- /dev/null
+++ b/devel/qt6-base/files/patch-src_corelib_io_qprocess__unix.cpp
@@ -0,0 +1,32 @@
+Use dlsym to access environ. This avoids undefined references during linking
+with -Wl,-no-undefined.
+
+See https://reviews.freebsd.org/D30842
+
+--- src/corelib/io/qprocess_unix.cpp.orig 2025-08-11 04:54:51 UTC
++++ src/corelib/io/qprocess_unix.cpp
+@@ -59,10 +59,9 @@
+ # define _PATH_TTY _PATH_DEV "tty"
+ #endif
+
+-#ifdef Q_OS_FREEBSD
+-__attribute__((weak))
+-#endif
++#ifndef Q_OS_FREEBSD
+ extern char **environ;
++#endif
+
+ QT_BEGIN_NAMESPACE
+
+@@ -74,6 +73,11 @@ QProcessEnvironment QProcessEnvironment::systemEnviron
+ {
+ QProcessEnvironment env;
+ const char *entry;
++#ifdef Q_OS_FREEBSD
++ static char* nullenv = nullptr;
++ char ***environ_p = reinterpret_cast<char***>(dlsym(RTLD_DEFAULT, "environ"));
++ char **environ = environ_p ? *environ_p : &nullenv;
++#endif
+ for (int count = 0; (entry = environ[count]); ++count) {
+ const char *equal = strchr(entry, '=');
+ if (!equal)
diff --git a/devel/qt6-base/pkg-plist b/devel/qt6-base/pkg-plist
index 737f0c8e6992..5c67b6fac4c8 100644
--- a/devel/qt6-base/pkg-plist
+++ b/devel/qt6-base/pkg-plist
@@ -5,6 +5,7 @@ bin/qmake6
%%QT_INCDIR%%/QtConcurrent/QtConcurrentFilter
%%QT_INCDIR%%/QtConcurrent/QtConcurrentMap
%%QT_INCDIR%%/QtConcurrent/QtConcurrentRun
+%%QT_INCDIR%%/QtConcurrent/QtConcurrentTask
%%QT_INCDIR%%/QtConcurrent/QtConcurrentVersion
%%QT_INCDIR%%/QtConcurrent/qtaskbuilder.h
%%QT_INCDIR%%/QtConcurrent/qtconcurrent_global.h
@@ -968,8 +969,8 @@ bin/qmake6
%%QT_INCDIR%%/QtFbSupport/QtFbSupportDepends
%%QT_INCDIR%%/QtFbSupport/QtFbSupportVersion
%%QT_INCDIR%%/QtFbSupport/qtfbsupportversion.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/atspiadaptor_p.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/dbusconnection_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/atspiadaptor_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/dbusconnection_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qabstractfileiconengine_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qabstractfileiconprovider_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qabstractlayoutstyleinfo_p.h
@@ -1123,11 +1124,11 @@ bin/qmake6
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qshortcut_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qshortcutmap_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qsimpledrag_p.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspi_constant_mappings_p.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspi_struct_marshallers_p.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspiaccessiblebridge_p.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspiapplicationadaptor_p.h
-%%X11%%%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspidbuscache_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspi_constant_mappings_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspi_struct_marshallers_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspiaccessiblebridge_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspiapplicationadaptor_p.h
+%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qspidbuscache_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qstandarditemmodel_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qstatictext_p.h
%%QT_INCDIR%%/QtGui/%%FULLVER%%/QtGui/private/qstatusnotifieritemadaptor_p.h
@@ -1444,9 +1445,9 @@ bin/qmake6
%%QT_INCDIR%%/QtGui/QtGui
%%QT_INCDIR%%/QtGui/QtGuiDepends
%%QT_INCDIR%%/QtGui/QtGuiVersion
-%%X11%%%%QT_INCDIR%%/QtGui/bus_interface.h
-%%X11%%%%QT_INCDIR%%/QtGui/cache_adaptor.h
-%%X11%%%%QT_INCDIR%%/QtGui/deviceeventcontroller_adaptor.h
+%%QT_INCDIR%%/QtGui/bus_interface.h
+%%QT_INCDIR%%/QtGui/cache_adaptor.h
+%%QT_INCDIR%%/QtGui/deviceeventcontroller_adaptor.h
%%QT_INCDIR%%/QtGui/properties_interface.h
%%QT_INCDIR%%/QtGui/qabstractfileiconprovider.h
%%QT_INCDIR%%/QtGui/qabstracttextdocumentlayout.h
@@ -1566,7 +1567,7 @@ bin/qmake6
%%QT_INCDIR%%/QtGui/qvulkanwindow.h
%%QT_INCDIR%%/QtGui/qwindow.h
%%QT_INCDIR%%/QtGui/qwindowdefs.h
-%%X11%%%%QT_INCDIR%%/QtGui/socket_interface.h
+%%QT_INCDIR%%/QtGui/socket_interface.h
%%QT_INCDIR%%/QtInputSupport/%%FULLVER%%/QtInputSupport/private/devicehandlerlist_p.h
%%QT_INCDIR%%/QtInputSupport/%%FULLVER%%/QtInputSupport/private/qevdevkeyboard_defaultmap_p.h
%%QT_INCDIR%%/QtInputSupport/%%FULLVER%%/QtInputSupport/private/qevdevkeyboardhandler_p.h
@@ -3503,6 +3504,7 @@ lib/cmake/Qt6XmlPrivate/Qt6XmlPrivateVersionlessTargets.cmake
%%QT_MKSPECDIR%%/features/android/spec_post.prf
%%QT_MKSPECDIR%%/features/benchmark.prf
%%QT_MKSPECDIR%%/features/build_pass.prf
+%%QT_MKSPECDIR%%/features/ccache.prf
%%QT_MKSPECDIR%%/features/cmake_functions.prf
%%QT_MKSPECDIR%%/features/cmdline.prf
%%QT_MKSPECDIR%%/features/configure.prf
@@ -3601,7 +3603,6 @@ lib/cmake/Qt6XmlPrivate/Qt6XmlPrivateVersionlessTargets.cmake
%%QT_MKSPECDIR%%/features/uikit/xcodebuild.mk
%%QT_MKSPECDIR%%/features/uikit/xcodebuild.prf
%%QT_MKSPECDIR%%/features/unix/bsymbolic_functions.prf
-%%QT_MKSPECDIR%%/features/unix/ccache.prf
%%QT_MKSPECDIR%%/features/unix/hide_symbols.prf
%%QT_MKSPECDIR%%/features/unix/largefile.prf
%%QT_MKSPECDIR%%/features/unix/no_direct_extern_access.prf