diff --git a/contrib/depends/packages/native_qt.mk b/contrib/depends/packages/native_qt.mk index 6b08c55f..3e0af3f7 100644 --- a/contrib/depends/packages/native_qt.mk +++ b/contrib/depends/packages/native_qt.mk @@ -1,30 +1,32 @@ package=native_qt -$(package)_version=6.10.2 -$(package)_download_path=https://download.qt.io/official_releases/qt/6.10/$($(package)_version)/submodules +$(package)_version=6.11.0 +$(package)_download_path=https://download.qt.io/official_releases/qt/6.11/$($(package)_version)/submodules $(package)_suffix=everywhere-src-$($(package)_version).tar.xz $(package)_file_name=qtbase-$($(package)_suffix) -$(package)_sha256_hash=aeb78d29291a2b5fd53cb55950f8f5065b4978c25fb1d77f627d695ab9adf21e +$(package)_sha256_hash=231ad85979864d914dc9568a1b71c91d6cf20d7b2021d059103bf0eb51cb755e $(package)_linux_dependencies=native_wayland $(package)_qt_libs=corelib network widgets gui plugins testlib $(package)_patches += guix_cross_lib_path.patch $(package)_patches += qtbase-moc-ignore-gcc-macro.patch $(package)_patches += rcc_hardcode_timestamp.patch $(package)_patches += root_CMakeLists.txt +$(package)_patches += wayland-fix.patch +$(package)_patches += wayland-fix2.patch $(package)_qttools_file_name=qttools-$($(package)_suffix) -$(package)_qttools_sha256_hash=1e3d2c07c1fd76d2425c6eaeeaa62ffaff5f79210c4e1a5bc2a6a9db668d5b24 +$(package)_qttools_sha256_hash=cfb1993d7a10848965b01b9cf33a54b8a4ba4e5e3a6d28d59483e73f10d9fc76 $(package)_qtsvg_file_name=qtsvg-$($(package)_suffix) -$(package)_qtsvg_sha256_hash=f07ff80f38caf235187200345392ca7479445ddf49a36c3694cd52a735dad6e1 +$(package)_qtsvg_sha256_hash=dfa8d653be07087d9407ed4a4ebae847f8953e0b7abd829f089803ab652a30e6 $(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix) -$(package)_qtmultimedia_sha256_hash=93f7ef0106fbd731165a2723f3e436c911fc5e6880f5bc987b55516c20833e2b +$(package)_qtmultimedia_sha256_hash=90c4cac0a7a983b68d1b0873d0714e7873b9a493403fa8593e8a4eea3ea26040 $(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix) -$(package)_qtshadertools_sha256_hash=18d9dbbc4f7e6e96e6ed89a9965dc032e2b58158b65156c035537826216716c9 +$(package)_qtshadertools_sha256_hash=e43cb1ae8809b2a858281ee269f98da59d0fc1bcf958ca5510c81f7ad3d2e14a $(package)_qtwayland_file_name=qtwayland-$($(package)_suffix) -$(package)_qtwayland_sha256_hash=391998eb432719df26a6a67d8efdc67f8bf2afdd76c1ee3381ebff4fe7527ee2 +$(package)_qtwayland_sha256_hash=e710e6e760f92922b86e4dd68f6bbe94ef6510919519d1b0068e874b5ad84d37 $(package)_extra_sources += $($(package)_qttools_file_name) $(package)_extra_sources += $($(package)_qtsvg_file_name) @@ -157,7 +159,10 @@ define $(package)_preprocess_cmds cp $($(package)_patch_dir)/root_CMakeLists.txt CMakeLists.txt && \ patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \ patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \ - patch -p1 -i $($(package)_patch_dir)/guix_cross_lib_path.patch + patch -p1 -i $($(package)_patch_dir)/guix_cross_lib_path.patch && \ + cd qtbase && \ + patch -p1 -i $($(package)_patch_dir)/wayland-fix.patch && \ + patch -p1 -i $($(package)_patch_dir)/wayland-fix2.patch endef define $(package)_config_cmds diff --git a/contrib/depends/packages/qt.mk b/contrib/depends/packages/qt.mk index 40179d60..9ec98313 100644 --- a/contrib/depends/packages/qt.mk +++ b/contrib/depends/packages/qt.mk @@ -1,9 +1,9 @@ package=qt -$(package)_version=6.10.2 -$(package)_download_path=https://download.qt.io/official_releases/qt/6.10/$($(package)_version)/submodules +$(package)_version=6.11.0 +$(package)_download_path=https://download.qt.io/official_releases/qt/6.11/$($(package)_version)/submodules $(package)_suffix=everywhere-src-$($(package)_version).tar.xz $(package)_file_name=qtbase-$($(package)_suffix) -$(package)_sha256_hash=aeb78d29291a2b5fd53cb55950f8f5065b4978c25fb1d77f627d695ab9adf21e +$(package)_sha256_hash=231ad85979864d914dc9568a1b71c91d6cf20d7b2021d059103bf0eb51cb755e $(package)_darwin_dependencies=openssl native_qt $(package)_mingw32_dependencies=openssl native_qt $(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus wayland native_wayland @@ -14,25 +14,27 @@ $(package)_patches += windows_func_fix.patch $(package)_patches += libxau-fix.patch $(package)_patches += toolchain.cmake $(package)_patches += fix_static_qt_darwin_camera_permissions.patch +$(package)_patches += wayland-fix.patch +$(package)_patches += wayland-fix2.patch #$(package)_patches += fix-static-fontconfig-static-linking.patch $(package)_qttools_file_name=qttools-$($(package)_suffix) -$(package)_qttools_sha256_hash=1e3d2c07c1fd76d2425c6eaeeaa62ffaff5f79210c4e1a5bc2a6a9db668d5b24 +$(package)_qttools_sha256_hash=cfb1993d7a10848965b01b9cf33a54b8a4ba4e5e3a6d28d59483e73f10d9fc76 $(package)_qtsvg_file_name=qtsvg-$($(package)_suffix) -$(package)_qtsvg_sha256_hash=f07ff80f38caf235187200345392ca7479445ddf49a36c3694cd52a735dad6e1 +$(package)_qtsvg_sha256_hash=dfa8d653be07087d9407ed4a4ebae847f8953e0b7abd829f089803ab652a30e6 $(package)_qtwebsockets_file_name=qtwebsockets-$($(package)_suffix) -$(package)_qtwebsockets_sha256_hash=eccc751bea509ef656d20029693987a0fc03c58e21c38f1351480f3c8eb42ebd +$(package)_qtwebsockets_sha256_hash=569f10d1fb35195869576004f5b5ff09735d2f0319e2e8f0dd0f40c7ec31d032 $(package)_qtmultimedia_file_name=qtmultimedia-$($(package)_suffix) -$(package)_qtmultimedia_sha256_hash=93f7ef0106fbd731165a2723f3e436c911fc5e6880f5bc987b55516c20833e2b +$(package)_qtmultimedia_sha256_hash=90c4cac0a7a983b68d1b0873d0714e7873b9a493403fa8593e8a4eea3ea26040 $(package)_qtshadertools_file_name=qtshadertools-$($(package)_suffix) -$(package)_qtshadertools_sha256_hash=18d9dbbc4f7e6e96e6ed89a9965dc032e2b58158b65156c035537826216716c9 +$(package)_qtshadertools_sha256_hash=e43cb1ae8809b2a858281ee269f98da59d0fc1bcf958ca5510c81f7ad3d2e14a $(package)_qtwayland_file_name=qtwayland-$($(package)_suffix) -$(package)_qtwayland_sha256_hash=391998eb432719df26a6a67d8efdc67f8bf2afdd76c1ee3381ebff4fe7527ee2 +$(package)_qtwayland_sha256_hash=e710e6e760f92922b86e4dd68f6bbe94ef6510919519d1b0068e874b5ad84d37 $(package)_extra_sources += $($(package)_qttools_file_name) $(package)_extra_sources += $($(package)_qtsvg_file_name) @@ -216,6 +218,8 @@ define $(package)_preprocess_cmds cd qtbase && \ patch -p1 -i $($(package)_patch_dir)/libxau-fix.patch && \ patch -p1 -i $($(package)_patch_dir)/fix_static_qt_darwin_camera_permissions.patch && \ + patch -p1 -i $($(package)_patch_dir)/wayland-fix.patch && \ + patch -p1 -i $($(package)_patch_dir)/wayland-fix2.patch && \ cd ../qtmultimedia && \ patch -p1 -i $($(package)_patch_dir)/v4l2.patch endef diff --git a/contrib/depends/patches/native_qt/wayland-fix.patch b/contrib/depends/patches/native_qt/wayland-fix.patch new file mode 100644 index 00000000..91ce3c34 --- /dev/null +++ b/contrib/depends/patches/native_qt/wayland-fix.patch @@ -0,0 +1,45 @@ +From 304e708fe214a7706a3225b61d5d1fd39ca232af Mon Sep 17 00:00:00 2001 +From: Liang Qi +Date: Tue, 7 Apr 2026 09:33:43 +0200 +Subject: [PATCH] wayland: fix build with -no-opengl - round 2 + +This amends 419da488083c3ec81fc876ec4db9db708681d195 and +7c0a96785fee4fea8ef1452166b1dde88957445c . + +It also aligns with the behavior of 6.9, which builds qt wayland +client plugin with -no-opengl. + +Pick-to: 6.11 6.10 +Fixes: QTBUG-145378 +Fixes: QTBUG-140172 +Change-Id: I77be85e3f38862d7709af065068b816e88a16b88 +Reviewed-by: David Redondo + +diff --git a/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h b/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +index f8de871dfc0..1a6e917b214 100644 +--- a/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h ++++ b/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +@@ -52,9 +52,9 @@ public: + virtual bool supportsWindowDecoration() const { return false; } + + virtual QWaylandWindow *createEglWindow(QWindow *window) = 0; +- virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0; + virtual bool canCreatePlatformOffscreenSurface() const { return false; } + #if QT_CONFIG(opengl) ++ virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0; + virtual QOpenGLContext *createOpenGLContext(EGLContext context, EGLDisplay contextDisplay, QOpenGLContext *shareContext) const = 0; + virtual QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const { Q_UNUSED(surface); return nullptr; } + #endif +@@ -65,7 +65,9 @@ public: + EglContext + }; + virtual void *nativeResource(NativeResource /*resource*/) { return nullptr; } ++#if QT_CONFIG(opengl) + virtual void *nativeResourceForContext(NativeResource /*resource*/, QPlatformOpenGLContext */*context*/) { return nullptr; } ++#endif + }; + + } +-- +2.53.0 + diff --git a/contrib/depends/patches/native_qt/wayland-fix2.patch b/contrib/depends/patches/native_qt/wayland-fix2.patch new file mode 100644 index 00000000..68045ea8 --- /dev/null +++ b/contrib/depends/patches/native_qt/wayland-fix2.patch @@ -0,0 +1,25 @@ +From ca83a100105153c41f274ba2b005f7a3ba97baf5 Mon Sep 17 00:00:00 2001 +From: Nick Shaforostov +Date: Mon, 13 Apr 2026 15:17:42 +0200 +Subject: [PATCH] wayland: fix build with -no-feature-sessionmanager + +Pick-to: 6.11 +Change-Id: I683251044c61f75c53ffccd111ec841103e4b52d +Reviewed-by: David Edmundson + +diff --git a/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h b/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h +index b9fb74a8a85..dd12779859f 100644 +--- a/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h ++++ b/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h +@@ -16,6 +16,8 @@ + // We mean it. + // + ++#include ++ + #ifndef QT_NO_SESSIONMANAGER + + #include +-- +2.53.0 + diff --git a/contrib/depends/patches/qt/wayland-fix.patch b/contrib/depends/patches/qt/wayland-fix.patch new file mode 100644 index 00000000..91ce3c34 --- /dev/null +++ b/contrib/depends/patches/qt/wayland-fix.patch @@ -0,0 +1,45 @@ +From 304e708fe214a7706a3225b61d5d1fd39ca232af Mon Sep 17 00:00:00 2001 +From: Liang Qi +Date: Tue, 7 Apr 2026 09:33:43 +0200 +Subject: [PATCH] wayland: fix build with -no-opengl - round 2 + +This amends 419da488083c3ec81fc876ec4db9db708681d195 and +7c0a96785fee4fea8ef1452166b1dde88957445c . + +It also aligns with the behavior of 6.9, which builds qt wayland +client plugin with -no-opengl. + +Pick-to: 6.11 6.10 +Fixes: QTBUG-145378 +Fixes: QTBUG-140172 +Change-Id: I77be85e3f38862d7709af065068b816e88a16b88 +Reviewed-by: David Redondo + +diff --git a/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h b/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +index f8de871dfc0..1a6e917b214 100644 +--- a/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h ++++ b/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +@@ -52,9 +52,9 @@ public: + virtual bool supportsWindowDecoration() const { return false; } + + virtual QWaylandWindow *createEglWindow(QWindow *window) = 0; +- virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0; + virtual bool canCreatePlatformOffscreenSurface() const { return false; } + #if QT_CONFIG(opengl) ++ virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0; + virtual QOpenGLContext *createOpenGLContext(EGLContext context, EGLDisplay contextDisplay, QOpenGLContext *shareContext) const = 0; + virtual QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const { Q_UNUSED(surface); return nullptr; } + #endif +@@ -65,7 +65,9 @@ public: + EglContext + }; + virtual void *nativeResource(NativeResource /*resource*/) { return nullptr; } ++#if QT_CONFIG(opengl) + virtual void *nativeResourceForContext(NativeResource /*resource*/, QPlatformOpenGLContext */*context*/) { return nullptr; } ++#endif + }; + + } +-- +2.53.0 + diff --git a/contrib/depends/patches/qt/wayland-fix2.patch b/contrib/depends/patches/qt/wayland-fix2.patch new file mode 100644 index 00000000..68045ea8 --- /dev/null +++ b/contrib/depends/patches/qt/wayland-fix2.patch @@ -0,0 +1,25 @@ +From ca83a100105153c41f274ba2b005f7a3ba97baf5 Mon Sep 17 00:00:00 2001 +From: Nick Shaforostov +Date: Mon, 13 Apr 2026 15:17:42 +0200 +Subject: [PATCH] wayland: fix build with -no-feature-sessionmanager + +Pick-to: 6.11 +Change-Id: I683251044c61f75c53ffccd111ec841103e4b52d +Reviewed-by: David Edmundson + +diff --git a/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h b/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h +index b9fb74a8a85..dd12779859f 100644 +--- a/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h ++++ b/src/plugins/platforms/wayland/qwaylandsessionmanager_p.h +@@ -16,6 +16,8 @@ + // We mean it. + // + ++#include ++ + #ifndef QT_NO_SESSIONMANAGER + + #include +-- +2.53.0 +