Skip to content

Commit 06cd0da

Browse files
fanquakehebasto
andcommitted
build: qt 5.12.10
remove fix_configure_mac.patch Fixed upstream: https://bugreports.qt.io/browse/QTBUG-67286 remove fix_riscv64_arch.patch Was fixed upstream in 6a39e49a6cdeb28a04a3657bb6a22f848d5dfa9d remove fix_rcc_determinism.patch Fixed upstream in https://bugreports.qt.io/browse/QTBUG-62511 remove freetype_back_compat.patch By the time we ship a release with Qt 5.12, we'll certainly no-longer be supporting Ubuntu 14.04 and Ubuntu 16.04 ships with FreeType 2.6.1, which is new enough that using the symbol is no-longer an issue. The renaming of FT_Get_X11_Font_Format() happened in FreeType 2.6 remove xkb-default.patch This was removed upstream in d5abf545971da717014d316127045fc19edbcd65 Co-authored-by: Hennadii Stepanov <[email protected]>
1 parent 3272e34 commit 06cd0da

14 files changed

+49
-230
lines changed

build-aux/m4/bitcoin_qt.m4

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,21 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
138138
AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists])
139139
fi
140140
if test "x$TARGET_OS" = xwindows; then
141+
dnl Linking against wtsapi32 is required. See #17749 and
142+
dnl https://bugreports.qt.io/browse/QTBUG-27097.
143+
AX_CHECK_LINK_FLAG([-lwtsapi32], [QT_LIBS="$QT_LIBS -lwtsapi32"], [AC_MSG_ERROR([could not link against -lwtsapi32])])
141144
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsIntegrationPlugin], [-lqwindows])
142145
AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows])
143146
elif test "x$TARGET_OS" = xlinux; then
147+
dnl workaround for https://bugreports.qt.io/browse/QTBUG-74874
148+
AX_CHECK_LINK_FLAG([-lxcb-shm], [QT_LIBS="-lxcb-shm $QT_LIBS"], [AC_MSG_ERROR([could not link against -lxcb-shm])])
144149
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb -lxcb-static])
145150
AC_DEFINE(QT_QPA_PLATFORM_XCB, 1, [Define this symbol if the qt platform is xcb])
146151
elif test "x$TARGET_OS" = xdarwin; then
152+
AX_CHECK_LINK_FLAG([[-framework Carbon]],[QT_LIBS="$QT_LIBS -framework Carbon"],[AC_MSG_ERROR(could not link against Carbon framework)])
153+
AX_CHECK_LINK_FLAG([[-framework IOSurface]],[QT_LIBS="$QT_LIBS -framework IOSurface"],[AC_MSG_ERROR(could not link against IOSurface framework)])
154+
AX_CHECK_LINK_FLAG([[-framework Metal]],[QT_LIBS="$QT_LIBS -framework Metal"],[AC_MSG_ERROR(could not link against Metal framework)])
155+
AX_CHECK_LINK_FLAG([[-framework QuartzCore]],[QT_LIBS="$QT_LIBS -framework QuartzCore"],[AC_MSG_ERROR(could not link against QuartzCore framework)])
147156
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QCocoaIntegrationPlugin], [-lqcocoa])
148157
AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa])
149158
elif test "x$TARGET_OS" = xandroid; then
@@ -334,7 +343,8 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
334343
elif test "x$TARGET_OS" = xdarwin; then
335344
PKG_CHECK_MODULES([QTCLIPBOARD], [Qt5ClipboardSupport${qt_lib_suffix}], [QT_LIBS="-lQt5ClipboardSupport${qt_lib_suffix} $QT_LIBS"])
336345
PKG_CHECK_MODULES([QTGRAPHICS], [Qt5GraphicsSupport${qt_lib_suffix}], [QT_LIBS="-lQt5GraphicsSupport${qt_lib_suffix} $QT_LIBS"])
337-
PKG_CHECK_MODULES([QTCGL], [Qt5CglSupport${qt_lib_suffix}], [QT_LIBS="-lQt5CglSupport${qt_lib_suffix} $QT_LIBS"])
346+
elif test "x$TARGET_OS" = xwindows; then
347+
PKG_CHECK_MODULES([QTWINDOWSUIAUTOMATION], [Qt5WindowsUIAutomationSupport${qt_lib_suffix}], [QT_LIBS="-lQt5WindowsUIAutomationSupport${qt_lib_suffix} $QT_LIBS"])
338348
fi
339349
])
340350

contrib/devtools/symbol-check.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,15 @@
100100
'CoreGraphics', # 2D rendering
101101
'CoreServices', # operating system services
102102
'CoreText', # interface for laying out text and handling fonts.
103+
'CoreVideo', # video processing
103104
'Foundation', # base layer functionality for apps/frameworks
104105
'ImageIO', # read and write image file formats.
105106
'IOKit', # user-space access to hardware devices and drivers.
107+
'IOSurface', # cross process image/drawing buffers
106108
'libobjc.A.dylib', # Objective-C runtime library
109+
'Metal', # 3D graphics
110+
'Security', # access control and authentication
111+
'QuartzCore', # animation
107112
}
108113

109114
PE_ALLOWED_LIBRARIES = {
@@ -118,12 +123,15 @@
118123
'dwmapi.dll', # desktop window manager
119124
'GDI32.dll', # graphics device interface
120125
'IMM32.dll', # input method editor
126+
'NETAPI32.dll',
121127
'ole32.dll', # component object model
122128
'OLEAUT32.dll', # OLE Automation API
123129
'SHLWAPI.dll', # light weight shell API
130+
'USERENV.dll',
124131
'UxTheme.dll',
125132
'VERSION.dll', # version checking
126133
'WINMM.dll', # WinMM audio API
134+
'WTSAPI32.dll',
127135
}
128136

129137
class CPPFilt(object):

depends/packages/libxcb.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $(package)_config_opts += --disable-composite --disable-damage --disable-dpms
1515
$(package)_config_opts += --disable-dri2 --disable-dri3 --disable-glx
1616
$(package)_config_opts += --disable-present --disable-randr --disable-record
1717
$(package)_config_opts += --disable-render --disable-resource --disable-screensaver
18-
$(package)_config_opts += --disable-shape --disable-shm --disable-sync
18+
$(package)_config_opts += --disable-shape --disable-sync
1919
$(package)_config_opts += --disable-xevie --disable-xfixes --disable-xfree86-dri
2020
$(package)_config_opts += --disable-xinerama --disable-xinput
2121
$(package)_config_opts += --disable-xprint --disable-selinux --disable-xtest

depends/packages/qt.mk

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
PACKAGE=qt
2-
$(package)_version=5.9.8
3-
$(package)_download_path=https://download.qt.io/official_releases/qt/5.9/$($(package)_version)/submodules
4-
$(package)_suffix=opensource-src-$($(package)_version).tar.xz
2+
$(package)_version=5.12.10
3+
$(package)_download_path=https://download.qt.io/official_releases/qt/5.12/$($(package)_version)/submodules
4+
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
55
$(package)_file_name=qtbase-$($(package)_suffix)
6-
$(package)_sha256_hash=9b9dec1f67df1f94bce2955c5604de992d529dde72050239154c56352da0907d
6+
$(package)_sha256_hash=8088f174e6d28e779516c083b6087b6a9e3c8322b4bc161fd1b54195e3c86940
77
$(package)_dependencies=zlib
88
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon
99
$(package)_qt_libs=corelib network widgets gui plugins testlib
10-
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch
11-
$(package)_patches+= fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch
10+
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
1211
$(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
13-
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch fix_powerpc_libpng.patch
14-
$(package)_patches+= fix_mingw_cross_compile.patch fix_qpainter_non_determinism.patch
12+
$(package)_patches+= drop_lrelease_dependency.patch
13+
$(package)_patches+= fix_qpainter_non_determinism.patch
1514

1615
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
17-
$(package)_qttranslations_sha256_hash=fb5a47799754af73d3bf501fe513342cfe2fc37f64e80df5533f6110e804220c
16+
$(package)_qttranslations_sha256_hash=e1de58ed108b7e0a138815ea60fd46a2c4e1fc31396a707e5630e92de79c53de
1817

1918
$(package)_qttools_file_name=qttools-$($(package)_suffix)
20-
$(package)_qttools_sha256_hash=a97556eb7b2f30252cdd8a598c396cfce2b2f79d2bae883af6d3b26a2cdcc63c
19+
$(package)_qttools_sha256_hash=b0cfa6e7aac41b7c61fc59acc04843d7a98f9e1840370611751bcfc1834a636c
2120

2221
$(package)_extra_sources = $($(package)_qttranslations_file_name)
2322
$(package)_extra_sources += $($(package)_qttools_file_name)
@@ -50,7 +49,6 @@ $(package)_config_opts += -no-mtdev
5049
$(package)_config_opts += -no-openssl
5150
$(package)_config_opts += -no-openvg
5251
$(package)_config_opts += -no-reduce-relocations
53-
$(package)_config_opts += -no-qml-debug
5452
$(package)_config_opts += -no-sctp
5553
$(package)_config_opts += -no-securetransport
5654
$(package)_config_opts += -no-sql-db2
@@ -64,7 +62,6 @@ $(package)_config_opts += -no-sql-sqlite
6462
$(package)_config_opts += -no-sql-sqlite2
6563
$(package)_config_opts += -no-system-proxies
6664
$(package)_config_opts += -no-use-gold-linker
67-
$(package)_config_opts += -no-xinput2
6865
$(package)_config_opts += -nomake examples
6966
$(package)_config_opts += -nomake tests
7067
$(package)_config_opts += -opensource
@@ -94,10 +91,10 @@ $(package)_config_opts += -no-feature-printdialog
9491
$(package)_config_opts += -no-feature-printer
9592
$(package)_config_opts += -no-feature-printpreviewdialog
9693
$(package)_config_opts += -no-feature-printpreviewwidget
97-
$(package)_config_opts += -no-feature-regularexpression
9894
$(package)_config_opts += -no-feature-sessionmanager
9995
$(package)_config_opts += -no-feature-socks5
10096
$(package)_config_opts += -no-feature-sql
97+
$(package)_config_opts += -no-feature-sqlmodel
10198
$(package)_config_opts += -no-feature-statemachine
10299
$(package)_config_opts += -no-feature-syntaxhighlighter
103100
$(package)_config_opts += -no-feature-textbrowser
@@ -115,6 +112,7 @@ $(package)_config_opts += -no-feature-xml
115112
$(package)_config_opts_darwin = -no-dbus
116113
$(package)_config_opts_darwin += -no-opengl
117114
$(package)_config_opts_darwin += -pch
115+
$(package)_config_opts_darwin += -device-option QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
118116

119117
ifneq ($(build_os),darwin)
120118
$(package)_config_opts_darwin += -xplatform macx-clang-linux
@@ -135,6 +133,7 @@ $(package)_config_opts_linux += -no-feature-xlib
135133
$(package)_config_opts_linux += -system-freetype
136134
$(package)_config_opts_linux += -fontconfig
137135
$(package)_config_opts_linux += -no-opengl
136+
$(package)_config_opts_linux += -no-feature-vulkan
138137
$(package)_config_opts_linux += -dbus-runtime
139138
$(package)_config_opts_arm_linux += -platform linux-g++ -xplatform bitcoin-linux-g++
140139
$(package)_config_opts_i686_linux = -xplatform linux-g++-32
@@ -219,20 +218,13 @@ endef
219218
# 8. Adjust a regex in toolchain.prf, to accommodate Guix's usage of
220219
# CROSS_LIBRARY_PATH. See #15277.
221220
define $(package)_preprocess_cmds
222-
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
223-
patch -p1 -i $($(package)_patch_dir)/fix_powerpc_libpng.patch && \
224221
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
225222
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
226223
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
227-
patch -p1 -i $($(package)_patch_dir)/fix_configure_mac.patch && \
228224
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
229-
patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch && \
230-
patch -p1 -i $($(package)_patch_dir)/xkb-default.patch && \
231225
patch -p1 -i $($(package)_patch_dir)/fix_android_qmake_conf.patch && \
232226
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
233-
patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch && \
234227
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
235-
patch -p1 -i $($(package)_patch_dir)/fix_mingw_cross_compile.patch && \
236228
patch -p1 -i $($(package)_patch_dir)/fix_qpainter_non_determinism.patch &&\
237229
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
238230
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
@@ -246,8 +238,8 @@ define $(package)_preprocess_cmds
246238
sed -i.old "s|QMAKE_CFLAGS += |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
247239
sed -i.old "s|QMAKE_CXXFLAGS += |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
248240
sed -i.old "0,/^QMAKE_LFLAGS_/s|^QMAKE_LFLAGS_|!host_build: QMAKE_LFLAGS = $($(package)_ldflags)\n&|" qtbase/mkspecs/win32-g++/qmake.conf && \
249-
sed -i.old "s|QMAKE_CC = clang|QMAKE_CC = $($(package)_cc)|" qtbase/mkspecs/common/clang.conf && \
250-
sed -i.old "s|QMAKE_CXX = clang++|QMAKE_CXX = $($(package)_cxx)|" qtbase/mkspecs/common/clang.conf && \
241+
sed -i.old "s|QMAKE_CC = \$$$$\$$$${CROSS_COMPILE}clang|QMAKE_CC = $($(package)_cc)|" qtbase/mkspecs/common/clang.conf && \
242+
sed -i.old "s|QMAKE_CXX = \$$$$\$$$${CROSS_COMPILE}clang++|QMAKE_CXX = $($(package)_cxx)|" qtbase/mkspecs/common/clang.conf && \
251243
sed -i.old "s/LIBRARY_PATH/(CROSS_)?\0/g" qtbase/mkspecs/features/toolchain.prf
252244
endef
253245

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,10 @@
11
--- old/qtbase/mkspecs/android-clang/qmake.conf
22
+++ new/qtbase/mkspecs/android-clang/qmake.conf
3-
@@ -30,7 +30,7 @@
4-
QMAKE_CFLAGS += -target mips64el-none-linux-android
3+
@@ -47,7 +47,7 @@ ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
4+
ANDROID_USE_LLVM = true
55

6-
QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH
7-
-QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a
8-
+QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -nostdlib++
9-
QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
10-
-isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
11-
-isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
12-
@@ -40,7 +40,7 @@
13-
ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
14-
15-
ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
16-
-ANDROID_CXX_STL_LIBS = -lc++
17-
+ANDROID_CXX_STL_LIBS = -lc++_shared
18-
19-
QMAKE_ARM_CFLAGS_RELEASE = -Oz
20-
QMAKE_ARM_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -Oz
6+
exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
7+
- ANDROID_CXX_STL_LIBS = -lc++
8+
+ ANDROID_CXX_STL_LIBS = -lc++_shared
9+
else: \
10+
ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")

depends/patches/qt/fix_configure_mac.patch

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

depends/patches/qt/fix_mingw_cross_compile.patch

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

depends/patches/qt/fix_no_printer.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
--- x/qtbase/src/plugins/plugins.pro
1212
+++ y/qtbase/src/plugins/plugins.pro
13-
@@ -8,6 +8,3 @@ qtHaveModule(gui) {
14-
qtConfig(imageformatplugin): SUBDIRS *= imageformats
13+
@@ -9,6 +9,3 @@ qtHaveModule(gui) {
1514
!android:qtConfig(library): SUBDIRS *= generic
1615
}
16+
qtHaveModule(widgets): SUBDIRS += styles
1717
-
1818
-!winrt:qtHaveModule(printsupport): \
1919
- SUBDIRS += printsupport

depends/patches/qt/fix_powerpc_libpng.patch

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
--- old/qtbase/mkspecs/features/qt_module.prf
22
+++ new/qtbase/mkspecs/features/qt_module.prf
3-
@@ -264,7 +264,7 @@
3+
@@ -269,7 +269,7 @@ load(qt_installs)
44
load(qt_targets)
55

66
# this builds on top of qt_common
7-
-!internal_module:!lib_bundle:if(unix|mingw) {
7+
-!internal_module:if(unix|mingw) {
88
+if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
99
CONFIG += create_pc
1010
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
1111
host_build: \
12-
@@ -274,9 +274,9 @@
13-
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
14-
QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
12+
@@ -284,9 +284,9 @@ load(qt_targets)
13+
QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE -I${includedir}/$$MODULE_INCNAME
14+
}
1515
QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
1616
- QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
1717
+ QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)$$qtPlatformTargetSuffix()
@@ -20,4 +20,4 @@
2020
+ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
2121
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
2222
QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
23-
pclib_replace.match = $$lib_replace.match
23+
!isEmpty(lib_replace0.match) {

0 commit comments

Comments
 (0)