|
| 1 | +From 09508f4d1c9f54f7c418ec5fd61974fd3b4176c8 Mon Sep 17 00:00:00 2001 |
| 2 | +From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> |
| 3 | +Date: Mon, 8 Jun 2026 16:33:21 +0100 |
| 4 | +Subject: [PATCH 2/3] depends: Add Qt Qml and Qt Quick modules |
| 5 | + |
| 6 | +--- |
| 7 | + depends/packages/native_qt.mk | 22 +++++++++++++++--- |
| 8 | + depends/packages/qt.mk | 27 +++++++++++++++++++++- |
| 9 | + depends/packages/qt_details.mk | 6 +++++ |
| 10 | + depends/patches/qt/qtbase_skip_tools.patch | 8 +++---- |
| 11 | + depends/patches/qt/static_fixes.patch | 10 ++++++++ |
| 12 | + 5 files changed, 64 insertions(+), 9 deletions(-) |
| 13 | + |
| 14 | +diff --git a/depends/packages/native_qt.mk b/depends/packages/native_qt.mk |
| 15 | +index 2bf088c10a..6d2aec3734 100644 |
| 16 | +--- a/depends/packages/native_qt.mk |
| 17 | ++++ b/depends/packages/native_qt.mk |
| 18 | +@@ -11,13 +11,21 @@ $(package)_patches += rcc_hardcode_timestamp.patch |
| 19 | + $(package)_patches += qttools_skip_dependencies.patch |
| 20 | + $(package)_patches += fix-macos26-qyield.patch |
| 21 | + |
| 22 | ++$(package)_qtshadertools_file_name=$(qt_details_qtshadertools_file_name) |
| 23 | ++$(package)_qtshadertools_sha256_hash=$(qt_details_qtshadertools_sha256_hash) |
| 24 | ++ |
| 25 | ++$(package)_qtdeclarative_file_name=$(qt_details_qtdeclarative_file_name) |
| 26 | ++$(package)_qtdeclarative_sha256_hash=$(qt_details_qtdeclarative_sha256_hash) |
| 27 | ++ |
| 28 | + $(package)_qttranslations_file_name=$(qt_details_qttranslations_file_name) |
| 29 | + $(package)_qttranslations_sha256_hash=$(qt_details_qttranslations_sha256_hash) |
| 30 | + |
| 31 | + $(package)_qttools_file_name=$(qt_details_qttools_file_name) |
| 32 | + $(package)_qttools_sha256_hash=$(qt_details_qttools_sha256_hash) |
| 33 | + |
| 34 | +-$(package)_extra_sources := $($(package)_qttranslations_file_name) |
| 35 | ++$(package)_extra_sources := $($(package)_qtshadertools_file_name) |
| 36 | ++$(package)_extra_sources += $($(package)_qtdeclarative_file_name) |
| 37 | ++$(package)_extra_sources += $($(package)_qttranslations_file_name) |
| 38 | + $(package)_extra_sources += $($(package)_qttools_file_name) |
| 39 | + |
| 40 | + $(package)_top_download_path=$(qt_details_top_download_path) |
| 41 | +@@ -51,14 +59,13 @@ $(package)_config_opts += -no-feature-concurrent |
| 42 | + $(package)_config_opts += -no-feature-network |
| 43 | + $(package)_config_opts += -no-feature-printsupport |
| 44 | + $(package)_config_opts += -no-feature-sql |
| 45 | +-$(package)_config_opts += -no-feature-testlib |
| 46 | + $(package)_config_opts += -no-feature-xml |
| 47 | +-$(package)_config_opts += -no-gui |
| 48 | + $(package)_config_opts += -no-widgets |
| 49 | + |
| 50 | + $(package)_config_opts += -no-glib |
| 51 | + $(package)_config_opts += -no-icu |
| 52 | + $(package)_config_opts += -no-libudev |
| 53 | ++$(package)_config_opts += -no-opengl |
| 54 | + $(package)_config_opts += -no-openssl |
| 55 | + $(package)_config_opts += -no-zstd |
| 56 | + $(package)_config_opts += -qt-pcre |
| 57 | +@@ -67,6 +74,7 @@ $(package)_config_opts += -no-feature-backtrace |
| 58 | + $(package)_config_opts += -no-feature-permissions |
| 59 | + $(package)_config_opts += -no-feature-process |
| 60 | + $(package)_config_opts += -no-feature-settings |
| 61 | ++$(package)_config_opts += -no-feature-vulkan |
| 62 | + |
| 63 | + # Core tools. |
| 64 | + $(package)_config_opts += -no-feature-androiddeployqt |
| 65 | +@@ -106,6 +114,8 @@ endef |
| 66 | + |
| 67 | + define $(package)_fetch_cmds |
| 68 | + $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ |
| 69 | ++$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash)) && \ |
| 70 | ++$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtdeclarative_file_name),$($(package)_qtdeclarative_file_name),$($(package)_qtdeclarative_sha256_hash)) && \ |
| 71 | + $(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \ |
| 72 | + $(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \ |
| 73 | + $(call fetch_file,$(package),$($(package)_top_download_path),$($(package)_top_cmakelists_download_file),$($(package)_top_cmakelists_file_name)-$($(package)_version),$($(package)_top_cmakelists_sha256_hash)) && \ |
| 74 | +@@ -116,6 +126,8 @@ endef |
| 75 | + define $(package)_extract_cmds |
| 76 | + mkdir -p $($(package)_extract_dir) && \ |
| 77 | + echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 78 | ++ echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 79 | ++ echo "$($(package)_qtdeclarative_sha256_hash) $($(package)_source_dir)/$($(package)_qtdeclarative_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 80 | + echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 81 | + echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 82 | + echo "$($(package)_top_cmakelists_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmakelists_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 83 | +@@ -124,6 +136,10 @@ define $(package)_extract_cmds |
| 84 | + $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 85 | + mkdir -p qtbase && \ |
| 86 | + $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \ |
| 87 | ++ mkdir -p qtshadertools && \ |
| 88 | ++ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \ |
| 89 | ++ mkdir -p qtdeclarative && \ |
| 90 | ++ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtdeclarative_file_name) -C qtdeclarative && \ |
| 91 | + mkdir -p qttranslations && \ |
| 92 | + $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \ |
| 93 | + mkdir -p qttools && \ |
| 94 | +diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk |
| 95 | +index 9b7cec341d..b0f51fe437 100644 |
| 96 | +--- a/depends/packages/qt.mk |
| 97 | ++++ b/depends/packages/qt.mk |
| 98 | +@@ -27,13 +27,21 @@ $(package)_patches += fix-gcc16-sfinae-qanystringview.patch |
| 99 | + $(package)_patches += fix-macos26-qyield.patch |
| 100 | + $(package)_patches += fix-qbytearray-include.patch |
| 101 | + |
| 102 | ++$(package)_qtshadertools_file_name=$(qt_details_qtshadertools_file_name) |
| 103 | ++$(package)_qtshadertools_sha256_hash=$(qt_details_qtshadertools_sha256_hash) |
| 104 | ++ |
| 105 | ++$(package)_qtdeclarative_file_name=$(qt_details_qtdeclarative_file_name) |
| 106 | ++$(package)_qtdeclarative_sha256_hash=$(qt_details_qtdeclarative_sha256_hash) |
| 107 | ++ |
| 108 | + $(package)_qttranslations_file_name=$(qt_details_qttranslations_file_name) |
| 109 | + $(package)_qttranslations_sha256_hash=$(qt_details_qttranslations_sha256_hash) |
| 110 | + |
| 111 | + $(package)_qttools_file_name=$(qt_details_qttools_file_name) |
| 112 | + $(package)_qttools_sha256_hash=$(qt_details_qttools_sha256_hash) |
| 113 | + |
| 114 | +-$(package)_extra_sources := $($(package)_qttranslations_file_name) |
| 115 | ++$(package)_extra_sources := $($(package)_qtshadertools_file_name) |
| 116 | ++$(package)_extra_sources += $($(package)_qtdeclarative_file_name) |
| 117 | ++$(package)_extra_sources += $($(package)_qttranslations_file_name) |
| 118 | + $(package)_extra_sources += $($(package)_qttools_file_name) |
| 119 | + |
| 120 | + $(package)_top_download_path=$(qt_details_top_download_path) |
| 121 | +@@ -127,6 +135,9 @@ $(package)_config_opts += -no-feature-macdeployqt |
| 122 | + $(package)_config_opts += -no-feature-qmake |
| 123 | + $(package)_config_opts += -no-feature-windeployqt |
| 124 | + |
| 125 | ++# QML features. |
| 126 | ++$(package)_config_opts += -no-feature-qml-profiler |
| 127 | ++ |
| 128 | + ifeq ($(host),$(build)) |
| 129 | + # Qt Tools module. |
| 130 | + $(package)_config_opts += -feature-linguist |
| 131 | +@@ -224,6 +235,8 @@ endef |
| 132 | + |
| 133 | + define $(package)_fetch_cmds |
| 134 | + $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ |
| 135 | ++$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_file_name),$($(package)_qtshadertools_sha256_hash)) && \ |
| 136 | ++$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qtdeclarative_file_name),$($(package)_qtdeclarative_file_name),$($(package)_qtdeclarative_sha256_hash)) && \ |
| 137 | + $(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \ |
| 138 | + $(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) && \ |
| 139 | + $(call fetch_file,$(package),$($(package)_top_download_path),$($(package)_top_cmakelists_download_file),$($(package)_top_cmakelists_file_name)-$($(package)_version),$($(package)_top_cmakelists_sha256_hash)) && \ |
| 140 | +@@ -235,6 +248,8 @@ ifeq ($(host),$(build)) |
| 141 | + define $(package)_extract_cmds |
| 142 | + mkdir -p $($(package)_extract_dir) && \ |
| 143 | + echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 144 | ++ echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 145 | ++ echo "$($(package)_qtdeclarative_sha256_hash) $($(package)_source_dir)/$($(package)_qtdeclarative_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 146 | + echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 147 | + echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 148 | + echo "$($(package)_top_cmakelists_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmakelists_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 149 | +@@ -243,6 +258,10 @@ define $(package)_extract_cmds |
| 150 | + $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 151 | + mkdir -p qtbase && \ |
| 152 | + $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \ |
| 153 | ++ mkdir -p qtshadertools && \ |
| 154 | ++ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \ |
| 155 | ++ mkdir -p qtdeclarative && \ |
| 156 | ++ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtdeclarative_file_name) -C qtdeclarative && \ |
| 157 | + mkdir -p qttranslations && \ |
| 158 | + $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \ |
| 159 | + mkdir -p qttools && \ |
| 160 | +@@ -256,12 +275,18 @@ else |
| 161 | + define $(package)_extract_cmds |
| 162 | + mkdir -p $($(package)_extract_dir) && \ |
| 163 | + echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 164 | ++ echo "$($(package)_qtshadertools_sha256_hash) $($(package)_source_dir)/$($(package)_qtshadertools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 165 | ++ echo "$($(package)_qtdeclarative_sha256_hash) $($(package)_source_dir)/$($(package)_qtdeclarative_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 166 | + echo "$($(package)_top_cmakelists_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmakelists_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 167 | + echo "$($(package)_top_cmake_ecmoptionaladdsubdirectory_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 168 | + echo "$($(package)_top_cmake_qttoplevelhelpers_sha256_hash) $($(package)_source_dir)/$($(package)_top_cmake_qttoplevelhelpers_file_name)-$($(package)_version)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 169 | + $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \ |
| 170 | + mkdir -p qtbase && \ |
| 171 | + $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \ |
| 172 | ++ mkdir -p qtshadertools && \ |
| 173 | ++ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtshadertools_file_name) -C qtshadertools && \ |
| 174 | ++ mkdir qtdeclarative && \ |
| 175 | ++ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qtdeclarative_file_name) -C qtdeclarative && \ |
| 176 | + cp $($(package)_source_dir)/$($(package)_top_cmakelists_file_name)-$($(package)_version) ./$($(package)_top_cmakelists_file_name) && \ |
| 177 | + mkdir -p cmake && \ |
| 178 | + cp $($(package)_source_dir)/$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name)-$($(package)_version) cmake/$($(package)_top_cmake_ecmoptionaladdsubdirectory_file_name) && \ |
| 179 | +diff --git a/depends/packages/qt_details.mk b/depends/packages/qt_details.mk |
| 180 | +index e49ac6a287..1e7264ab1a 100644 |
| 181 | +--- a/depends/packages/qt_details.mk |
| 182 | ++++ b/depends/packages/qt_details.mk |
| 183 | +@@ -5,6 +5,12 @@ qt_details_suffix := everywhere-src-$(qt_details_version).tar.xz |
| 184 | + qt_details_qtbase_file_name := qtbase-$(qt_details_suffix) |
| 185 | + qt_details_qtbase_sha256_hash := 56001b905601bb9023d399f3ba780d7fa940f3e4861e496a7c490331f49e0b80 |
| 186 | + |
| 187 | ++qt_details_qtshadertools_file_name = qtshadertools-$(qt_details_suffix) |
| 188 | ++qt_details_qtshadertools_sha256_hash = f6ec88bf42deba84d8f6b5d0914636ceed4749ccb51d1945b2f79b322b7ecf47 |
| 189 | ++ |
| 190 | ++qt_details_qtdeclarative_file_name = qtdeclarative-$(qt_details_suffix) |
| 191 | ++qt_details_qtdeclarative_sha256_hash = 1f03a2b8f5588b4face7da87926e9b2c1372b3a32157c52df07a75067a9db1af |
| 192 | ++ |
| 193 | + qt_details_qttranslations_file_name := qttranslations-$(qt_details_suffix) |
| 194 | + qt_details_qttranslations_sha256_hash := c3c61d79c3d8fe316a20b3617c64673ce5b5519b2e45535f49bee313152fa531 |
| 195 | + |
| 196 | +diff --git a/depends/patches/qt/qtbase_skip_tools.patch b/depends/patches/qt/qtbase_skip_tools.patch |
| 197 | +index eef65425d4..d5377c3f45 100644 |
| 198 | +--- a/depends/patches/qt/qtbase_skip_tools.patch |
| 199 | ++++ b/depends/patches/qt/qtbase_skip_tools.patch |
| 200 | +@@ -3,8 +3,7 @@ Skip building/installing unneeded tools: |
| 201 | + 1. Wrapper CMake scripts. |
| 202 | + 2. CI support files. |
| 203 | + 3. tracepointgen and tracegen tools. |
| 204 | +-4. Qt Look Ahead LR Parser Generator (qlalr). |
| 205 | +-5. Qt Vulkan Header Generator (qvkgen). |
| 206 | ++4. Qt Vulkan Header Generator (qvkgen). |
| 207 | + |
| 208 | + |
| 209 | + --- a/qtbase/cmake/QtBaseGlobalTargets.cmake |
| 210 | +@@ -47,11 +46,10 @@ Skip building/installing unneeded tools: |
| 211 | + |
| 212 | + --- a/qtbase/src/tools/CMakeLists.txt |
| 213 | + +++ b/qtbase/src/tools/CMakeLists.txt |
| 214 | +-@@ -11,8 +11,6 @@ if (QT_FEATURE_dbus) |
| 215 | +- add_subdirectory(qdbuscpp2xml) |
| 216 | ++@@ -12,7 +12,6 @@ if (QT_FEATURE_dbus) |
| 217 | + add_subdirectory(qdbusxml2cpp) |
| 218 | + endif() |
| 219 | +--add_subdirectory(qlalr) |
| 220 | ++ add_subdirectory(qlalr) |
| 221 | + -add_subdirectory(qvkgen) |
| 222 | + if (QT_FEATURE_commandlineparser) |
| 223 | + add_subdirectory(qtpaths) |
| 224 | +diff --git a/depends/patches/qt/static_fixes.patch b/depends/patches/qt/static_fixes.patch |
| 225 | +index 1ae3f5774a..317dd3608d 100644 |
| 226 | +--- a/depends/patches/qt/static_fixes.patch |
| 227 | ++++ b/depends/patches/qt/static_fixes.patch |
| 228 | +@@ -78,3 +78,13 @@ index e8fb442dd43..e964138115c 100644 |
| 229 | + CODE |
| 230 | + "// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++ |
| 231 | + #define explicit dont_use_cxx_explicit |
| 232 | ++--- a/qtbase/src/plugins/platforms/xcb/CMakeLists.txt |
| 233 | +++++ b/qtbase/src/plugins/platforms/xcb/CMakeLists.txt |
| 234 | ++@@ -65,6 +65,7 @@ qt_internal_add_module(XcbQpaPrivate |
| 235 | ++ XCB::XFIXES |
| 236 | ++ XCB::XKB |
| 237 | ++ XKB::XKB |
| 238 | +++ $<BUILD_INTERFACE:X11::Xau> |
| 239 | ++ NO_UNITY_BUILD # X11 define clashes |
| 240 | ++ ) |
| 241 | ++ |
| 242 | +-- |
| 243 | +2.43.0 |
| 244 | + |
0 commit comments