Skip to content

Commit c870027

Browse files
committed
build: qt 5.15.2
1 parent 904ba2a commit c870027

12 files changed

+89
-398
lines changed

build-aux/m4/bitcoin_qt.m4

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,11 @@ AC_DEFUN([BITCOIN_QT_INIT],[
6767
AS_IF([test "x$with_gui" = xqt5_debug],
6868
[AS_CASE([$host],
6969
[*darwin*], [qt_lib_suffix=_debug],
70-
[*mingw*], [qt_lib_suffix=d],
7170
[qt_lib_suffix= ]); bitcoin_qt_want_version=qt5],
7271
[qt_lib_suffix= ])
7372
73+
AS_CASE([$host], [*android*], [qt_lib_suffix=_$ANDROID_ARCH])
74+
7475
AC_ARG_WITH([qt-incdir],[AS_HELP_STRING([--with-qt-incdir=INC_DIR],[specify qt include path (overridden by pkgconfig)])], [qt_include_path=$withval], [])
7576
AC_ARG_WITH([qt-libdir],[AS_HELP_STRING([--with-qt-libdir=LIB_DIR],[specify qt lib path (overridden by pkgconfig)])], [qt_lib_path=$withval], [])
7677
AC_ARG_WITH([qt-plugindir],[AS_HELP_STRING([--with-qt-plugindir=PLUGIN_DIR],[specify qt plugin path (overridden by pkgconfig)])], [qt_plugin_path=$withval], [])
@@ -149,8 +150,6 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
149150
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsVistaStylePlugin], [-lqwindowsvistastyle])
150151
AC_DEFINE([QT_QPA_PLATFORM_WINDOWS], [1], [Define this symbol if the qt platform is windows])
151152
elif test "x$TARGET_OS" = xlinux; then
152-
dnl workaround for https://bugreports.qt.io/browse/QTBUG-74874
153-
AX_CHECK_LINK_FLAG([-lxcb-shm], [QT_LIBS="$QT_LIBS -lxcb-shm"], [AC_MSG_ERROR([could not link against -lxcb-shm])])
154153
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb])
155154
AC_DEFINE([QT_QPA_PLATFORM_XCB], [1], [Define this symbol if the qt platform is xcb])
156155
elif test "x$TARGET_OS" = xdarwin; then
@@ -162,7 +161,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
162161
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QMacStylePlugin], [-lqmacstyle])
163162
AC_DEFINE([QT_QPA_PLATFORM_COCOA], [1], [Define this symbol if the qt platform is cocoa])
164163
elif test "x$TARGET_OS" = xandroid; then
165-
QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype $QT_LIBS"
164+
QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lplugins_platforms_qtforandroid_$ANDROID_ARCH -ljnigraphics -landroid -lqtfreetype_$ANDROID_ARCH $QT_LIBS"
166165
AC_DEFINE([QT_QPA_PLATFORM_ANDROID], [1], [Define this symbol if the qt platform is android])
167166
fi
168167
fi
@@ -353,14 +352,16 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
353352
PKG_CHECK_MODULES([QT_INPUT], [${qt_lib_prefix}InputSupport], [QT_LIBS="$QT_INPUT_LIBS $QT_LIBS"])
354353
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
355354
PKG_CHECK_MODULES([QT_XCBQPA], [${qt_lib_prefix}XcbQpa], [QT_LIBS="$QT_XCBQPA_LIBS $QT_LIBS"])
355+
PKG_CHECK_MODULES([QT_XKBCOMMON], [${qt_lib_prefix}XkbCommonSupport], [QT_LIBS="$QT_XKBCOMMON_LIBS $QT_LIBS"])
356356
elif test "x$TARGET_OS" = xdarwin; then
357357
PKG_CHECK_MODULES([QT_CLIPBOARD], [${qt_lib_prefix}ClipboardSupport${qt_lib_suffix}], [QT_LIBS="$QT_CLIPBOARD_LIBS $QT_LIBS"])
358358
PKG_CHECK_MODULES([QT_GRAPHICS], [${qt_lib_prefix}GraphicsSupport${qt_lib_suffix}], [QT_LIBS="$QT_GRAPHICS_LIBS $QT_LIBS"])
359359
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
360360
elif test "x$TARGET_OS" = xwindows; then
361361
PKG_CHECK_MODULES([QT_WINDOWSUIAUTOMATION], [${qt_lib_prefix}WindowsUIAutomationSupport${qt_lib_suffix}], [QT_LIBS="$QT_WINDOWSUIAUTOMATION_LIBS $QT_LIBS"])
362362
elif test "x$TARGET_OS" = xandroid; then
363-
PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"])
363+
PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport${qt_lib_suffix}], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"])
364+
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
364365
fi
365366
])
366367

contrib/devtools/symbol-check.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,19 @@
105105
'libxkbcommon-x11.so.0', # keyboard keymapping
106106
'libfontconfig.so.1', # font support
107107
'libfreetype.so.6', # font parsing
108-
'libdl.so.2' # programming interface to dynamic linker
108+
'libdl.so.2', # programming interface to dynamic linker
109+
'libxcb-icccm.so.4',
110+
'libxcb-image.so.0',
111+
'libxcb-shm.so.0',
112+
'libxcb-keysyms.so.1',
113+
'libxcb-randr.so.0',
114+
'libxcb-render-util.so.0',
115+
'libxcb-render.so.0',
116+
'libxcb-shape.so.0',
117+
'libxcb-sync.so.1',
118+
'libxcb-xfixes.so.0',
119+
'libxcb-xinerama.so.0',
120+
'libxcb-xkb.so.1',
109121
}
110122

111123
MACHO_ALLOWED_LIBRARIES = {
@@ -116,6 +128,7 @@
116128
'AppKit', # user interface
117129
'ApplicationServices', # common application tasks.
118130
'Carbon', # deprecated c back-compat API
131+
'ColorSync',
119132
'CoreFoundation', # low level func, data types
120133
'CoreGraphics', # 2D rendering
121134
'CoreServices', # operating system services

depends/packages/qt.mk

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
1-
PACKAGE=qt
2-
$(package)_version=5.12.11
3-
$(package)_download_path=https://download.qt.io/official_releases/qt/5.12/$($(package)_version)/submodules
1+
package=qt
2+
$(package)_version=5.15.2
3+
$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
44
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
55
$(package)_file_name=qtbase-$($(package)_suffix)
6-
$(package)_sha256_hash=1c1b4e33137ca77881074c140d54c3c9747e845a31338cfe8680f171f0bc3a39
6+
$(package)_sha256_hash=909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8
77
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
88
$(package)_qt_libs=corelib network widgets gui plugins testlib
99
$(package)_linguist_tools = lrelease lupdate lconvert
1010
$(package)_patches = qt.pro qttools_src.pro
1111
$(package)_patches += fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
12-
$(package)_patches += support_new_android_ndks.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
13-
$(package)_patches += dont_hardcode_x86_64.patch
14-
$(package)_patches+= fix_lib_paths.patch fix_android_pch.patch
15-
$(package)_patches+= qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
16-
$(package)_patches+= fix_montery_include.patch
12+
$(package)_patches += dont_hardcode_x86_64.patch fix_montery_include.patch
13+
$(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch
14+
$(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
1715

1816
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
19-
$(package)_qttranslations_sha256_hash=577b0668a777eb2b451c61e8d026d79285371597ce9df06b6dee6c814164b7c3
17+
$(package)_qttranslations_sha256_hash=d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
2018

2119
$(package)_qttools_file_name=qttools-$($(package)_suffix)
22-
$(package)_qttools_sha256_hash=98b2aaca230458f65996f3534fd471d2ffd038dd58ac997c0589c06dc2385b4f
20+
$(package)_qttools_sha256_hash=c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc
2321

2422
$(package)_extra_sources = $($(package)_qttranslations_file_name)
2523
$(package)_extra_sources += $($(package)_qttools_file_name)
@@ -30,14 +28,14 @@ $(package)_config_opts_release += -silent
3028
$(package)_config_opts_debug = -debug
3129
$(package)_config_opts_debug += -optimized-tools
3230
$(package)_config_opts += -bindir $(build_prefix)/bin
33-
$(package)_config_opts += -c++std c++1z
31+
$(package)_config_opts += -c++std c++17
3432
$(package)_config_opts += -confirm-license
3533
$(package)_config_opts += -hostprefix $(build_prefix)
3634
$(package)_config_opts += -no-compile-examples
3735
$(package)_config_opts += -no-cups
3836
$(package)_config_opts += -no-egl
3937
$(package)_config_opts += -no-eglfs
40-
$(package)_config_opts += -no-freetype
38+
$(package)_config_opts += -no-evdev
4139
$(package)_config_opts += -no-gif
4240
$(package)_config_opts += -no-glib
4341
$(package)_config_opts += -no-icu
@@ -52,6 +50,7 @@ $(package)_config_opts += -no-mtdev
5250
$(package)_config_opts += -no-openssl
5351
$(package)_config_opts += -no-openvg
5452
$(package)_config_opts += -no-reduce-relocations
53+
$(package)_config_opts += -no-schannel
5554
$(package)_config_opts += -no-sctp
5655
$(package)_config_opts += -no-securetransport
5756
$(package)_config_opts += -no-sql-db2
@@ -65,6 +64,7 @@ $(package)_config_opts += -no-sql-sqlite
6564
$(package)_config_opts += -no-sql-sqlite2
6665
$(package)_config_opts += -no-system-proxies
6766
$(package)_config_opts += -no-use-gold-linker
67+
$(package)_config_opts += -no-zstd
6868
$(package)_config_opts += -nomake examples
6969
$(package)_config_opts += -nomake tests
7070
$(package)_config_opts += -nomake tools
@@ -102,6 +102,7 @@ $(package)_config_opts += -no-feature-sqlmodel
102102
$(package)_config_opts += -no-feature-statemachine
103103
$(package)_config_opts += -no-feature-syntaxhighlighter
104104
$(package)_config_opts += -no-feature-textbrowser
105+
$(package)_config_opts += -no-feature-textmarkdownwriter
105106
$(package)_config_opts += -no-feature-textodfwriter
106107
$(package)_config_opts += -no-feature-topleveldomain
107108
$(package)_config_opts += -no-feature-udpsocket
@@ -117,6 +118,7 @@ $(package)_config_opts_darwin = -no-dbus
117118
$(package)_config_opts_darwin += -no-opengl
118119
$(package)_config_opts_darwin += -pch
119120
$(package)_config_opts_darwin += -no-feature-corewlan
121+
$(package)_config_opts_darwin += -no-freetype
120122
$(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
121123

122124
ifneq ($(build_os),darwin)
@@ -133,7 +135,7 @@ $(package)_config_opts_aarch64_darwin += -device-option QMAKE_APPLE_DEVICE_ARCHS
133135
$(package)_config_opts_x86_64_darwin += -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64
134136
endif
135137

136-
$(package)_config_opts_linux = -qt-xcb
138+
$(package)_config_opts_linux = -xcb
137139
$(package)_config_opts_linux += -no-xcb-xlib
138140
$(package)_config_opts_linux += -no-feature-xlib
139141
$(package)_config_opts_linux += -system-freetype
@@ -152,6 +154,7 @@ $(package)_config_opts_s390x_linux = -platform linux-g++ -xplatform bitcoin-linu
152154

153155
$(package)_config_opts_mingw32 = -no-opengl
154156
$(package)_config_opts_mingw32 += -no-dbus
157+
$(package)_config_opts_mingw32 += -no-freetype
155158
$(package)_config_opts_mingw32 += -xplatform win32-g++
156159
$(package)_config_opts_mingw32 += "QMAKE_CFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
157160
$(package)_config_opts_mingw32 += "QMAKE_CXXFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
@@ -166,7 +169,6 @@ $(package)_config_opts_android += -android-ndk-platform android-$(ANDROID_API_LE
166169
$(package)_config_opts_android += -device-option CROSS_COMPILE="$(host)-"
167170
$(package)_config_opts_android += -egl
168171
$(package)_config_opts_android += -qpa xcb
169-
$(package)_config_opts_android += -no-eglfs
170172
$(package)_config_opts_android += -no-dbus
171173
$(package)_config_opts_android += -opengl es2
172174
$(package)_config_opts_android += -qt-freetype
@@ -227,12 +229,9 @@ define $(package)_preprocess_cmds
227229
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
228230
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
229231
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
230-
patch -p1 -i $($(package)_patch_dir)/support_new_android_ndks.patch && \
231232
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
232-
patch -p1 -i $($(package)_patch_dir)/fix_android_pch.patch && \
233233
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
234234
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_x86_64.patch && \
235-
patch -p1 -i $($(package)_patch_dir)/fix_lib_paths.patch && \
236235
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
237236
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
238237
patch -p1 -i $($(package)_patch_dir)/fix_montery_include.patch && \

depends/patches/qt/dont_hardcode_x86_64.patch

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
99

1010
--- old/qtbase/configure.json
1111
+++ new/qtbase/configure.json
12-
@@ -208,11 +208,18 @@
12+
@@ -244,11 +244,18 @@
1313

1414
"testTypeDependencies": {
15-
"linkerSupportsFlag": [ "use_gold_linker" ],
16-
- "verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "qmakeargs", "commit" ],
15+
"linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
16+
- "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
1717
+ "verifySpec": [
1818
+ "shared",
19-
+ "use_gold_linker",
19+
+ "use_bfd_linker", "use_gold_linker", "use_lld_linker",
2020
+ "compiler-flags", "qmakeargs",
2121
+ "simulator_and_device",
2222
+ "thread",
@@ -30,7 +30,7 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
3030
},
3131

3232
"testTypeAliases": {
33-
@@ -653,7 +660,7 @@
33+
@@ -762,7 +769,7 @@
3434
},
3535
"architecture": {
3636
"label": "Architecture",
@@ -40,11 +40,10 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
4040
"pkg-config": {
4141
"label": "Using pkg-config",
4242
diff --git a/configure.pri b/configure.pri
43-
index 33c90a8c2f..71767e29d6 100644
44-
43+
index 49755f7abfd..8be9b10d7d4 100644
4544
--- old/qtbase/configure.pri
4645
+++ new/qtbase/configure.pri
47-
@@ -642,6 +642,13 @@ defineTest(qtConfOutput_commitOptions) {
46+
@@ -662,6 +662,13 @@ defineTest(qtConfOutput_commitOptions) {
4847
write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error()
4948
}
5049

@@ -59,24 +58,22 @@ index 33c90a8c2f..71767e29d6 100644
5958
defineTest(processQtPath) {
6059
out_var = config.rel_input.$${2}
6160
diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
62-
index 7d4a406134..de96c12fc9 100644
63-
61+
index d16b77acb8e..4ba0a8eaa36 100644
6462
--- old/qtbase/mkspecs/common/macx.conf
6563
+++ new/qtbase/mkspecs/common/macx.conf
6664
@@ -6,7 +6,6 @@ QMAKE_PLATFORM += macos osx macx
6765
QMAKE_MAC_SDK = macosx
6866

69-
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
67+
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
7068
-QMAKE_APPLE_DEVICE_ARCHS = x86_64
7169

72-
QT_MAC_SDK_VERSION_MIN = 10.13
73-
QT_MAC_SDK_VERSION_MAX = 11.0
70+
# Should be 10.15, but as long as the CI builds with
71+
# older SDKs we have to keep this.
7472
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
75-
index d052808c14..0a89effe87 100644
76-
73+
index 92a9112bca6..d888731ec8d 100644
7774
--- old/qtbase/mkspecs/features/mac/default_post.prf
7875
+++ new/qtbase/mkspecs/features/mac/default_post.prf
79-
@@ -89,6 +89,11 @@ app_extension_api_only {
76+
@@ -90,6 +90,11 @@ app_extension_api_only {
8077
QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
8178
}
8279

@@ -88,7 +85,7 @@ index d052808c14..0a89effe87 100644
8885
macx-xcode {
8986
qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
9087
!isEmpty(QMAKE_PKGINFO_TYPEINFO): \
91-
@@ -144,9 +149,6 @@ macx-xcode {
88+
@@ -145,9 +150,6 @@ macx-xcode {
9289
simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
9390
VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
9491

@@ -99,8 +96,7 @@ index d052808c14..0a89effe87 100644
9996

10097
ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
10198
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
102-
index 5003679bd0..c7c080cb07 100644
103-
99+
index efbe7c1e55b..8add6dc8043 100644
104100
--- old/qtbase/mkspecs/features/toolchain.prf
105101
+++ new/qtbase/mkspecs/features/toolchain.prf
106102
@@ -182,9 +182,14 @@ isEmpty($${target_prefix}.INCDIRS) {

depends/patches/qt/fix_android_jni_static.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
22
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
3-
@@ -898,6 +898,14 @@
3+
@@ -914,6 +914,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
44
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
55
return -1;
66
}

depends/patches/qt/fix_android_pch.patch

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)