[packages/qt6] up to 6.9.2

atler atler at pld-linux.org
Thu Aug 28 16:03:05 CEST 2025


commit d0bb832bafaa32baf49f20f6a06d7c271167c237
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Aug 28 16:02:50 2025 +0200

    up to 6.9.2

 QTBUG-136257.patch                 | 177 -------------------------------------
 ninja-program.patch                |   2 +-
 qt6.spec                           |  13 +--
 qtwebengine-cmake-build-type.patch |   6 +-
 4 files changed, 12 insertions(+), 186 deletions(-)
---
diff --git a/qt6.spec b/qt6.spec
index 02ff9c6..68644db 100644
--- a/qt6.spec
+++ b/qt6.spec
@@ -133,12 +133,12 @@
 Summary:	Qt6 Library
 Summary(pl.UTF-8):	Biblioteka Qt6
 Name:		qt6
-Version:	6.9.1
-Release:	2
+Version:	6.9.2
+Release:	1
 License:	LGPL v3 or GPL v2 or GPL v3 or commercial
 Group:		X11/Libraries
 Source0:	https://download.qt.io/official_releases/qt/6.9/%{version}/single/qt-everywhere-src-%{version}.tar.xz
-# Source0-md5:	96dd62d709cc6bd626750ef41777cf2f
+# Source0-md5:	78fe69ae8049f6b0139ceaa28e643f53
 Patch0:		system-cacerts.patch
 Patch1:		ninja-program.patch
 Patch2:		arm-no-xnnpack.patch
@@ -146,7 +146,6 @@ Patch3:		no-implicit-sse2.patch
 Patch4:		x32.patch
 Patch5:		qtwebengine-cmake-build-type.patch
 Patch6:		qtquick3d-6.6.2-gcc14.patch
-Patch7:		QTBUG-136257.patch
 URL:		https://www.qt.io/
 %{?with_directfb:BuildRequires:	DirectFB-devel}
 BuildRequires:	EGL-devel
@@ -261,6 +260,7 @@ BuildRequires:	udev-devel
 %{?with_odbc:BuildRequires:	unixODBC-devel >= 2.3.0}
 BuildRequires:	wayland-devel
 BuildRequires:	xcb-util-cursor-devel >= 0.1.1
+BuildRequires:	xcb-util-devel >= 0.1.1
 BuildRequires:	xcb-util-image-devel >= 0.3.9
 BuildRequires:	xcb-util-keysyms-devel >= 0.3.9
 BuildRequires:	xcb-util-renderutil-devel >= 0.3.9
@@ -3780,7 +3780,6 @@ narzędzia.
 %patch -P4 -p1
 %patch -P5 -p1
 %patch -P6 -p1 -d qtquick3d
-%patch -P7 -p1 -d qtwebengine
 
 %{__sed} -i -e 's,usr/X11R6/,usr/,g' qtbase/mkspecs/linux-g++-64/qmake.conf
 
@@ -3812,6 +3811,9 @@ narzędzia.
 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+node(\s|$),#!/usr/bin/node\1,' \
 	qtwebchannel/examples/webchannel/qwclient/qwclient.js
 
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+sh(\s|$),#!%{__sh}\1,' \
+	qtdoc/examples/demos/qtjennydemo/qtjenny_generator/gradlew
+
 %if %(echo %{cxx_version} | cut -d. -f1) < 9
 # available since gcc 9
 %{__sed} -i -e '/-Wdeprecated-copy/d' \
@@ -6914,6 +6916,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{qt6dir}/qml/QtQuick3D/libqquick3dplugin.so
 %{qt6dir}/qml/QtQuick3D/Quick3D.qmltypes
 %{qt6dir}/qml/QtQuick3D/qmldir
+%{qt6dir}/qml/QtQuick3D/*.qml
 %{qt6dir}/qml/QtQuick3D/designer
 %dir %{qt6dir}/qml/QtQuick3D/AssetUtils
 %attr(755,root,root) %{qt6dir}/qml/QtQuick3D/AssetUtils/libqtquick3dassetutilsplugin.so
diff --git a/QTBUG-136257.patch b/QTBUG-136257.patch
deleted file mode 100644
index e609885..0000000
--- a/QTBUG-136257.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 92f8382ac822175cc5546164b86dba9f226d2e5e Mon Sep 17 00:00:00 2001
-From: Peter Varga <pvarga at inf.u-szeged.hu>
-Date: Thu, 08 May 2025 14:08:48 +0200
-Subject: [PATCH] Create EGLImage with eglCreateDRMImageMESA() for exporting dma_buf
-
-This simplifies the code because it is not needed to create OpenGL
-texture to allocate buffer. This way we can get rid of creating a
-temporary OpenGL context and swapping EGLSurface.
-
-Moreover, eglCreateImage() does not guarantee that the buffer is
-shareable thus certain GPU drivers may fail to export.
-
-Fixes: QTBUG-136257
-Done-with: Jan Palus
-Change-Id: Ie72d052a2a8b1a41bebf0eab8a4928d38c8fc864
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen at qt.io>
-Reviewed-by: Jan Palus <jpalus at fastmail.com>
-(cherry picked from commit 2ed5f9632292c6e531f353dae800cb12274af91a)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot at qt-project.org>
-(cherry picked from commit ddcd30454aa6338d898c9d20c8feb48f36632e16)
----
-
-diff --git a/src/core/ozone/egl_helper.cpp b/src/core/ozone/egl_helper.cpp
-index d12280f..1ed679d 100644
---- a/src/core/ozone/egl_helper.cpp
-+++ b/src/core/ozone/egl_helper.cpp
-@@ -58,90 +58,14 @@
- 
- QT_BEGIN_NAMESPACE
- 
--class ScopedGLContext
--{
--public:
--    ScopedGLContext(QOffscreenSurface *surface, EGLHelper::EGLFunctions *eglFun)
--        : m_context(new QOpenGLContext()), m_eglFun(eglFun)
--    {
--        if ((m_previousEGLContext = m_eglFun->eglGetCurrentContext())) {
--            m_previousEGLDrawSurface = m_eglFun->eglGetCurrentSurface(EGL_DRAW);
--            m_previousEGLReadSurface = m_eglFun->eglGetCurrentSurface(EGL_READ);
--            m_previousEGLDisplay = m_eglFun->eglGetCurrentDisplay();
--        }
--
--        if (!m_context->create()) {
--            qWarning("Failed to create OpenGL context.");
--            return;
--        }
--
--        Q_ASSERT(surface->isValid());
--        if (!m_context->makeCurrent(surface)) {
--            qWarning("Failed to make OpenGL context current.");
--            return;
--        }
--    }
--
--    ~ScopedGLContext()
--    {
--        if (!m_textures.empty()) {
--            auto *glFun = m_context->functions();
--            glFun->glDeleteTextures(m_textures.size(), m_textures.data());
--        }
--
--        if (m_previousEGLContext) {
--            // Make sure the scoped context is not current when restoring the previous
--            // EGL context otherwise the QOpenGLContext destructor resets the restored
--            // current context.
--            m_context->doneCurrent();
--
--            m_eglFun->eglMakeCurrent(m_previousEGLDisplay, m_previousEGLDrawSurface,
--                                     m_previousEGLReadSurface, m_previousEGLContext);
--            if (m_eglFun->eglGetError() != EGL_SUCCESS)
--                qWarning("Failed to restore EGL context.");
--        }
--    }
--
--    bool isValid() const { return m_context->isValid() && (m_context->surface() != nullptr); }
--
--    EGLContext eglContext() const
--    {
--        QNativeInterface::QEGLContext *nativeInterface =
--                m_context->nativeInterface<QNativeInterface::QEGLContext>();
--        return nativeInterface->nativeContext();
--    }
--
--    uint createTexture(int width, int height)
--    {
--        auto *glFun = m_context->functions();
--
--        uint glTexture;
--        glFun->glGenTextures(1, &glTexture);
--        glFun->glBindTexture(GL_TEXTURE_2D, glTexture);
--        glFun->glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE,
--                            NULL);
--        glFun->glBindTexture(GL_TEXTURE_2D, 0);
--
--        m_textures.push_back(glTexture);
--        return glTexture;
--    }
--
--private:
--    QScopedPointer<QOpenGLContext> m_context;
--    EGLHelper::EGLFunctions *m_eglFun;
--    EGLContext m_previousEGLContext = nullptr;
--    EGLSurface m_previousEGLDrawSurface = nullptr;
--    EGLSurface m_previousEGLReadSurface = nullptr;
--    EGLDisplay m_previousEGLDisplay = nullptr;
--    std::vector<uint> m_textures;
--};
--
- EGLHelper::EGLFunctions::EGLFunctions()
- {
-     QOpenGLContext *context = OzoneUtilQt::getQOpenGLContext();
- 
-     eglCreateImage =
-             reinterpret_cast<PFNEGLCREATEIMAGEPROC>(context->getProcAddress("eglCreateImage"));
-+    eglCreateDRMImageMESA = reinterpret_cast<PFNEGLCREATEDRMIMAGEMESAPROC>(
-+            context->getProcAddress("eglCreateDRMImageMESA"));
-     eglDestroyImage =
-             reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(context->getProcAddress("eglDestroyImage"));
-     eglExportDMABUFImageMESA = reinterpret_cast<PFNEGLEXPORTDMABUFIMAGEMESAPROC>(
-@@ -198,6 +122,7 @@
-         const char *displayExtensions = m_functions->eglQueryString(m_eglDisplay, EGL_EXTENSIONS);
-         m_isDmaBufSupported = strstr(displayExtensions, "EGL_EXT_image_dma_buf_import")
-                 && strstr(displayExtensions, "EGL_EXT_image_dma_buf_import_modifiers")
-+                && strstr(displayExtensions, "EGL_MESA_drm_image")
-                 && strstr(displayExtensions, "EGL_MESA_image_dma_buf_export");
-     }
- 
-@@ -218,19 +143,17 @@
-     if (!m_isDmaBufSupported)
-         return;
- 
--    ScopedGLContext context(m_offscreenSurface.get(), m_functions.get());
--    if (!context.isValid())
--        return;
-+    // clang-format off
-+    EGLint attribs[] = {
-+        EGL_WIDTH, width,
-+        EGL_HEIGHT, height,
-+        EGL_DRM_BUFFER_FORMAT_MESA, EGL_DRM_BUFFER_FORMAT_ARGB32_MESA,
-+        EGL_DRM_BUFFER_USE_MESA, EGL_DRM_BUFFER_USE_SHARE_MESA,
-+        EGL_NONE
-+    };
-+    // clang-format on
- 
--    EGLContext eglContext = context.eglContext();
--    if (!eglContext) {
--        qWarning("EGL: No EGLContext.");
--        return;
--    }
--
--    uint64_t textureId = context.createTexture(width, height);
--    EGLImage eglImage = m_functions->eglCreateImage(m_eglDisplay, eglContext, EGL_GL_TEXTURE_2D,
--                                                    (EGLClientBuffer)textureId, NULL);
-+    EGLImage eglImage = m_functions->eglCreateDRMImageMESA(m_eglDisplay, attribs);
-     if (eglImage == EGL_NO_IMAGE) {
-         qWarning("EGL: Failed to create EGLImage: %s", getLastEGLErrorString());
-         return;
-diff --git a/src/core/ozone/egl_helper.h b/src/core/ozone/egl_helper.h
-index a1a1aa0..7594e1f 100644
---- a/src/core/ozone/egl_helper.h
-+++ b/src/core/ozone/egl_helper.h
-@@ -11,6 +11,7 @@
- #include <EGL/eglext.h>
- 
- #undef eglCreateImage
-+#undef eglCreateDRMImageMESA
- #undef eglDestroyImage
- #undef eglExportDMABUFImageMESA
- #undef eglExportDMABUFImageQueryMESA
-@@ -33,6 +34,7 @@
-         EGLFunctions();
- 
-         PFNEGLCREATEIMAGEPROC eglCreateImage;
-+        PFNEGLCREATEDRMIMAGEMESAPROC eglCreateDRMImageMESA;
-         PFNEGLDESTROYIMAGEPROC eglDestroyImage;
-         PFNEGLEXPORTDMABUFIMAGEMESAPROC eglExportDMABUFImageMESA;
-         PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC eglExportDMABUFImageQueryMESA;
diff --git a/ninja-program.patch b/ninja-program.patch
index 50b95e5..b006eb3 100644
--- a/ninja-program.patch
+++ b/ninja-program.patch
@@ -1,9 +1,9 @@
 --- qt-everywhere-src-6.3.1/qtwebengine/src/CMakeLists.txt.orig	2022-06-08 08:40:31.000000000 +0200
 +++ qt-everywhere-src-6.3.1/qtwebengine/src/CMakeLists.txt	2022-07-27 21:47:18.766238322 +0200
 @@ -137,6 +137,8 @@
-                    -DCMAKE_CXX_FLAGS=
                     -DQT_FEATURE_qtwebengine_build=${QT_FEATURE_qtwebengine_build}
                     -DQT_FEATURE_qtpdf_build=${QT_FEATURE_qtpdf_build}
+                    -DGCC_LEGACY_SUPPORT=${QT_FEATURE_webengine_gcc_legacy_support}
 +                   -DNinja_EXECUTABLE:FILEPATH=${Ninja_EXECUTABLE}
 +                   -DCMAKE_MAKE_PROGRAM:FILEPATH=${CMAKE_MAKE_PROGRAM}
      )
diff --git a/qtwebengine-cmake-build-type.patch b/qtwebengine-cmake-build-type.patch
index d177f57..428b850 100644
--- a/qtwebengine-cmake-build-type.patch
+++ b/qtwebengine-cmake-build-type.patch
@@ -6,6 +6,6 @@
          endif()
 -    elseif(${config} STREQUAL "Release")
 +    elseif(${config} STREQUAL "Release" OR ${config} STREQUAL "PLD")
-         list(APPEND gnArgArg is_debug=false symbol_level=0)
-     elseif(${config} STREQUAL "RelWithDebInfo")
-         list(APPEND gnArgArg is_debug=false)
+         list(APPEND gnArgArg
+             is_debug=false
+             symbol_level=0
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/qt6.git/commitdiff/d0bb832bafaa32baf49f20f6a06d7c271167c237



More information about the pld-cvs-commit mailing list