[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