mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 05:57:59 +01:00
build, qt: bump Qt5 version to 5.15.3
Qt 5.15.3 release is a patch release made on the top of Qt 5.15.2. As a patch release, Qt 5.15.3 does not add any new functionality but provides bug fixes and other improvements. https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.3/release-note.md * dropped patches: - patches/qt/dont_use_avx_android_x86_64.patch - patches/qt/fix_bigsur_style.patch * adjusted patches: - patches/qt/fix_android_jni_static.patch - patches/qt/fix_limits_header.patch - patches/qt/use_android_ndk23.patch Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
This commit is contained in:
@@ -1,32 +0,0 @@
|
||||
Android: don't use avx and avx2 when building for Android x86_64
|
||||
|
||||
AVX and AVX2 are not supported on x86_64 ABI.
|
||||
See:
|
||||
- https://developer.android.com/ndk/guides/abis#86-64
|
||||
- https://bugreports.qt.io/browse/QTBUG-86785
|
||||
|
||||
Upstream commits:
|
||||
- Qt 6.0: ff1a44be33f4bc05d502a2ca49171e0408992f61
|
||||
- Qt 5.15: 8b2cc0f6deb038a4c9d4f0d9b690c7726bd809a9
|
||||
|
||||
|
||||
--- old/qtbase/configure.json
|
||||
+++ new/qtbase/configure.json
|
||||
@@ -1098,7 +1098,7 @@
|
||||
},
|
||||
"avx": {
|
||||
"label": "AVX",
|
||||
- "condition": "features.sse4_2 && tests.avx",
|
||||
+ "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)",
|
||||
"output": [
|
||||
"privateConfig",
|
||||
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 }
|
||||
@@ -1114,7 +1114,7 @@
|
||||
},
|
||||
"avx2": {
|
||||
"label": "AVX2",
|
||||
- "condition": "features.avx && tests.avx2",
|
||||
+ "condition": "features.avx && tests.avx2 && (!config.android || !arch.x86_64)",
|
||||
"output": [
|
||||
"privateConfig",
|
||||
"privateFeature",
|
||||
@@ -1,6 +1,6 @@
|
||||
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
|
||||
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
|
||||
@@ -914,6 +914,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
|
||||
@@ -934,6 +934,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
|
||||
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
Fix rendering in macOS BigSur
|
||||
|
||||
See: https://bugreports.qt.io/browse/QTBUG-86513.
|
||||
|
||||
Upstream commits (combined in this patch):
|
||||
- Qt 6.0: 40fb97e97f550b8afd13ecc3a038d9d0c2d82bbb
|
||||
- Qt 6.0: 3857f104cac127f62e64e55a20613f0ac2e6b843
|
||||
- Qt 6.1: abee4cdd5925a8513f51784754fca8fa35031732
|
||||
|
||||
--- old/qtbase/src/plugins/styles/mac/qmacstyle_mac.mm
|
||||
+++ new/qtbase/src/plugins/styles/mac/qmacstyle_mac.mm
|
||||
@@ -3870,6 +3870,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
const auto cs = d->effectiveAquaSizeConstrain(opt, w);
|
||||
// Extra hacks to get the proper pressed appreance when not selected or selected and inactive
|
||||
const bool needsInactiveHack = (!isActive && isSelected);
|
||||
+ const bool isBigSurOrAbove = QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur;
|
||||
const auto ct = !needsInactiveHack && (isSelected || tp == QStyleOptionTab::OnlyOneTab) ?
|
||||
QMacStylePrivate::Button_PushButton :
|
||||
QMacStylePrivate::Button_PopupButton;
|
||||
@@ -3878,6 +3879,12 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
auto *pb = static_cast<NSButton *>(d->cocoaControl(cw));
|
||||
|
||||
auto vOffset = isPopupButton ? 1 : 2;
|
||||
+ if (isBigSurOrAbove) {
|
||||
+ // Make it 1, otherwise, offset is very visible compared
|
||||
+ // to selected tab (which is not a popup button).
|
||||
+ vOffset = 1;
|
||||
+ }
|
||||
+
|
||||
if (tabDirection == QMacStylePrivate::East)
|
||||
vOffset -= 1;
|
||||
const auto outerAdjust = isPopupButton ? 1 : 4;
|
||||
@@ -3894,9 +3901,22 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
|
||||
else
|
||||
frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
|
||||
+
|
||||
+ if (isSelected && isBigSurOrAbove) {
|
||||
+ // 1 pixed of 'roundness' is still visible on the right
|
||||
+ // (the left is OK, it's rounded).
|
||||
+ frameRect = frameRect.adjusted(0, 0, 1, 0);
|
||||
+ }
|
||||
+
|
||||
break;
|
||||
case QStyleOptionTab::Middle:
|
||||
frameRect = frameRect.adjusted(-innerAdjust, 0, innerAdjust, 0);
|
||||
+
|
||||
+ if (isSelected && isBigSurOrAbove) {
|
||||
+ // 1 pixel of 'roundness' is still visible on both
|
||||
+ // sides - left and right.
|
||||
+ frameRect = frameRect.adjusted(-1, 0, 1, 0);
|
||||
+ }
|
||||
break;
|
||||
case QStyleOptionTab::End:
|
||||
// Pressed state hack: tweak adjustments in preparation for flip below
|
||||
@@ -3904,6 +3924,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0);
|
||||
else
|
||||
frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0);
|
||||
+
|
||||
+ if (isSelected && isBigSurOrAbove) {
|
||||
+ // 1 pixel of 'roundness' is still visible on the left.
|
||||
+ frameRect = frameRect.adjusted(-1, 0, 0, 0);
|
||||
+ }
|
||||
break;
|
||||
case QStyleOptionTab::OnlyOneTab:
|
||||
frameRect = frameRect.adjusted(-outerAdjust, 0, outerAdjust, 0);
|
||||
@@ -3951,7 +3976,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
NSPopUpArrowPosition oldPosition = NSPopUpArrowAtCenter;
|
||||
NSPopUpButtonCell *pbCell = nil;
|
||||
auto rAdjusted = r;
|
||||
- if (isPopupButton && tp == QStyleOptionTab::OnlyOneTab) {
|
||||
+ if (isPopupButton && (tp == QStyleOptionTab::OnlyOneTab || isBigSurOrAbove)) {
|
||||
+ // Note: starting from macOS BigSur NSPopupButton has this
|
||||
+ // arrow 'button' in a different place and it became
|
||||
+ // quite visible 'in between' inactive tabs.
|
||||
pbCell = static_cast<NSPopUpButtonCell *>(pb.cell);
|
||||
oldPosition = pbCell.arrowPosition;
|
||||
pbCell.arrowPosition = NSPopUpNoArrow;
|
||||
@@ -3959,6 +3987,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
// NSPopUpButton in this state is smaller.
|
||||
rAdjusted.origin.x -= 3;
|
||||
rAdjusted.size.width += 6;
|
||||
+ if (isBigSurOrAbove) {
|
||||
+ if (tp == QStyleOptionTab::End)
|
||||
+ rAdjusted.origin.x -= 2;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,46 +1,9 @@
|
||||
Fix compiling with GCC 11
|
||||
|
||||
See: https://bugreports.qt.io/browse/QTBUG-90395.
|
||||
Upstream:
|
||||
- bug report: https://bugreports.qt.io/browse/QTBUG-89977
|
||||
- fix in Qt 6.1: 813a928c7c3cf98670b6043149880ed5c955efb9
|
||||
|
||||
Upstream commits:
|
||||
- Qt 5.15 -- unavailable as open source
|
||||
- Qt 6.0: b2af6332ea37e45ab230a7a5d2d278f86d961b83
|
||||
- Qt 6.1: 9c56d4da2ff631a8c1c30475bd792f6c86bda53c
|
||||
|
||||
--- old/qtbase/src/corelib/global/qendian.h
|
||||
+++ new/qtbase/src/corelib/global/qendian.h
|
||||
@@ -44,6 +44,8 @@
|
||||
#include <QtCore/qfloat16.h>
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
+#include <limits>
|
||||
+
|
||||
// include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
--- old/qtbase/src/corelib/global/qfloat16.h
|
||||
+++ new/qtbase/src/corelib/global/qfloat16.h
|
||||
@@ -43,6 +43,7 @@
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
+#include <limits>
|
||||
#include <string.h>
|
||||
|
||||
#if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
|
||||
|
||||
--- old/qtbase/src/tools/moc/generator.cpp
|
||||
+++ new/qtbase/src/tools/moc/generator.cpp
|
||||
@@ -40,6 +40,8 @@
|
||||
#include <QtCore/qplugin.h>
|
||||
#include <QtCore/qstringview.h>
|
||||
|
||||
+#include <limits>
|
||||
+
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
|
||||
--- old/qtbase/src/corelib/text/qbytearraymatcher.h
|
||||
+++ new/qtbase/src/corelib/text/qbytearraymatcher.h
|
||||
@@ -42,6 +42,8 @@
|
||||
@@ -52,6 +15,12 @@ Upstream commits:
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
|
||||
Upstream fix and backports:
|
||||
- Qt 6.1: 3eab20ad382569cb2c9e6ccec2322c3d08c0f716
|
||||
- Qt 6.2: 380294a5971da85010a708dc23b0edec192cbf27
|
||||
- Qt 6.3: 2b2b3155d9f6ba1e4f859741468fbc47db09292b
|
||||
|
||||
--- old/qtbase/src/corelib/tools/qoffsetstringarray_p.h
|
||||
+++ new/qtbase/src/corelib/tools/qoffsetstringarray_p.h
|
||||
@@ -55,6 +55,7 @@
|
||||
|
||||
@@ -2,7 +2,7 @@ Use Android NDK r23 LTS
|
||||
|
||||
--- old/qtbase/mkspecs/features/android/default_pre.prf
|
||||
+++ new/qtbase/mkspecs/features/android/default_pre.prf
|
||||
@@ -73,7 +73,7 @@ else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-
|
||||
@@ -76,7 +76,7 @@ else: equals(QT_ARCH, x86_64): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/x86_64-linux-
|
||||
else: equals(QT_ARCH, arm64-v8a): CROSS_COMPILE = $$NDK_LLVM_PATH/bin/aarch64-linux-android-
|
||||
else: CROSS_COMPILE = $$NDK_LLVM_PATH/bin/arm-linux-androideabi-
|
||||
|
||||
|
||||
Reference in New Issue
Block a user