aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml4
-rw-r--r--build_msvc/README.md2
-rw-r--r--depends/packages/qt.mk12
-rw-r--r--depends/patches/qt/dont_hardcode_x86_64.patch119
-rw-r--r--depends/patches/qt/fix-macos-linker.patch4
-rw-r--r--depends/patches/qt/fix_android_jni_static.patch2
-rw-r--r--depends/patches/qt/fix_montery_include.patch21
-rw-r--r--depends/patches/qt/memory_resource.patch2
-rw-r--r--depends/patches/qt/no-xlib.patch20
-rw-r--r--doc/dependencies.md2
10 files changed, 18 insertions, 170 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 28a027b780..cbd83530f3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -105,8 +105,8 @@ jobs:
CCACHE_MAXSIZE: '200M'
CI_CCACHE_VERSION: '4.7.5'
CI_QT_CONF: '-release -silent -opensource -confirm-license -opengl desktop -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -nomake examples -nomake tests -nomake tools -no-angle -no-dbus -no-gif -no-gtk -no-ico -no-icu -no-libjpeg -no-libudev -no-sql-sqlite -no-sql-odbc -no-sqlite -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip doc -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-bearermanagement -no-feature-printdialog -no-feature-printer -no-feature-printpreviewdialog -no-feature-printpreviewwidget -no-feature-sql -no-feature-sqlmodel -no-feature-textbrowser -no-feature-textmarkdownwriter -no-feature-textodfwriter -no-feature-xml'
- CI_QT_DIR: 'qt-everywhere-src-5.15.5'
- CI_QT_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.5/single/qt-everywhere-opensource-src-5.15.5.zip'
+ CI_QT_DIR: 'qt-everywhere-src-5.15.10'
+ CI_QT_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.zip'
PYTHONUTF8: 1
TEST_RUNNER_TIMEOUT_FACTOR: 40
diff --git a/build_msvc/README.md b/build_msvc/README.md
index ba6171fee7..8206620c3b 100644
--- a/build_msvc/README.md
+++ b/build_msvc/README.md
@@ -32,7 +32,7 @@ Qt
---------------------
To build Bitcoin Core with the GUI, a static build of Qt is required.
-1. Download a single ZIP archive of Qt source code from https://download.qt.io/official_releases/qt/ (e.g., [`qt-everywhere-opensource-src-5.15.5.zip`](https://download.qt.io/official_releases/qt/5.15/5.15.5/single/qt-everywhere-opensource-src-5.15.5.zip)), and expand it into a dedicated folder. The following instructions assume that this folder is `C:\dev\qt-source`.
+1. Download a single ZIP archive of Qt source code from https://download.qt.io/official_releases/qt/ (e.g., [`qt-everywhere-opensource-src-5.15.10.zip`](https://download.qt.io/official_releases/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.zip)), and expand it into a dedicated folder. The following instructions assume that this folder is `C:\dev\qt-source`.
2. Open "x64 Native Tools Command Prompt for VS 2022", and input the following commands:
```cmd
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 7b4ee64776..86df58f9d2 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -1,9 +1,9 @@
package=qt
-$(package)_version=5.15.5
+$(package)_version=5.15.10
$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
$(package)_suffix=everywhere-opensource-src-$($(package)_version).tar.xz
$(package)_file_name=qtbase-$($(package)_suffix)
-$(package)_sha256_hash=0c42c799aa7c89e479a07c451bf5a301e291266ba789e81afc18f95049524edc
+$(package)_sha256_hash=c0d06cb18d20f10bf7ad53552099e097ec39362d30a5d6f104724f55fa1c8fb9
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
$(package)_qt_libs=corelib network widgets gui plugins testlib
$(package)_linguist_tools = lrelease lupdate lconvert
@@ -12,8 +12,6 @@ $(package)_patches += qttools_src.pro
$(package)_patches += mac-qmake.conf
$(package)_patches += fix_qt_pkgconfig.patch
$(package)_patches += no-xlib.patch
-$(package)_patches += dont_hardcode_x86_64.patch
-$(package)_patches += fix_montery_include.patch
$(package)_patches += fix_android_jni_static.patch
$(package)_patches += dont_hardcode_pwd.patch
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch
@@ -26,10 +24,10 @@ $(package)_patches += fix-macos-linker.patch
$(package)_patches += memory_resource.patch
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
-$(package)_qttranslations_sha256_hash=c92af4171397a0ed272330b4fa0669790fcac8d050b07c8b8cc565ebeba6735e
+$(package)_qttranslations_sha256_hash=38b942bc7e62794dd072945c8a92bb9dfffed24070aea300327a3bb42f855609
$(package)_qttools_file_name=qttools-$($(package)_suffix)
-$(package)_qttools_sha256_hash=6d0778b71b2742cb527561791d1d3d255366163d54a10f78c683a398f09ffc6c
+$(package)_qttools_sha256_hash=66f46c9729c831dce431778a9c561cca32daceaede1c7e58568d7a5898167dae
$(package)_extra_sources = $($(package)_qttranslations_file_name)
$(package)_extra_sources += $($(package)_qttools_file_name)
@@ -245,9 +243,7 @@ define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
- patch -p1 -i $($(package)_patch_dir)/dont_hardcode_x86_64.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
- patch -p1 -i $($(package)_patch_dir)/fix_montery_include.patch && \
patch -p1 -i $($(package)_patch_dir)/use_android_ndk23.patch && \
patch -p1 -i $($(package)_patch_dir)/memory_resource.patch && \
patch -p1 -i $($(package)_patch_dir)/rcc_hardcode_timestamp.patch && \
diff --git a/depends/patches/qt/dont_hardcode_x86_64.patch b/depends/patches/qt/dont_hardcode_x86_64.patch
deleted file mode 100644
index a66426877a..0000000000
--- a/depends/patches/qt/dont_hardcode_x86_64.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-macOS: Don't hard-code x86_64 as the architecture when using qmake
-
-Upstream commit:
- - Qt 6.1: 9082cc8e8d5a6441dabe5e7a95bc0cd9085b95fe
-
-For other Qt branches see
-https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
-
-
---- old/qtbase/configure.json
-+++ new/qtbase/configure.json
-@@ -244,11 +244,18 @@
-
- "testTypeDependencies": {
- "linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
-- "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
-+ "verifySpec": [
-+ "shared",
-+ "use_bfd_linker", "use_gold_linker", "use_lld_linker",
-+ "compiler-flags", "qmakeargs",
-+ "simulator_and_device",
-+ "thread",
-+ "commit" ],
- "compile": [ "verifyspec" ],
- "detectPkgConfig": [ "cross_compile", "machineTuple" ],
- "library": [ "pkg-config", "compiler-flags" ],
-- "getPkgConfigVariable": [ "pkg-config" ]
-+ "getPkgConfigVariable": [ "pkg-config" ],
-+ "architecture" : [ "verifyspec" ]
- },
-
- "testTypeAliases": {
-@@ -762,7 +769,7 @@
- },
- "architecture": {
- "label": "Architecture",
-- "output": [ "architecture" ]
-+ "output": [ "architecture", "commitConfig" ]
- },
- "pkg-config": {
- "label": "Using pkg-config",
-diff --git a/configure.pri b/configure.pri
-index 49755f7abfd..8be9b10d7d4 100644
---- old/qtbase/configure.pri
-+++ new/qtbase/configure.pri
-@@ -662,6 +662,13 @@ defineTest(qtConfOutput_commitOptions) {
- write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error()
- }
-
-+# Output is written after configuring each Qt module,
-+# but some tests within a module might depend on the
-+# configuration output of previous tests.
-+defineTest(qtConfOutput_commitConfig) {
-+ qtConfProcessOutput()
-+}
-+
- # type (empty or 'host'), option name, default value
- defineTest(processQtPath) {
- out_var = config.rel_input.$${2}
-diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
-index d16b77acb8e..4ba0a8eaa36 100644
---- old/qtbase/mkspecs/common/macx.conf
-+++ new/qtbase/mkspecs/common/macx.conf
-@@ -6,7 +6,6 @@ QMAKE_PLATFORM += macos osx macx
- QMAKE_MAC_SDK = macosx
-
- QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
--QMAKE_APPLE_DEVICE_ARCHS = x86_64
-
- # Should be 10.15, but as long as the CI builds with
- # older SDKs we have to keep this.
-diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index 92a9112bca6..d888731ec8d 100644
---- old/qtbase/mkspecs/features/mac/default_post.prf
-+++ new/qtbase/mkspecs/features/mac/default_post.prf
-@@ -95,6 +95,11 @@ app_extension_api_only {
- QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
- }
-
-+# Non-universal builds do not set QMAKE_APPLE_DEVICE_ARCHS,
-+# so we pick it up from what the arch test resolved instead.
-+isEmpty(QMAKE_APPLE_DEVICE_ARCHS): \
-+ QMAKE_APPLE_DEVICE_ARCHS = $$QT_ARCH
-+
- macx-xcode {
- qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
- !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
-@@ -150,9 +155,6 @@ macx-xcode {
- simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
- VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
-
-- isEmpty(VALID_ARCHS): \
-- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
- single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
-
- ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
-diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
-index efbe7c1e55b..8add6dc8043 100644
---- old/qtbase/mkspecs/features/toolchain.prf
-+++ new/qtbase/mkspecs/features/toolchain.prf
-@@ -182,9 +182,14 @@ isEmpty($${target_prefix}.INCDIRS) {
- # UIKit simulator platforms will see the device SDK's sysroot in
- # QMAKE_DEFAULT_*DIRS, because they're handled in a single build pass.
- darwin {
-- # Clang doesn't pick up the architecture from the sysroot, and will
-- # default to the host architecture, so we need to manually set it.
-- cxx_flags += -arch $$QMAKE_APPLE_DEVICE_ARCHS
-+ uikit {
-+ # Clang doesn't automatically pick up the architecture, just because
-+ # we're passing the iOS sysroot below, and we will end up building the
-+ # test for the host architecture, resulting in linker errors when
-+ # linking against the iOS libraries. We work around this by passing
-+ # the architecture explicitly.
-+ cxx_flags += -arch $$first(QMAKE_APPLE_DEVICE_ARCHS)
-+ }
-
- uikit:macx-xcode: \
- cxx_flags += -isysroot $$sdk_path_device.value
diff --git a/depends/patches/qt/fix-macos-linker.patch b/depends/patches/qt/fix-macos-linker.patch
index db056de4d9..e439685656 100644
--- a/depends/patches/qt/fix-macos-linker.patch
+++ b/depends/patches/qt/fix-macos-linker.patch
@@ -29,7 +29,7 @@ https://codereview.qt-project.org/q/I2347b26e2df0828471373b0e15b8c9089274c65d
--- old/qtbase/mkspecs/features/toolchain.prf
+++ new/qtbase/mkspecs/features/toolchain.prf
-@@ -283,9 +283,12 @@ isEmpty($${target_prefix}.INCDIRS) {
+@@ -288,9 +288,12 @@ isEmpty($${target_prefix}.INCDIRS) {
}
}
}
@@ -44,7 +44,7 @@ https://codereview.qt-project.org/q/I2347b26e2df0828471373b0e15b8c9089274c65d
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
} else: ghs {
cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp
-@@ -407,7 +410,7 @@ isEmpty($${target_prefix}.INCDIRS) {
+@@ -412,7 +415,7 @@ isEmpty($${target_prefix}.INCDIRS) {
QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP)
}
diff --git a/depends/patches/qt/fix_android_jni_static.patch b/depends/patches/qt/fix_android_jni_static.patch
index 936b82e152..7dbd68fe9c 100644
--- a/depends/patches/qt/fix_android_jni_static.patch
+++ b/depends/patches/qt/fix_android_jni_static.patch
@@ -1,6 +1,6 @@
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
-@@ -943,6 +943,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
+@@ -980,6 +980,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
return -1;
}
diff --git a/depends/patches/qt/fix_montery_include.patch b/depends/patches/qt/fix_montery_include.patch
deleted file mode 100644
index 38b700addf..0000000000
--- a/depends/patches/qt/fix_montery_include.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From dece6f5840463ae2ddf927d65eb1b3680e34a547
-From: Øystein Heskestad <oystein.heskestad@qt.io>
-Date: Wed, 27 Oct 2021 13:07:46 +0200
-Subject: [PATCH] Add missing macOS header file that was indirectly included before
-
-See: https://bugreports.qt.io/browse/QTBUG-97855
-
-Upstream Commits:
- - Qt 6.2: c884bf138a21dd7320e35cef34d24e22e74d7ce0
-
-diff --git a/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
-index e070ba97..07c75b04 100644
---- a/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
-+++ b/qtbase/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h
-@@ -40,6 +40,7 @@
- #ifndef QIOSURFACEGRAPHICSBUFFER_H
- #define QIOSURFACEGRAPHICSBUFFER_H
-
-+#include <CoreGraphics/CGColorSpace.h>
- #include <qpa/qplatformgraphicsbuffer.h>
- #include <private/qcore_mac_p.h>
diff --git a/depends/patches/qt/memory_resource.patch b/depends/patches/qt/memory_resource.patch
index e41d68db30..650c328528 100644
--- a/depends/patches/qt/memory_resource.patch
+++ b/depends/patches/qt/memory_resource.patch
@@ -17,7 +17,7 @@ and https://bugreports.qt.io/browse/QTBUG-114316
--- a/qtbase/src/corelib/global/qcompilerdetection.h
+++ b/qtbase/src/corelib/global/qcompilerdetection.h
-@@ -1041,16 +1041,22 @@
+@@ -1050,16 +1050,22 @@
# endif // !_HAS_CONSTEXPR
# endif // !__GLIBCXX__ && !_LIBCPP_VERSION
# endif // Q_OS_QNX
diff --git a/depends/patches/qt/no-xlib.patch b/depends/patches/qt/no-xlib.patch
index d6846aaca2..0f7965d2ea 100644
--- a/depends/patches/qt/no-xlib.patch
+++ b/depends/patches/qt/no-xlib.patch
@@ -4,12 +4,7 @@ Date: Thu, 18 Jul 2019 17:22:05 -0400
Subject: [PATCH] Wrap xlib related code blocks in #if's
They are not necessary to compile QT.
----
- qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 8 ++++++++
- 1 file changed, 8 insertions(+)
-diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
-index 7c62c2e2b3..c05c6c0a07 100644
--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
@@ -49,7 +49,9 @@
@@ -22,7 +17,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
#include <xcb/xfixes.h>
#include <xcb/xcb_image.h>
-@@ -391,6 +391,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
+@@ -391,6 +393,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
xcb_flush(xcb_connection());
}
@@ -30,7 +25,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
static int cursorIdForShape(int cshape)
{
int cursorId = 0;
-@@ -444,6 +445,7 @@ static int cursorIdForShape(int cshape)
+@@ -444,6 +447,7 @@ static int cursorIdForShape(int cshape)
}
return cursorId;
}
@@ -38,7 +33,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
xcb_cursor_t QXcbCursor::createNonStandardCursor(int cshape)
{
-@@ -556,7 +558,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
+@@ -558,7 +562,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
{
xcb_connection_t *conn = xcb_connection();
@@ -47,8 +42,8 @@ index 7c62c2e2b3..c05c6c0a07 100644
+#endif
xcb_cursor_t cursor = XCB_NONE;
- // Try Xcursor first
-@@ -586,6 +590,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
+ #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
+@@ -590,6 +596,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
// Non-standard X11 cursors are created from bitmaps
cursor = createNonStandardCursor(cshape);
@@ -56,7 +51,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
// Create a glpyh cursor if everything else failed
if (!cursor && cursorId) {
cursor = xcb_generate_id(conn);
-@@ -593,6 +598,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
+@@ -597,6 +604,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
cursorId, cursorId + 1,
0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0);
}
@@ -64,6 +59,3 @@ index 7c62c2e2b3..c05c6c0a07 100644
if (cursor && cshape >= 0 && cshape < Qt::LastCursor && connection()->hasXFixes()) {
const char *name = cursorNames[cshape].front();
---
-2.22.0
-
diff --git a/doc/dependencies.md b/doc/dependencies.md
index 804f796abe..cb79b30cdf 100644
--- a/doc/dependencies.md
+++ b/doc/dependencies.md
@@ -30,7 +30,7 @@ You can find installation instructions in the `build-*.md` file for your platfor
| [Fontconfig](../depends/packages/fontconfig.mk) | [link](https://www.freedesktop.org/wiki/Software/fontconfig/) | [2.12.6](https://github.com/bitcoin/bitcoin/pull/23495) | 2.6 | Yes |
| [FreeType](../depends/packages/freetype.mk) | [link](https://freetype.org) | [2.11.0](https://github.com/bitcoin/bitcoin/commit/01544dd78ccc0b0474571da854e27adef97137fb) | 2.3.0 | Yes |
| [qrencode](../depends/packages/qrencode.mk) | [link](https://fukuchi.org/works/qrencode/) | [4.1.1](https://github.com/bitcoin/bitcoin/pull/27312) | | No |
-| [Qt](../depends/packages/qt.mk) | [link](https://download.qt.io/official_releases/qt/) | [5.15.5](https://github.com/bitcoin/bitcoin/pull/25719) | [5.11.3](https://github.com/bitcoin/bitcoin/pull/24132) | No |
+| [Qt](../depends/packages/qt.mk) | [link](https://download.qt.io/official_releases/qt/) | [5.15.10](https://github.com/bitcoin/bitcoin/pull/28561) | [5.11.3](https://github.com/bitcoin/bitcoin/pull/24132) | No |
### Networking
| Dependency | Releases | Version used | Minimum required | Runtime |