aboutsummaryrefslogtreecommitdiff
path: root/depends/packages/qt.mk
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2020-11-21 01:51:48 -0500
committerWladimir J. van der Laan <laanwj@protonmail.com>2020-11-24 16:32:42 +0100
commitab23a83400d5ad13137ce0f9697a51f0b70e9d29 (patch)
tree23c1c2a46b0738104f74789ff3d48d1c9dcacc2f /depends/packages/qt.mk
parentbf9548bc59458c997baa8b2818c33f399559168a (diff)
downloadbitcoin-ab23a83400d5ad13137ce0f9697a51f0b70e9d29.tar.xz
Fix QPainter non-determinism on macOS
Aplies a patch to Qt that fixes the non-determinism by modifying Qt. The source of the non-determinism is how LLVM 8 optimizes qt_intersect_spans when compiling. The particular optimization that seems to be causing the problems is that a temp variable is being added for spans->y. For some reason, when it does this, it chooses different instructions to use when making that variable. We bypass this problem by patching qt_intersect_spans to always make and use this local variable. Github-Pull: #20447 Rebased-From: 8f7d1b39efbe65ab2747c593cc3560d4a449a333 Tree-SHA512: 558da5c2bb0373e2a89f2c219170f802036e0e87cc8e808336b23d074152cb893007a440f46ec957156b0921355cd18502710f2d224f27bc26e934c50ebebc41
Diffstat (limited to 'depends/packages/qt.mk')
-rw-r--r--depends/packages/qt.mk2
1 files changed, 2 insertions, 0 deletions
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 083bc68d66..2a9e066510 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -12,6 +12,7 @@ $(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch
$(package)_patches+= fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch
$(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch fix_powerpc_libpng.patch
+$(package)_patches+= fix_qpainter_non_determinism.patch
# Update OSX_QT_TRANSLATIONS when this is updated
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
@@ -195,6 +196,7 @@ endef
define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_powerpc_libpng.patch && \
+ patch -p1 -i $($(package)_patch_dir)/fix_qpainter_non_determinism.patch &&\
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch &&\