Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: Qt 5.15.2 #23489

Closed
wants to merge 15 commits into from
Closed

build: Qt 5.15.2 #23489

wants to merge 15 commits into from

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented Nov 12, 2021

Hebasto asked for this branch to be resurrected, so here it is.

Guix Builds:

9bbbec69cc56255fbe0dd6f63d26b6d76ebc071275cd603a2388baf028a2e5fe  guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/SHA256SUMS.part
57aee87dedbf3c41e52e7bb18cb52e96a656696699ce0663a35cf6c030ca048a  guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/bitcoin-c0a1c3ca0894-aarch64-linux-gnu-debug.tar.gz
8d2842ff0995bf53f4ed6f67e3db3d33f4cd1d117b15122d750875a3681dba21  guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/bitcoin-c0a1c3ca0894-aarch64-linux-gnu.tar.gz
67b342e95d8fa5d897d84e53f5bb5cc8323921d31c51497196b54d2c2d62e915  guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/SHA256SUMS.part
f52e8b2e28236a7fb0dd26989c39ef18472161a892f90e62cea26ae7c2daadaf  guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/bitcoin-c0a1c3ca0894-arm-linux-gnueabihf-debug.tar.gz
1dce8e6953e52874b98a0f5dafaebf068584984e2c3cd40d3110dd3c5c0d2f8d  guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/bitcoin-c0a1c3ca0894-arm-linux-gnueabihf.tar.gz
f8328d777b0f1be68408c2df5907c4dd890dd0617b1aa747b3bf140f84c0f61d  guix-build-c0a1c3ca0894/output/dist-archive/bitcoin-c0a1c3ca0894.tar.gz
b3e71decb914c3be9c88586084853ab086d77929707c1a7649991b75c734f3e2  guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/SHA256SUMS.part
30a8ad718f848297ac1dc8f48eadb37b983d5837f807ecfedb6723932cb5e84a  guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64-linux-gnu-debug.tar.gz
111444d627aa837e8a7f450dfe304ff20139ca018a293c9a5e8c5aec33ab75a9  guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64-linux-gnu.tar.gz
ef815b019722b774995e2a999cdbd79b34b8636f92f62b2f8e6b99b294ad1bc5  guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/SHA256SUMS.part
5521bf88d0febd79301dbed30205c1bef6257eb03ae5d4a5227bac3b66b0b427  guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64le-linux-gnu-debug.tar.gz
6d2ae36ec34e7b5d3d84d6a50595c39c1d89b2659ed9eba5e7c8b21a9cbb8f04  guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64le-linux-gnu.tar.gz
8aa9cb8a5585d8b27feafa8403fcba803152fb154d7c308f6759670c11107cfa  guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/SHA256SUMS.part
7abbf8efdc91399ab0d2dde18b3be19734f956a07ed1cc19f8f5178647f9ac94  guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/bitcoin-c0a1c3ca0894-riscv64-linux-gnu-debug.tar.gz
1dfd20f75feb316882043dd081f0ee4bd2032481e17d40f7ae9f2b430c316754  guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/bitcoin-c0a1c3ca0894-riscv64-linux-gnu.tar.gz
1949530e8e68b68c72f627296995b93e9ec048c2740274a8874fe9565eca4a46  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/SHA256SUMS.part
ab2e63f9f58834ddc0fc5f83a2a7938ffcf8057392f0c5ce92a8d456e9b8e4af  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx-unsigned.dmg
38958a096117542cde4dcac318d116fdeec3237c95ebf88fff0e76570002109e  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx-unsigned.tar.gz
8841df372ef1ea670dc8d4f82b007420140a39454371be47193e484a4f95fd76  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx64.tar.gz
4e0d6b6a715d987ff025e45782dd6a47cfdac904a26d932c9c84de7eb8b699d4  guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/SHA256SUMS.part
3ac4c326313650c0d0a35560c4073f0c3fcbf7002c5b5c918e7186627c8ed392  guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/bitcoin-c0a1c3ca0894-x86_64-linux-gnu-debug.tar.gz
fcd45fe54cb86a7e9240a6bbe2170926e6db32ee55b821af332348d4c4e1d3a4  guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/bitcoin-c0a1c3ca0894-x86_64-linux-gnu.tar.gz
72deb4fc1c5b70ae329ab04862e822911708f3c4a4d8a0bbb5796d9a64985414  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/SHA256SUMS.part
78ae8f495bfb02198b00b7fc72b67fb0595f81dd9e3aef45e5103efea90451d9  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win-unsigned.tar.gz
962fcf4ce63e5a89fb1e74e19dbc1aeffc4d5b753ab8e19fcf2249ce21766c5b  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64-debug.zip
3929916755d599b133304acd94462afad1ba73d5516f6f9786aff565c6ac8818  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64-setup-unsigned.exe
66e2030476de85437e1593b7d2f4efd4a8837de8b2479217f9246d8028256e08  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64.zip

@maflcko
Copy link
Member

maflcko commented Nov 12, 2021

Previous attempt: #19716

@promag
Copy link
Contributor

promag commented Nov 12, 2021

Concept ACK 🎉

@hebasto
Copy link
Member

hebasto commented Nov 12, 2021

Concept ACK, obviously.

@hebasto
Copy link
Member

hebasto commented Nov 12, 2021

Can confirm that make -C depends libxcb fails on a hirsute system, unfortunately.

@hebasto
Copy link
Member

hebasto commented Nov 12, 2021

Can confirm that make -C depends libxcb fails on a hirsute system, unfortunately.

Bumping xcb_proto version to 1.14.1 fixes the issue:

--- a/depends/packages/xcb_proto.mk
+++ b/depends/packages/xcb_proto.mk
@@ -1,8 +1,8 @@
 package=xcb_proto
-$(package)_version=1.14
-$(package)_download_path=https://xcb.freedesktop.org/dist
+$(package)_version=1.14.1
+$(package)_download_path=https://xorg.freedesktop.org/archive/individual/proto
 $(package)_file_name=xcb-proto-$($(package)_version).tar.xz
-$(package)_sha256_hash=186a3ceb26f9b4a015f5a44dcc814c93033a5fc39684f36f1ecc79834416a605
+$(package)_sha256_hash=f04add9a972ac334ea11d9d7eb4fc7f8883835da3e4859c9afa971efdf57fcc3
 
 define $(package)_config_cmds
   $($(package)_autoconf)

See:

UPDATE: this diff fixes issues with builds on both bullseye and hirsute systems.

@hebasto
Copy link
Member

hebasto commented Nov 12, 2021

To fix configuration for Android builds, the following patch could be applied:

--- a/build-aux/m4/bitcoin_qt.m4
+++ b/build-aux/m4/bitcoin_qt.m4
@@ -71,6 +71,9 @@ AC_DEFUN([BITCOIN_QT_INIT],[
                  [qt_lib_suffix= ]); bitcoin_qt_want_version=qt5],
         [qt_lib_suffix= ])
 
+  AS_CASE([$host],
+          [*android*], [qt_lib_suffix=_$ANDROID_ARCH])
+
   AC_ARG_WITH([qt-incdir],[AS_HELP_STRING([--with-qt-incdir=INC_DIR],[specify qt include path (overridden by pkgconfig)])], [qt_include_path=$withval], [])
   AC_ARG_WITH([qt-libdir],[AS_HELP_STRING([--with-qt-libdir=LIB_DIR],[specify qt lib path (overridden by pkgconfig)])], [qt_lib_path=$withval], [])
   AC_ARG_WITH([qt-plugindir],[AS_HELP_STRING([--with-qt-plugindir=PLUGIN_DIR],[specify qt plugin path (overridden by pkgconfig)])], [qt_plugin_path=$withval], [])
@@ -162,7 +165,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
       _BITCOIN_QT_CHECK_STATIC_PLUGIN([QMacStylePlugin], [-lqmacstyle])
       AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa])
     elif test "x$TARGET_OS" = xandroid; then
-      QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype $QT_LIBS"
+      QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lplugins_platforms_qtforandroid_$ANDROID_ARCH -ljnigraphics -landroid -lqtfreetype_$ANDROID_ARCH $QT_LIBS"
       AC_DEFINE(QT_QPA_PLATFORM_ANDROID, 1, [Define this symbol if the qt platform is android])
     fi
   fi
@@ -360,7 +363,7 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
   elif test "x$TARGET_OS" = xwindows; then
     PKG_CHECK_MODULES([QT_WINDOWSUIAUTOMATION], [${qt_lib_prefix}WindowsUIAutomationSupport${qt_lib_suffix}], [QT_LIBS="$QT_WINDOWSUIAUTOMATION_LIBS $QT_LIBS"])
   elif test "x$TARGET_OS" = xandroid; then
-    PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"])
+    PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport${qt_lib_suffix}], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"])
   fi
 ])
 

@hebasto
Copy link
Member

hebasto commented Nov 12, 2021

A branch with suggested patches being applied is here: pr23489-1112.mod.

Its CI build is here: https://cirrus-ci.com/build/5683926900408320

UPDATE: maybe un-draft?
🐅

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 13, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #23593 (build: remove x-prefix's from comparisons by fanquake)
  • #23565 (doc: rewrite dependencies.md by fanquake)
  • #23495 (build: Bump Fontconfig version up to 2.12.6 by hebasto)
  • #22708 (build, qt: Add Wayland support for Linux builds with depends by hebasto)
  • #22555 (build: Fix make apk for Android w/ non-default SOURCES_PATH in depends by hebasto)
  • #22552 (build: Improve depends build system robustness by hebasto)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@hebasto
Copy link
Member

hebasto commented Nov 14, 2021

To fix compatibility with glibc 2.17, the following patch could be applied:

patch

diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 2235e6ec8..9ff6d8794 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_no_printer.patch
 $(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch
 $(package)_patches += no_sdk_version_check.patch fix_cgcolorspace_include.patch
 $(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
+$(package)_patches += glibc_2_17_compatibility.patch
 
 $(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
 $(package)_qttranslations_sha256_hash=d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
@@ -233,6 +234,7 @@ define $(package)_preprocess_cmds
   patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
   patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
   patch -p1 -i $($(package)_patch_dir)/fix_cgcolorspace_include.patch && \
+  patch -p1 -i $($(package)_patch_dir)/glibc_2_17_compatibility.patch && \
   mkdir -p qtbase/mkspecs/macx-clang-linux &&\
   cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
   cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
diff --git a/depends/patches/qt/glibc_2_17_compatibility.patch b/depends/patches/qt/glibc_2_17_compatibility.patch
new file mode 100644
index 000000000..e509ce3ce
--- /dev/null
+++ b/depends/patches/qt/glibc_2_17_compatibility.patch
@@ -0,0 +1,259 @@
+Provide compatibility with glibc 2.17.
+
+Revert "Cache system zone ID when fetched from the file-system"
+
+This reverts commit c70ce3d042025c858faffe661f85d2482a2a0d8c.
+
+--- old/qtbase/src/corelib/time/qtimezoneprivate_tz.cpp
++++ new/qtbase/src/corelib/time/qtimezoneprivate_tz.cpp
+@@ -1,6 +1,5 @@
+ /****************************************************************************
+ **
+-** Copyright (C) 2020 The Qt Company Ltd.
+ ** Copyright (C) 2019 Crimson AS <info@crimson.no>
+ ** Copyright (C) 2013 John Layt <jlayt@kde.org>
+ ** Contact: https://www.qt.io/licensing/
+@@ -43,19 +42,18 @@
+ #include "qtimezoneprivate_p.h"
+ #include "private/qlocale_tools_p.h"
+ 
+-#include <QtCore/QDataStream>
+-#include <QtCore/QDateTime>
+ #include <QtCore/QFile>
+-#include <QtCore/QHash>
+ #include <QtCore/QMutex>
++#include <QtCore/QHash>
++#include <QtCore/QDataStream>
++#include <QtCore/QDateTime>
+ 
+ #include <qdebug.h>
+-#include <qplatformdefs.h>
+ 
+ #include <algorithm>
+ #include <errno.h>
+ #include <limits.h>
+-#ifndef Q_OS_INTEGRITY
++#if !defined(Q_OS_INTEGRITY)
+ #include <sys/param.h> // to use MAXSYMLINKS constant
+ #endif
+ #include <unistd.h>    // to use _SC_SYMLOOP_MAX constant
+@@ -1108,146 +1106,28 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::previousTransition(qint64 beforeMSecs
+     return last > tranCache().cbegin() ? dataForTzTransition(*--last) : invalidData();
+ }
+ 
+-bool QTzTimeZonePrivate::isTimeZoneIdAvailable(const QByteArray &ianaId) const
+-{
+-    return tzZones->contains(ianaId);
+-}
+-
+-QList<QByteArray> QTzTimeZonePrivate::availableTimeZoneIds() const
+-{
+-    QList<QByteArray> result = tzZones->keys();
+-    std::sort(result.begin(), result.end());
+-    return result;
+-}
+-
+-QList<QByteArray> QTzTimeZonePrivate::availableTimeZoneIds(QLocale::Country country) const
++static long getSymloopMax()
+ {
+-    // TODO AnyCountry
+-    QList<QByteArray> result;
+-    for (auto it = tzZones->cbegin(), end = tzZones->cend(); it != end; ++it) {
+-        if (it.value().country == country)
+-            result << it.key();
+-    }
+-    std::sort(result.begin(), result.end());
+-    return result;
+-}
+-
+-// Getting the system zone's ID:
+-
+-namespace {
+-class ZoneNameReader : public QObject
+-{
+-public:
+-    QByteArray name()
+-    {
+-        /* Assumptions:
+-           a) Systems don't change which of localtime and TZ they use without a
+-              reboot.
+-           b) When they change, they use atomic renames, hence a new device and
+-              inode for the new file.
+-           c) If we change which *name* is used for a zone, while referencing
+-              the same final zoneinfo file, we don't care about the change of
+-              name (e.g. if Europe/Oslo and Europe/Berlin are both symlinks to
+-              the same CET file, continuing to use the old name, after
+-              /etc/localtime changes which of the two it points to, is
+-              harmless).
+-
+-           The alternative would be to use a file-system watcher, but they are a
+-           scarce resource.
+-         */
+-        const StatIdent local = identify("/etc/localtime");
+-        const StatIdent tz = identify("/etc/TZ");
+-        if (!m_name.isEmpty() && m_last.isValid() && (m_last == local || m_last == tz))
+-            return m_name;
+-
+-        m_name = etcLocalTime();
+-        if (!m_name.isEmpty()) {
+-            m_last = local;
+-            return m_name;
+-        }
+-
+-        m_name = etcTZ();
+-        m_last = m_name.isEmpty() ? StatIdent() : tz;
+-        return m_name;
+-    }
+-
+-
+-private:
+-    QByteArray m_name;
+-    struct StatIdent
+-    {
+-        static constexpr unsigned long bad = ~0ul;
+-        unsigned long m_dev, m_ino;
+-        StatIdent() : m_dev(bad), m_ino(bad) {}
+-        StatIdent(const QT_STATBUF &data) : m_dev(data.st_dev), m_ino(data.st_ino) {}
+-        bool isValid() { return m_dev != bad || m_ino != bad; }
+-        bool operator==(const StatIdent &other)
+-        { return other.m_dev == m_dev && other.m_ino == m_ino; }
+-    };
+-    StatIdent m_last;
+-
+-    static StatIdent identify(const char *path)
+-    {
+-        QT_STATBUF data;
+-        return QT_STAT(path, &data) == -1 ? StatIdent() : StatIdent(data);
+-    }
+-
+-    static QByteArray etcLocalTime()
+-    {
+-        // On most distros /etc/localtime is a symlink to a real file so extract
+-        // name from the path
+-        const QLatin1String zoneinfo("/zoneinfo/");
+-        QString path = QStringLiteral("/etc/localtime");
+-        long iteration = getSymloopMax();
+-        // Symlink may point to another symlink etc. before being under zoneinfo/
+-        // We stop on the first path under /zoneinfo/, even if it is itself a
+-        // symlink, like America/Montreal pointing to America/Toronto
+-        do {
+-            path = QFile::symLinkTarget(path);
+-            int index = path.indexOf(zoneinfo);
+-            if (index >= 0) // Found zoneinfo file; extract zone name from path:
+-                return path.midRef(index + zoneinfo.size()).toUtf8();
+-        } while (!path.isEmpty() && --iteration > 0);
+-
+-        return QByteArray();
+-    }
+-
+-    static QByteArray etcTZ()
+-    {
+-        // Some systems (e.g. uClibc) have a default value for $TZ in /etc/TZ:
+-        const QString path = QStringLiteral("/etc/TZ");
+-        QFile zone(path);
+-        if (zone.open(QIODevice::ReadOnly))
+-            return zone.readAll().trimmed();
+-
+-        return QByteArray();
+-    }
+-
+-    // Any chain of symlinks longer than this is assumed to be a loop:
+-    static long getSymloopMax()
+-    {
+-#ifdef SYMLOOP_MAX
+-        // If defined, at runtime it can only be greater than this, so this is a safe bet:
+-        return SYMLOOP_MAX;
++#if defined(SYMLOOP_MAX)
++    return SYMLOOP_MAX; // if defined, at runtime it can only be greater than this, so this is a safe bet
+ #else
+-        errno = 0;
+-        long result = sysconf(_SC_SYMLOOP_MAX);
+-        if (result >= 0)
+-            return result;
+-        // result is -1, meaning either error or no limit
+-        Q_ASSERT(!errno); // ... but it can't be an error, POSIX mandates _SC_SYMLOOP_MAX
+-
+-        // therefore we can make up our own limit
+-#  ifdef MAXSYMLINKS
+-        return MAXSYMLINKS;
++    errno = 0;
++    long result = sysconf(_SC_SYMLOOP_MAX);
++    if (result >= 0)
++        return result;
++    // result is -1, meaning either error or no limit
++    Q_ASSERT(!errno); // ... but it can't be an error, POSIX mandates _SC_SYMLOOP_MAX
++
++    // therefore we can make up our own limit
++#  if defined(MAXSYMLINKS)
++    return MAXSYMLINKS;
+ #  else
+-        return 8;
++    return 8;
+ #  endif
+ #endif
+-    }
+-};
+ }
+ 
++// TODO Could cache the value and monitor the required files for any changes
+ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const
+ {
+     // Check TZ env var first, if not populated try find it
+@@ -1262,12 +1142,55 @@ QByteArray QTzTimeZonePrivate::systemTimeZoneId() const
+     else if (ianaId.startsWith(':'))
+         ianaId = ianaId.mid(1);
+ 
++    // On most distros /etc/localtime is a symlink to a real file so extract name from the path
++    if (ianaId.isEmpty()) {
++        const QLatin1String zoneinfo("/zoneinfo/");
++        QString path = QFile::symLinkTarget(QStringLiteral("/etc/localtime"));
++        int index = -1;
++        long iteration = getSymloopMax();
++        // Symlink may point to another symlink etc. before being under zoneinfo/
++        // We stop on the first path under /zoneinfo/, even if it is itself a
++        // symlink, like America/Montreal pointing to America/Toronto
++        while (iteration-- > 0 && !path.isEmpty() && (index = path.indexOf(zoneinfo)) < 0)
++            path = QFile::symLinkTarget(path);
++        if (index >= 0) {
++            // /etc/localtime is a symlink to the current TZ file, so extract from path
++            ianaId = path.midRef(index + zoneinfo.size()).toUtf8();
++        }
++    }
++
++    // Some systems (e.g. uClibc) have a default value for $TZ in /etc/TZ:
+     if (ianaId.isEmpty()) {
+-        thread_local static ZoneNameReader reader;
+-        ianaId = reader.name();
++        QFile zone(QStringLiteral("/etc/TZ"));
++        if (zone.open(QIODevice::ReadOnly))
++            ianaId = zone.readAll().trimmed();
+     }
+ 
+     return ianaId;
+ }
+ 
++bool QTzTimeZonePrivate::isTimeZoneIdAvailable(const QByteArray &ianaId) const
++{
++    return tzZones->contains(ianaId);
++}
++
++QList<QByteArray> QTzTimeZonePrivate::availableTimeZoneIds() const
++{
++    QList<QByteArray> result = tzZones->keys();
++    std::sort(result.begin(), result.end());
++    return result;
++}
++
++QList<QByteArray> QTzTimeZonePrivate::availableTimeZoneIds(QLocale::Country country) const
++{
++    // TODO AnyCountry
++    QList<QByteArray> result;
++    for (auto it = tzZones->cbegin(), end = tzZones->cend(); it != end; ++it) {
++        if (it.value().country == country)
++            result << it.key();
++    }
++    std::sort(result.begin(), result.end());
++    return result;
++}
++
+ QT_END_NAMESPACE

It makes the symbol-check.py pass successfully.

@hebasto
Copy link
Member

hebasto commented Nov 14, 2021

FWIW, I was able to make all Guix builds with the suggested patch.

🐅

@jarolrod
Copy link
Member

@hebasto I wanted to note that your patch for glibc compatibility looks quite intimidating, but it's just reverting a commit.

While here, couldn't we just drop compatibility for glibc 2.17 so we don't have a need for a patch?
Glib2.7 is ancient, the symbols introduced here would be available in glibc 2.8. Sounds reasonable to me to drop support.

This is probably contentious, so better left for a follow-up?

@fanquake
Copy link
Member Author

FWIW, I was able to make all Guix builds with the suggested patch.

Thanks, but I don't think we'll be taking that patch.

This is probably contentious, so better left for a follow-up?

You can't leave this to a follow up unless you want Guix builds to be broken in the interim.

I said in the PR description that I would be opening a separate PR to deal with the symbol issues, and that is still what I am planning on doing.

fanquake added a commit that referenced this pull request Nov 17, 2021
5b93e65 build: remove D__STDC_FORMAT_MACROS from CPPFLAGS (fanquake)
dbfca4a build: require glibc 2.18+ for release builds (fanquake)

Pull request description:

  This increases our runtime glibc requirement from 2.17 to 2.18. From what I can see the only platform this drops release support for is CentOS 7, which reached the end of it's "full update" support at the [end of 2020](https://wiki.centos.org/About/Product). It does receive maintenance updates until 2024, however I don't think supporting glibc 2.17 until 2024 is realistic.

  It was mentioned in #22405 that our 2.17 requirement could be a bit excessive, and I tend to agree, however without a good reason to require an even newer version, I think a move from 2.17 -> 2.18 is sufficient for now. That means we get a glibc with "proper" support for `thread_local` (see below), as well as avoid having to patch dependencies to retain glibc compatibility (see #23489).

  Note that anyone wanting to self-compile and target a glibc 2.17 runtime could currently build with `--disable-threadlocal`. However we wouldn't make any guarantees on how long that workaround might exist for.

  glibc 2.18 was released in August 2013: https://sourceware.org/legacy-ml/libc-alpha/2013-08/msg00160.html.
  > Add support for calling C++11 thread_local object destructors on thread
    and program exit.  This needs compiler support for offloading C++11
    destructor calls to glibc.

  The last time we increased our runtime glibc requirement for release builds was in #17538 (0.20 release), where we moved from a 2.11 requirement to 2.17.

  Guix builds:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  d21c7429dbaca3a5260ec424036e19e287c553adb2229894e59eb9b60bc2eba5  guix-build-5b93e65f6abf/output/aarch64-linux-gnu/SHA256SUMS.part
  5d8e7d8b5016b694cb23bcee202819a7db63ea033e5a21c99895981f7b508184  guix-build-5b93e65f6abf/output/aarch64-linux-gnu/bitcoin-5b93e65f6abf-aarch64-linux-gnu-debug.tar.gz
  db4e7b6af7d4dfa246e604f5548fd31e1ad51b810b24789f42362cd7be41cad3  guix-build-5b93e65f6abf/output/aarch64-linux-gnu/bitcoin-5b93e65f6abf-aarch64-linux-gnu.tar.gz
  db97badc0ad969bcb13620fc7f087d78622f3217ee792fc28406cc083a25bcbe  guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/SHA256SUMS.part
  58a6910362ffacd1c7df27033c25cb25f24a317f3ca909f39bb20ac552b021db  guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/bitcoin-5b93e65f6abf-arm-linux-gnueabihf-debug.tar.gz
  9d99fd89de4798116bfe83ff1e17e10c019b3e30d2d39fd70a5bef7c937bf6d5  guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/bitcoin-5b93e65f6abf-arm-linux-gnueabihf.tar.gz
  254e9149d00b0e50af1c80697326ac69ab823b4e845c19f059cc229f724fbb07  guix-build-5b93e65f6abf/output/dist-archive/bitcoin-5b93e65f6abf.tar.gz
  cc39947931b65960f1d32c3d53d623108a78af4bf2b3ac34b65a4c30de5feb08  guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/SHA256SUMS.part
  8763efeaaeea17bc526bccb050bd9da1ad2f22c7d8ec912ec0db68f4de7d4b88  guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/bitcoin-5b93e65f6abf-powerpc64-linux-gnu-debug.tar.gz
  de8984c519c6afc7d43e28c11f7a38b0c5c2eec676bf566448cfd0e4f6accac8  guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/bitcoin-5b93e65f6abf-powerpc64-linux-gnu.tar.gz
  ba73422ca3da7670435018b515bb2f8917dd23d47adb7989643b324bb47bcbf4  guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/SHA256SUMS.part
  65a66250139f2379e8ff79abab0448c2a395b77bbb9f18f9ba51d2c83c598ce4  guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/bitcoin-5b93e65f6abf-powerpc64le-linux-gnu-debug.tar.gz
  40e8de24f4e18af0473886cdedbc7aed2797264f8f4ed871547dd7d6e678efac  guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/bitcoin-5b93e65f6abf-powerpc64le-linux-gnu.tar.gz
  a42d20fd81325171f19b11f2cdf76da1d129146dfbda744125f579bb6f11a632  guix-build-5b93e65f6abf/output/riscv64-linux-gnu/SHA256SUMS.part
  581379b13295665ea709f8bda7ff606a4a1d4d536f6578a22ea2c64aeea62d62  guix-build-5b93e65f6abf/output/riscv64-linux-gnu/bitcoin-5b93e65f6abf-riscv64-linux-gnu-debug.tar.gz
  6dc6c6ac6116fda4596c6f577b6ecef65c552467222072e629562892a0363431  guix-build-5b93e65f6abf/output/riscv64-linux-gnu/bitcoin-5b93e65f6abf-riscv64-linux-gnu.tar.gz
  ef4ee73071bd1a4d610281781eb2409dd8fe5c976ba347914e97b5cb49292db4  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/SHA256SUMS.part
  c4ea3b83c7debaf2d5a5cced6408445c2cb22177b0b368df74a72612a9105600  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx-unsigned.dmg
  e9c53a43f7f1c105f5aa8d0f8163a773a5b4a16c420ffdb2e3d0a5aab89a275f  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx-unsigned.tar.gz
  f6e67def9519895ce2bf0893dbc4279e77e61d242b64ffd7423f46439baa9642  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx64.tar.gz
  2dac0468cda5ddd5e2aaf632228bbbde1fe98f6119c1cc0e91ab36bb7924b587  guix-build-5b93e65f6abf/output/x86_64-linux-gnu/SHA256SUMS.part
  5fbb6cd4a951dc8f7d9d3ec80b8dcbce4d6cd74a4a8c532ac30a2646ca4337a5  guix-build-5b93e65f6abf/output/x86_64-linux-gnu/bitcoin-5b93e65f6abf-x86_64-linux-gnu-debug.tar.gz
  2942ef6a2e67508a87566ebbea0bbbe922962fbc90df9a73d4a328953171c633  guix-build-5b93e65f6abf/output/x86_64-linux-gnu/bitcoin-5b93e65f6abf-x86_64-linux-gnu.tar.gz
  0d4c30d286d040126b8418a7c7e16d94cf8fe4397f4b71250a8502bf0aa65637  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/SHA256SUMS.part
  53b7f7b4243f5b9f02f91407569392ea672bb585227696cc0b63b5bc10866d8d  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win-unsigned.tar.gz
  7e7c252dcfe406f47caa9593b4009d969447859f4a665a02ef4718edaf170311  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64-debug.zip
  9cbc0780d42d6b4779ad989670757323a37151c03b4797e520a74b642b53e3dd  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64-setup-unsigned.exe
  a302b35629ac3bb21ae86905dfe521cdccd98a7e35868e12a081152adcf89bf5  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64.zip
  ```

ACKs for top commit:
  laanwj:
    ACK ACK ACK ACK ACK 5b93e65
  hebasto:
    re-ACK 5b93e65, only suggested changes since my [previous](#23511 (review)) review.

Tree-SHA512: e9c57b11881204ee7c4e3d474d64722bc1bd4409cf8511f2914360205158946a327aa7234bbcbae40c43c0373954d0571c28583d90c280dca53614372891ddde
@fanquake fanquake marked this pull request as ready for review November 17, 2021 00:09
@hebasto
Copy link
Member

hebasto commented Nov 17, 2021

To following patch to a patch seems required:

--- a/depends/patches/qt/fix_limits_header.patch
+++ b/depends/patches/qt/fix_limits_header.patch
@@ -19,6 +19,17 @@ Upstream commits:
  #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 @@

@hebasto
Copy link
Member

hebasto commented Nov 17, 2021

nit regarding the xcb_proto package

The following line

find -name "*.pyo" -delete
is a noop, actually.

Also, after postprocessing, i.e. find -name "*.pyc" -delete, the lib/python3.8/site-packages/xcbgen/__pycache__ becomes empty. Therefore, we can just rm -rf lib/python3.8/site-packages/xcbgen/__pycache__.

@hebasto
Copy link
Member

hebasto commented Nov 17, 2021

Sorry, but I see no reasons to update the expat and freetype packages in this PR.

Isn't it more reasonable to move these commits into #23495?

All in all, Qt 5.15 expects freetype 2.3.0+, and our current version is 2.7.1.

@hebasto
Copy link
Member

hebasto commented Nov 17, 2021

nit: The qt package configure script for Linux hosts prints:

Note: Overriding option 'freetype' with 'system' (was: 'no')

Suggesting to silent this notification:

--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -36,7 +36,6 @@ $(package)_config_opts += -no-cups
 $(package)_config_opts += -no-egl
 $(package)_config_opts += -no-eglfs
 $(package)_config_opts += -no-evdev
-$(package)_config_opts += -no-freetype
 $(package)_config_opts += -no-gif
 $(package)_config_opts += -no-glib
 $(package)_config_opts += -no-icu
@@ -119,6 +118,7 @@ $(package)_config_opts_darwin = -no-dbus
 $(package)_config_opts_darwin += -no-opengl
 $(package)_config_opts_darwin += -pch
 $(package)_config_opts_darwin += -no-feature-corewlan
+$(package)_config_opts_darwin += -no-freetype
 $(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
 
 ifneq ($(build_os),darwin)
@@ -158,6 +158,7 @@ $(package)_config_opts_mingw32 += "QMAKE_CXXFLAGS = '$($(package)_cflags) $($(pa
 $(package)_config_opts_mingw32 += "QMAKE_LFLAGS = '$($(package)_ldflags)'"
 $(package)_config_opts_mingw32 += -device-option CROSS_COMPILE="$(host)-"
 $(package)_config_opts_mingw32 += -pch
+$(package)_config_opts_mingw32 += -no-freetype
 
 $(package)_config_opts_android = -xplatform android-clang
 $(package)_config_opts_android += -android-sdk $(ANDROID_SDK)

@fanquake fanquake deleted the qt_5_15_2_rebased branch December 3, 2021 13:00
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 3, 2021
fanquake added a commit that referenced this pull request Dec 7, 2021
78a6bc6 build, qt: Use Android NDK r23 LTS (Hennadii Stepanov)

Pull request description:

  This is a continuation of #23478, and, thanks to #23489, a oneline patch is only required to be able build the `qt` package in depends with Android NDK r23 LTS.

ACKs for top commit:
  fanquake:
    ACK 78a6bc6

Tree-SHA512: 09c6e8739ecbcbf5fdd6c2103577be2676eb448941f97c781f476918056c8405d2531d5cef8f240e4d1205c2d49f879edbba74dd5e77799a887b76a5c76ebe5b
fanquake added a commit to bitcoin-core/gui that referenced this pull request Dec 8, 2021
ac9e4bc build: Fix build for Android x86_64 (Hennadii Stepanov)

Pull request description:

  bitcoin/bitcoin#23489 [introduced](bitcoin/bitcoin#23489 (comment)) a regression making build for `HOST=x86_64-linux-android` broken due to the [QTBUG-86785](https://bugreports.qt.io/browse/QTBUG-86785).

  This PR fixes this regression.

ACKs for top commit:
  fanquake:
    ACK ac9e4bc

Tree-SHA512: c841a56d745c4b4a75e1bc4d89752de153aa6328752a8fd7df614363ed046a291a9eb58605d82fcba21f3c8b0f0bf47786ed0a63c29f81f5d4ad9c0b12304100
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 8, 2021
ac9e4bc build: Fix build for Android x86_64 (Hennadii Stepanov)

Pull request description:

  bitcoin#23489 [introduced](bitcoin#23489 (comment)) a regression making build for `HOST=x86_64-linux-android` broken due to the [QTBUG-86785](https://bugreports.qt.io/browse/QTBUG-86785).

  This PR fixes this regression.

ACKs for top commit:
  fanquake:
    ACK ac9e4bc

Tree-SHA512: c841a56d745c4b4a75e1bc4d89752de153aa6328752a8fd7df614363ed046a291a9eb58605d82fcba21f3c8b0f0bf47786ed0a63c29f81f5d4ad9c0b12304100
fanquake added a commit to bitcoin-core/gui that referenced this pull request Dec 13, 2021
ef81c51 build: Use config_opts instead of passing a compiler flag directly (Hennadii Stepanov)
3b8f4e3 build, qt: Drop unused CROSS_COMPILE variable for Android builds (Hennadii Stepanov)
e5a81e6 build, refactor: Re-use `qt_lib_suffix` variable (Hennadii Stepanov)

Pull request description:

  This PR suggests small cleanups as follow ups of bitcoin/bitcoin#23489.

ACKs for top commit:
  fanquake:
    ACK ef81c51

Tree-SHA512: c834c4f76218c7d567223c49bb86404b02facf61bc9be9a66a984ddd2b2f5e6150ba97071c993ea1faf4da10c87e81df292b3628d4407afccbe9df379ac452d7
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Dec 13, 2021
ef81c51 build: Use config_opts instead of passing a compiler flag directly (Hennadii Stepanov)
3b8f4e3 build, qt: Drop unused CROSS_COMPILE variable for Android builds (Hennadii Stepanov)
e5a81e6 build, refactor: Re-use `qt_lib_suffix` variable (Hennadii Stepanov)

Pull request description:

  This PR suggests small cleanups as follow ups of bitcoin#23489.

ACKs for top commit:
  fanquake:
    ACK ef81c51

Tree-SHA512: c834c4f76218c7d567223c49bb86404b02facf61bc9be9a66a984ddd2b2f5e6150ba97071c993ea1faf4da10c87e81df292b3628d4407afccbe9df379ac452d7
RandyMcMillan pushed a commit to RandyMcMillan/mempool-tab that referenced this pull request Dec 23, 2021
fdee76c ci: Bump Qt to 5.15.2 in the native Windows task (Hennadii Stepanov)
5277043 doc: Update `build_msvc/README.md` for Qt 5.15.2 (Hennadii Stepanov)
98b7f5f build, qt: Fix regression in rendering on macOS Big Sur (Hennadii Stepanov)
84d8b06 build: qt 5.15.2 (fanquake)
a2faba3 build: add libxcb_util_wm 0.4.1 (fanquake)
bce9e22 build: add libxcb_util_image 0.4.0 (fanquake)
afc317b build: add libxcb_util_keysyms 0.4.0 (fanquake)
225fbe7 build: add libxcb_util_render 0.3.9 (fanquake)
2093eab build: add libxcb_util 0.4.0 (fanquake)
2211a1a build: libxcb 1.14 (fanquake)
9c8d7df build: freetype 2.11.0 (fanquake)
102be68 build: expat 2.4.1 (fanquake)
06257ac build: xcb_proto 1.14.1 (fanquake)
4221ec7 build: libXau 1.0.9 (fanquake)
5b6a062 build: xproto 7.0.31 (fanquake)

Pull request description:

  Hebasto asked for this branch to be resurrected, so here it is.

  Guix Builds:
  ```bash
  9bbbec69cc56255fbe0dd6f63d26b6d76ebc071275cd603a2388baf028a2e5fe  guix-build-fdee76c113a6/output/aarch64-linux-gnu/SHA256SUMS.part
  57aee87dedbf3c41e52e7bb18cb52e96a656696699ce0663a35cf6c030ca048a  guix-build-fdee76c113a6/output/aarch64-linux-gnu/bitcoin-fdee76c113a6-aarch64-linux-gnu-debug.tar.gz
  8d2842ff0995bf53f4ed6f67e3db3d33f4cd1d117b15122d750875a3681dba21  guix-build-fdee76c113a6/output/aarch64-linux-gnu/bitcoin-fdee76c113a6-aarch64-linux-gnu.tar.gz
  67b342e95d8fa5d897d84e53f5bb5cc8323921d31c51497196b54d2c2d62e915  guix-build-fdee76c113a6/output/arm-linux-gnueabihf/SHA256SUMS.part
  f52e8b2e28236a7fb0dd26989c39ef18472161a892f90e62cea26ae7c2daadaf  guix-build-fdee76c113a6/output/arm-linux-gnueabihf/bitcoin-fdee76c113a6-arm-linux-gnueabihf-debug.tar.gz
  1dce8e6953e52874b98a0f5dafaebf068584984e2c3cd40d3110dd3c5c0d2f8d  guix-build-fdee76c113a6/output/arm-linux-gnueabihf/bitcoin-fdee76c113a6-arm-linux-gnueabihf.tar.gz
  f8328d777b0f1be68408c2df5907c4dd890dd0617b1aa747b3bf140f84c0f61d  guix-build-fdee76c113a6/output/dist-archive/bitcoin-fdee76c113a6.tar.gz
  b3e71decb914c3be9c88586084853ab086d77929707c1a7649991b75c734f3e2  guix-build-fdee76c113a6/output/powerpc64-linux-gnu/SHA256SUMS.part
  30a8ad718f848297ac1dc8f48eadb37b983d5837f807ecfedb6723932cb5e84a  guix-build-fdee76c113a6/output/powerpc64-linux-gnu/bitcoin-fdee76c113a6-powerpc64-linux-gnu-debug.tar.gz
  111444d627aa837e8a7f450dfe304ff20139ca018a293c9a5e8c5aec33ab75a9  guix-build-fdee76c113a6/output/powerpc64-linux-gnu/bitcoin-fdee76c113a6-powerpc64-linux-gnu.tar.gz
  ef815b019722b774995e2a999cdbd79b34b8636f92f62b2f8e6b99b294ad1bc5  guix-build-fdee76c113a6/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5521bf88d0febd79301dbed30205c1bef6257eb03ae5d4a5227bac3b66b0b427  guix-build-fdee76c113a6/output/powerpc64le-linux-gnu/bitcoin-fdee76c113a6-powerpc64le-linux-gnu-debug.tar.gz
  6d2ae36ec34e7b5d3d84d6a50595c39c1d89b2659ed9eba5e7c8b21a9cbb8f04  guix-build-fdee76c113a6/output/powerpc64le-linux-gnu/bitcoin-fdee76c113a6-powerpc64le-linux-gnu.tar.gz
  8aa9cb8a5585d8b27feafa8403fcba803152fb154d7c308f6759670c11107cfa  guix-build-fdee76c113a6/output/riscv64-linux-gnu/SHA256SUMS.part
  7abbf8efdc91399ab0d2dde18b3be19734f956a07ed1cc19f8f5178647f9ac94  guix-build-fdee76c113a6/output/riscv64-linux-gnu/bitcoin-fdee76c113a6-riscv64-linux-gnu-debug.tar.gz
  1dfd20f75feb316882043dd081f0ee4bd2032481e17d40f7ae9f2b430c316754  guix-build-fdee76c113a6/output/riscv64-linux-gnu/bitcoin-fdee76c113a6-riscv64-linux-gnu.tar.gz
  1949530e8e68b68c72f627296995b93e9ec048c2740274a8874fe9565eca4a46  guix-build-fdee76c113a6/output/x86_64-apple-darwin19/SHA256SUMS.part
  ab2e63f9f58834ddc0fc5f83a2a7938ffcf8057392f0c5ce92a8d456e9b8e4af  guix-build-fdee76c113a6/output/x86_64-apple-darwin19/bitcoin-fdee76c113a6-osx-unsigned.dmg
  38958a096117542cde4dcac318d116fdeec3237c95ebf88fff0e76570002109e  guix-build-fdee76c113a6/output/x86_64-apple-darwin19/bitcoin-fdee76c113a6-osx-unsigned.tar.gz
  8841df372ef1ea670dc8d4f82b007420140a39454371be47193e484a4f95fd76  guix-build-fdee76c113a6/output/x86_64-apple-darwin19/bitcoin-fdee76c113a6-osx64.tar.gz
  4e0d6b6a715d987ff025e45782dd6a47cfdac904a26d932c9c84de7eb8b699d4  guix-build-fdee76c113a6/output/x86_64-linux-gnu/SHA256SUMS.part
  3ac4c326313650c0d0a35560c4073f0c3fcbf7002c5b5c918e7186627c8ed392  guix-build-fdee76c113a6/output/x86_64-linux-gnu/bitcoin-fdee76c113a6-x86_64-linux-gnu-debug.tar.gz
  fcd45fe54cb86a7e9240a6bbe2170926e6db32ee55b821af332348d4c4e1d3a4  guix-build-fdee76c113a6/output/x86_64-linux-gnu/bitcoin-fdee76c113a6-x86_64-linux-gnu.tar.gz
  72deb4fc1c5b70ae329ab04862e822911708f3c4a4d8a0bbb5796d9a64985414  guix-build-fdee76c113a6/output/x86_64-w64-mingw32/SHA256SUMS.part
  78ae8f495bfb02198b00b7fc72b67fb0595f81dd9e3aef45e5103efea90451d9  guix-build-fdee76c113a6/output/x86_64-w64-mingw32/bitcoin-fdee76c113a6-win-unsigned.tar.gz
  962fcf4ce63e5a89fb1e74e19dbc1aeffc4d5b753ab8e19fcf2249ce21766c5b  guix-build-fdee76c113a6/output/x86_64-w64-mingw32/bitcoin-fdee76c113a6-win64-debug.zip
  3929916755d599b133304acd94462afad1ba73d5516f6f9786aff565c6ac8818  guix-build-fdee76c113a6/output/x86_64-w64-mingw32/bitcoin-fdee76c113a6-win64-setup-unsigned.exe
  66e2030476de85437e1593b7d2f4efd4a8837de8b2479217f9246d8028256e08  guix-build-fdee76c113a6/output/x86_64-w64-mingw32/bitcoin-fdee76c113a6-win64.zip
  ```

ACKs for top commit:
  hebasto:
    re-ACK fdee76c

Tree-SHA512: 33e7a3e022dfc3a7e93f4bc2acf887c7c2afacc182352f4dfb5917342d5923e0a8d17eaf10928e68b666db6ab748cc02d3d3dfb41e4aad7d296a403b79b3e63d
RandyMcMillan pushed a commit to RandyMcMillan/mempool-tab that referenced this pull request Dec 23, 2021
8f2bbb0 build, qt: Use Android NDK r23 LTS (Hennadii Stepanov)

Pull request description:

  This is a continuation of bitcoin/bitcoin#23478, and, thanks to bitcoin/bitcoin#23489, a oneline patch is only required to be able build the `qt` package in depends with Android NDK r23 LTS.

ACKs for top commit:
  fanquake:
    ACK 8f2bbb0

Tree-SHA512: 09c6e8739ecbcbf5fdd6c2103577be2676eb448941f97c781f476918056c8405d2531d5cef8f240e4d1205c2d49f879edbba74dd5e77799a887b76a5c76ebe5b
RandyMcMillan pushed a commit to RandyMcMillan/mempool-tab that referenced this pull request Dec 23, 2021
8d6d708 build: Fix build for Android x86_64 (Hennadii Stepanov)

Pull request description:

  bitcoin/bitcoin#23489 [introduced](bitcoin/bitcoin#23489 (comment)) a regression making build for `HOST=x86_64-linux-android` broken due to the [QTBUG-86785](https://bugreports.qt.io/browse/QTBUG-86785).

  This PR fixes this regression.

ACKs for top commit:
  fanquake:
    ACK 8d6d708

Tree-SHA512: c841a56d745c4b4a75e1bc4d89752de153aa6328752a8fd7df614363ed046a291a9eb58605d82fcba21f3c8b0f0bf47786ed0a63c29f81f5d4ad9c0b12304100
hebasto added a commit to hebasto/bitcoin that referenced this pull request Jan 23, 2022
fanquake added a commit to bitcoin-core/gui that referenced this pull request Jan 25, 2022
d67fc78 doc: Update the used Qt version (Hennadii Stepanov)

Pull request description:

  Missed in bitcoin/bitcoin#23489.

ACKs for top commit:
  w0xlt:
    ACK d67fc78
  shaavan:
    ACK d67fc78
  prusnak:
    ACK d67fc78
  promag:
    ACK d67fc78.

Tree-SHA512: f15d83dca1c7dcdb9bd862358cd0e9a2740d88b8eaa0de8223210c9ce89e7526c6f98908bf26d512ff9271d6d59fda1d0c7ac97fcd7ef4b8b0c06d24b9d62f33
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Jan 28, 2022
d67fc78 doc: Update the used Qt version (Hennadii Stepanov)

Pull request description:

  Missed in bitcoin#23489.

ACKs for top commit:
  w0xlt:
    ACK d67fc78
  shaavan:
    ACK d67fc78
  prusnak:
    ACK d67fc78
  promag:
    ACK d67fc78.

Tree-SHA512: f15d83dca1c7dcdb9bd862358cd0e9a2740d88b8eaa0de8223210c9ce89e7526c6f98908bf26d512ff9271d6d59fda1d0c7ac97fcd7ef4b8b0c06d24b9d62f33
rebroad pushed a commit to rebroad/bitcoin that referenced this pull request Feb 3, 2022
fanquake added a commit to fanquake/bitcoin that referenced this pull request Feb 5, 2022
Github-Pull: bitcoin#23489
Rebased-From: fc65127
hebasto pushed a commit to hebasto/bitcoin that referenced this pull request Feb 6, 2022
Github-Pull: bitcoin#23489
Rebased-From: fc65127
hebasto pushed a commit to hebasto/bitcoin that referenced this pull request Feb 6, 2022
Github-Pull: bitcoin#23489
Rebased-From: fc65127
fanquake added a commit to fanquake/bitcoin that referenced this pull request Feb 9, 2022
Github-Pull: bitcoin#23489
Rebased-From: fc65127
This was referenced Mar 26, 2022
janus pushed a commit to BitgesellOfficial/bitgesell that referenced this pull request Jul 17, 2022
@bitcoin bitcoin locked and limited conversation to collaborators Dec 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants