depends: Upgrade Qt to 5.9.6 #12971

pull TheCharlatan wants to merge 3 commits into bitcoin:master from TheCharlatan:Qt59 changing 10 files +188 −312
  1. TheCharlatan commented at 12:07 AM on April 13, 2018: member

    With the introduction of Ubuntu 18.04 (Bionic Beaver) modern versions of gcc and mingw that allow cross compilation of versions of Qt greater than 5.8 are now readily available. This pull requests upgrades the Qt depends recipe from Qt 5.7.1 to Qt 5.9.6. Qt 5.9.x is the current LTS version and should be supported by Qt until 2020.

  2. fanquake added the label Build system on Apr 13, 2018
  3. MarcoFalke commented at 12:56 AM on April 13, 2018: member

    According to https://doc.qt.io/qt-5.10/supported-platforms-and-configurations.html#qt-5-9 gcc4.8 is supported. Also, I could build your receipt on ubuntu trusty, which comes with gcc4.8. I think you can get rid of the optional flag to compile qt5.9?

    Edit: I didn't try windows or mac cross builds, so those might be causing issues ... ?

  4. fanquake commented at 1:23 AM on April 13, 2018: member

    The plan is to just move depends to Qt 5.9+ quite soon, I have been delayed doing that work. I don't think we want to want to have support for 5.7 and 5.9 in depends at the same time. Would you be interested in turning this work into a Qt 5.7 -> 5.9 upgrade?

  5. fanquake requested review from theuni on Apr 13, 2018
  6. TheCharlatan commented at 7:37 AM on April 13, 2018: member

    @MarcoFalke The compiler version for linux native compilation is not a problem. It is though as soon as you are trying to cross compile to windows (which requires Mingw5.3). I originally did not want to open the pr for this reason, since it would mean that the current travis tests would be broken because of the windows build requirement. I heard though that @theuni is working on getting the entire toolchain on depends, so I decided to publish the patch nevertheless to prevent duplicate work and enable other developers to already compile bitcoin static with a modern Qt version.

    The macos build needs some further investigation. It fails upon creating qmake and the current qmake patch does not seem to work. Upon some investigation, I saw that multiple people had to do some manual property setting on xcode to make the build work. I am not sure if this is related though.

  7. MarcoFalke commented at 1:35 PM on April 13, 2018: member

    cross compile to windows (which requires Mingw5.3)

    Hmm. Imo we could drop support for cross-compile to windows on trusty and just require xenial or above.

  8. MarcoFalke commented at 3:51 PM on April 15, 2018: member

    Could do a rebase since #12946 is merged?

  9. TheCharlatan force-pushed on Apr 15, 2018
  10. TheCharlatan commented at 4:40 PM on April 15, 2018: member

    Rebased.

  11. fanquake commented at 2:10 AM on April 16, 2018: member

    @TheCharlatan Thanks for the work so far, however did you see my comment above? I think this would be better as a straight 5.7 -> 5.9 upgrade, instead of adding an additional version of Qt to depends. We would like to use Qt 5.9+ to build the next release anyways.

    Regardless of the that this needs a few fixes.

    There are currently whitespace linting errors.

    A linux Travis build is currently failing: linux-raw-log.txt

    configure: error: Package requirements (Qt5PlatformSupport) were not met:
    No package 'Qt5PlatformSupport' found
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.
    Alternatively, you may set the environment variables QTPLATFORM_CFLAGS
    and QTPLATFORM_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    It was created by Bitcoin Core configure 0.16.99, which was
    generated by GNU Autoconf 2.69.  Invocation command line was
      $ ../configure --cache-file=config.cache --disable-dependency-tracking --prefix=/home/travis/build/bitcoin/bitcoin/depends/x86_64-unknown-linux-gnu --bindir=/home/travis/build/bitcoin/bitcoin/out/12971/27461.7-x86_64-unknown-linux-gnu/bin --libdir=/home/travis/build/bitcoin/bitcoin/out/12971/27461.7-x86_64-unknown-linux-gnu/lib --enable-glibc-back-compat --enable-reduce-exports
    

    The macOS build would also need to be fixed/updated: macOS-raw-log.txt

    Configuring qt59...
    Creating qmake...
    make[1]: Entering directory `/home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-apple-darwin11/qt59/5.9.4-01715d30425/qtbase/qmake'
    make[1]: Leaving directory `/home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-apple-darwin11/qt59/5.9.4-01715d30425/qtbase/qmake'
    Info: creating cache file /home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-apple-darwin11/qt59/5.9.4-01715d30425/qtbase/.qmake.cache
    Command line: -bindir /home/travis/build/bitcoin/bitcoin/depends/x86_64-apple-darwin11/native/bin -c++std c++11 -confirm-license -dbus-runtime -hostprefix /home/travis/build/bitcoin/bitcoin/depends/x86_64-apple-darwin11/native -no-cups -no-egl -no-eglfs -no-freetype -no-gif -no-glib -no-icu -no-iconv -no-kms -no-linuxfb -no-libudev -no-mtdev -no-openvg -no-reduce-relocations -no-qml-debug -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-use-gold-linker -nomake examples -nomake tests -opensource -openssl-linked -optimized-qmake -pch -pkg-config -prefix /home/travis/build/bitcoin/bitcoin/depends/x86_64-apple-darwin11 -qt-libpng -qt-libjpeg -qt-pcre -system-zlib -static -silent -v -release -xplatform macx-clang-linux -device-option MAC_SDK_PATH=/home/travis/build/bitcoin/bitcoin/depends/SDKs/MacOSX10.11.sdk -device-option MAC_SDK_VERSION=10.11 -device-option CROSS_COMPILE=x86_64-apple-darwin11- -device-option MAC_MIN_VERSION=10.8 -device-option MAC_TARGET=x86_64-apple-darwin11 -device-option MAC_LD64_VERSION=253.9
    Project ERROR: Could not resolve SDK --show-sdk-path for 'macosx'
    make: *** [/home/travis/build/bitcoin/bitcoin/depends/work/build/x86_64-apple-darwin11/qt59/5.9.4-01715d30425/qtbase/.stamp_configured] Error 3
    make: Leaving directory `/home/travis/build/bitcoin/bitcoin/depends'
    
  12. in depends/packages/packages.mk:9 in f870067fbf outdated
       2 | @@ -3,11 +3,19 @@ packages:=boost openssl libevent zeromq
       3 |  qt_native_packages = native_protobuf
       4 |  qt_packages = qrencode protobuf zlib
       5 |  
       6 | -qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
       7 | +ifeq ($(QT_59),1)
       8 | +qt_x86_64_linux_packages:=qt59 expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
       9 |  qt_i686_linux_packages:=$(qt_x86_64_linux_packages)
      10 |  
      11 | -qt_darwin_packages=qt
    


    fanquake commented at 2:13 AM on April 16, 2018:

    This looks like it's building QT 5.9 in either case?

  13. TheCharlatan commented at 6:55 AM on April 16, 2018: member

    @fanquake thanks for the review. If I were to change this to a straight upgrade, how would travis, or gitian windows builds be done?

  14. MarcoFalke commented at 12:39 PM on April 16, 2018: member

    Our gitian descriptors will be switched to bionic soon: #12511. Similarly, we can switch travis to xenial. Those will happen in separate pull request, so don't worry about them.

  15. laanwj commented at 1:19 PM on May 14, 2018: member

    Travis fails on linux 64 bit with:

    checking for QTPLATFORM... no
    configure: error: Package requirements (Qt5PlatformSupport) were not met:
    No package 'Qt5PlatformSupport' found
    

    And OSX:

    Project ERROR: Could not resolve SDK --show-sdk-path for 'macosx'
    
  16. MarcoFalke commented at 1:25 PM on May 14, 2018: member

    See also #13215

  17. TheCharlatan force-pushed on May 16, 2018
  18. TheCharlatan commented at 12:20 AM on May 16, 2018: member

    Removed the optional flags, Qt5.9.4 is now the new default. The build still fails on MacOS.

  19. TheCharlatan force-pushed on May 16, 2018
  20. fanquake commented at 12:58 AM on May 16, 2018: member

    @TheCharlatan Can you fixup any trailing whitespace so that Travis will run: https://travis-ci.org/bitcoin/bitcoin/jobs/379496754

  21. TheCharlatan force-pushed on May 16, 2018
  22. in depends/README.md:17 in cc557dc855 outdated
      11 | @@ -12,6 +12,10 @@ For example:
      12 |  
      13 |      make HOST=x86_64-w64-mingw32 -j4
      14 |  
      15 | +To build the more recent Qt5.9.4, you can build depends with
      16 | +
      17 | +  make HOST=host-platform-triple QT_59=1
    


    MarcoFalke commented at 2:20 AM on May 16, 2018:

    Can remove this hunk and all other references to qt 5.9?

  23. in depends/packages/qt.mk:67 in cc557dc855 outdated
      63 | @@ -75,12 +64,10 @@ $(package)_config_opts += -qt-libpng
      64 |  $(package)_config_opts += -qt-libjpeg
      65 |  $(package)_config_opts += -qt-pcre
      66 |  $(package)_config_opts += -system-zlib
      67 | -$(package)_config_opts += -reduce-exports
      68 | +#$(package)_config_opts += -reduce-exports
    


    MarcoFalke commented at 12:54 PM on May 17, 2018:

    nit: Either remove or replace with proper comment/reasoning.

  24. in doc/build-windows.md:133 in cc557dc855 outdated
     128 | +    make HOST=x86_64-w64-mingw32 QT_59=1
     129 | +    cd ..
     130 | +    ./autogen.sh # not required when building from tarball
     131 | +    CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/ --enable-qt59
     132 | +    make
     133 | +
    


    MarcoFalke commented at 12:55 PM on May 17, 2018:

    This whole section is added in #13246, so feel free to remove this to avoid merge conflicts.

  25. ken2812221 commented at 3:37 PM on May 17, 2018: contributor

    This should fix the problem. Patch from QTBUG-67286 [removed]

  26. TheCharlatan force-pushed on May 17, 2018
  27. ken2812221 commented at 9:34 AM on May 18, 2018: contributor

    This additional patch should fix all Mac and Windows build: [removed]

  28. TheCharlatan force-pushed on May 18, 2018
  29. ken2812221 commented at 10:51 AM on May 18, 2018: contributor

    You committed the wrong patch, it's not fix-cocoahelpers-macos.patch but fix_no_printer.patch

  30. TheCharlatan force-pushed on May 18, 2018
  31. TheCharlatan force-pushed on May 18, 2018
  32. ken2812221 commented at 1:40 PM on May 18, 2018: contributor

    Sorry, I did not test this before on Linux. Please apply this patch to allow static link Qt on Linux. [removed]

  33. jonasschnelli commented at 1:44 PM on May 18, 2018: contributor

    Seems not yet to build on gitian:

    ../../corelib/tools/qbytearray.cpp:57:19: fatal error: zconf.h: No such file or directory #include <zconf.h>

    https://bitcoin.jonasschnelli.ch/build/616 (see build logs)

  34. TheCharlatan force-pushed on May 18, 2018
  35. ken2812221 commented at 2:18 AM on May 19, 2018: contributor

    This should fix the gitian build issue

    diff --git a/depends/packages/qt.mk b/depends/packages/qt.mkindex 884a02c2b..e15a13bb0 100644
    --- a/depends/packages/qt.mk
    +++ b/depends/packages/qt.mk
    @@ -87,6 +87,7 @@ $(package)_config_opts_linux += -fontconfig
     $(package)_config_opts_linux += -no-opengl
     $(package)_config_opts_arm_linux  = -platform linux-g++ -xplatform $(host)
     $(package)_config_opts_i686_linux  = -xplatform linux-g++-32
    +$(package)_config_opts_x86_64_linux  = -xplatform linux-g++-64
     $(package)_config_opts_mingw32  = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
     $(package)_build_env  = QT_RCC_TEST=1
     endef
    
  36. in depends/patches/qt/qfixed-coretext.patch:1 in 99d2d3c45c outdated
       0 | @@ -1,34 +0,0 @@
       1 | -From dbdd5f0ffbce52c8b789ed09f1aa3f1da6c02e23 Mon Sep 17 00:00:00 2001
    


    fanquake commented at 2:44 AM on May 19, 2018:

    Are you sure this patch is no longer required? Compiling 99d2d3c I'm seeing:

    compiling qtestcase.cpp
    mac/qfontengine_coretext.mm:833:20: error: qualified reference to 'QFixed' is a constructor name rather than a type in this context
        return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
                       ^
    1 error generated.
    
  37. in depends/packages/qt.mk:140 in 99d2d3c45c outdated
     122 | @@ -137,19 +123,17 @@ define $(package)_preprocess_cmds
     123 |    cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
     124 |    cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
     125 |    cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
     126 | -  patch -p1 < $($(package)_patch_dir)/mingw-uuidof.patch && \
    


    fanquake commented at 2:49 AM on May 19, 2018:

    Can you move all the patching back up here?


    TheCharlatan commented at 3:05 PM on May 19, 2018:

    Yes, moved.

  38. TheCharlatan force-pushed on May 19, 2018
  39. jonasschnelli commented at 8:23 PM on May 19, 2018: contributor

    OSX and Linux are building okay: https://bitcoin.jonasschnelli.ch/build/618 (a45cbc63)

  40. in depends/packages/qt.mk:168 in a45cbc63f4 outdated
     163 |  
     164 |  define $(package)_stage_cmds
     165 | -  $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. &&\
     166 | +  $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. && \
     167 |    $(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \
     168 | +  $(MAKE) -C qttools/src/linguist/lupdate INSTALL_ROOT=$($(package)_staging_dir) install_target && \
    


    TheCharlatan commented at 9:28 PM on May 19, 2018:

    nit-picking here: is it preferable to use && \ or &&\ ?


    fanquake commented at 5:53 AM on May 20, 2018:

    Best to just match the code around the lines you're touching. However please don't change any lines your not actually modifying just to change && \ to &&\ or vice-versa. i.e line 150

  41. ken2812221 commented at 2:25 AM on May 20, 2018: contributor

    With further tests, _ does not translate anything, but tr do translate. It is a bug related to master #13287

  42. in depends/packages/qt.mk:10 in a45cbc63f4 outdated
      12 |  $(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
      13 |  $(package)_build_subdir=qtbase
      14 | -$(package)_qt_libs=corelib network widgets gui plugins testlib
      15 | -$(package)_patches=mac-qmake.conf mingw-uuidof.patch pidlist_absolute.patch fix-xcb-include-order.patch
      16 | -$(package)_patches+=fix_qt_pkgconfig.patch fix-cocoahelpers-macos.patch qfixed-coretext.patch
      17 | +$(package)_qt_libs=corelib network widgets gui plugins testlib concurrent xml
    


    theuni commented at 4:03 PM on May 21, 2018:

    Please add '-no-feature-concurrent' and remove concurrent here.


    theuni commented at 4:21 PM on May 21, 2018:

    Concurrent should not be needed. IIRC xml is needed, but only due to qt buildsystem bugs that I believe we patch around already.

    $(package)_config_opts += -no-feature-concurrent
    $(package)_config_opts += -no-feature-xml
    
  43. in depends/packages/qt.mk:98 in a45cbc63f4 outdated
      82 | @@ -95,11 +83,11 @@ endif
      83 |  $(package)_config_opts_linux  = -qt-xkbcommon
      84 |  $(package)_config_opts_linux += -qt-xcb
      85 |  $(package)_config_opts_linux += -system-freetype
      86 | -$(package)_config_opts_linux += -no-sm
    


    theuni commented at 4:17 PM on May 21, 2018:

    Untested: looks like this is "-no-feature-sessionmanager" now.

  44. in depends/packages/qt.mk:65 in a45cbc63f4 outdated
      51 | @@ -61,8 +52,6 @@ $(package)_config_opts += -no-sql-psql
      52 |  $(package)_config_opts += -no-sql-sqlite
      53 |  $(package)_config_opts += -no-sql-sqlite2
      54 |  $(package)_config_opts += -no-use-gold-linker
      55 | -$(package)_config_opts += -no-xinput2
      56 | -$(package)_config_opts += -no-xrender
    


    theuni commented at 4:22 PM on May 21, 2018:

    I believe we may have to specify some new gfx options, notice that "vnc" is now enabled for Linux.


    TheCharlatan commented at 11:41 PM on May 24, 2018:

    Usually this would be achieved by no-gfx-vnc, but Qt5.8 changed large parts of the configure. -no-xinput2 still works, I'll add it back.

  45. in build-aux/m4/bitcoin_qt.m4:368 in a45cbc63f4 outdated
     380 | @@ -360,14 +381,25 @@ AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[
     381 |       if test "x$use_pkgconfig" = xyes; then
     382 |       : dnl
     383 |       m4_ifdef([PKG_CHECK_MODULES],[
     384 | -       PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"])
     385 | +       if test x$bitcoin_cv_qt58 = xno; then
     386 | +         PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"])
     387 | +       else
     388 | +         PKG_CHECK_MODULES([QTFONTDATABASE], [Qt5FontDatabaseSupport], [QT_LIBS="-lQt5FontDatabaseSupport $QT_LIBS"])
    


    theuni commented at 4:27 PM on May 21, 2018:

    Are these all needed for plugins? And are they all mandatory? We don't want to fail if someone has their qt configured with, for example, -no-feature-accessibility

  46. in build-aux/m4/bitcoin_qt.m4:497 in a45cbc63f4 outdated
     550 | -  BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled])))
     551 | +  if test x$bitcoin_cv_qt58 = xno; then
     552 | +    BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
     553 | +    BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in])))
     554 | +  else
     555 | +    BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtlibpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in])))
    


    theuni commented at 4:31 PM on May 21, 2018:

    are qtlibpng/libqtpcre2 correct? Those imply linking with: -lqtlibpng and -llibqtpcre2


    TheCharlatan commented at 8:30 PM on May 21, 2018:

    The libraries built are libqtlibpng.a and libqtpcre2.a

  47. in depends/packages/qt.mk:138 in a45cbc63f4 outdated
     136 | +  patch -p1 -i $($(package)_patch_dir)/qfixed-coretext.patch &&\
     137 |    echo "!host_build: QMAKE_CFLAGS     += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
     138 |    echo "!host_build: QMAKE_CXXFLAGS   += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
     139 |    echo "!host_build: QMAKE_LFLAGS     += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
     140 | +  echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
     141 | +  echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
    


    theuni commented at 4:32 PM on May 21, 2018:

    Why are these needed?


    TheCharlatan commented at 2:24 PM on May 24, 2018:

    The build fails without them (execvp: .obj/release/pcre2_auto_possess.o: Permission denied ). Found the solution on https://bugreports.qt.io/browse/QTBUG-63659 .

  48. theuni commented at 4:33 PM on May 21, 2018: member

    Left a few initial comments, great work!

  49. TheCharlatan force-pushed on May 30, 2018
  50. fanquake commented at 8:28 AM on May 30, 2018: member

    After discussing with @jonasschnelli irc, need to note that this will likely bump the minimum required macOS version to 10.10. Which probably requires further discussion.

  51. fanquake commented at 2:50 AM on June 1, 2018: member

    Given that 5.9.5 has been released, this PR can also be updated to that, over 5.9.4.

  52. TheCharlatan commented at 10:17 PM on June 2, 2018: member

    Upgraded to 5.9.5

  53. fanquake renamed this:
    Ugrade Qt depends to Qt5.9.4
    depends: Upgrade Qt to 5.9.5
    on Jun 10, 2018
  54. Sjors commented at 1:36 PM on June 18, 2018: member

    Would this also allow cross compiling to ARM? My initial attempt in #13495 failed.

  55. TheCharlatan commented at 12:00 PM on June 21, 2018: member

    @Sjors I tested it with arm-linux-gnueabihf and it has the same problem with qminimal.

  56. DrahtBot commented at 2:21 PM on June 24, 2018: member

    <!--cf906140f33d8803c4a75a2196329ecb-->Needs rebase

  57. DrahtBot added the label Needs rebase on Jun 24, 2018
  58. laanwj added this to the milestone 0.17.0 on Jul 5, 2018
  59. Ugrade Qt depends to Qt5.9.4
    Depends can now be built with Qt5.9.4 , which is Qt's new long term
    support version.
    28482efefb
  60. Fix depends Qt5.9.4 mac build
    Apply patch from QTBUG-67286
    70afa65b17
  61. TheCharlatan force-pushed on Jul 5, 2018
  62. TheCharlatan force-pushed on Jul 5, 2018
  63. TheCharlatan commented at 3:17 PM on July 5, 2018: member

    Rebased.

  64. laanwj commented at 3:24 PM on July 5, 2018: member

    utACK 5e9d4fe6448371ec3e38bad4f404d385f12355c4

  65. theuni commented at 6:28 PM on July 5, 2018: member

    Thanks for the rebase, taking another look.

  66. ken2812221 commented at 8:32 PM on July 5, 2018: contributor

    utACK 5e9d4fe6448371ec3e38bad4f404d385f12355c4

  67. fanquake commented at 10:52 PM on July 5, 2018: member

    Thanks @TheCharlatan:

    Can this be updated to Qt 5.9.6, which contains further bugfixes from 5.9.5.

    Once that's done the qfixed-coretext.patch can be dropped as it should have been fixed in QTBUG-67545.

    Also, can you update the PR description now that this is a straight Qt upgrade, rather than adding an additional version.

  68. TheCharlatan force-pushed on Jul 6, 2018
  69. TheCharlatan renamed this:
    depends: Upgrade Qt to 5.9.5
    depends: Upgrade Qt to 5.9.6
    on Jul 6, 2018
  70. TheCharlatan commented at 12:59 AM on July 6, 2018: member

    Force-pushed to bump the version to Qt 5.9.6, as suggested by @fanquake .

  71. fanquake removed the label Needs rebase on Jul 6, 2018
  72. in build-aux/m4/bitcoin_qt.m4:309 in 77fd4f825a outdated
     316 | +    [bitcoin_cv_qt58=no])
     317 | +])])
     318 | +
     319 | +
     320 | +dnl Internal. Check if the linked version of Qt was built as static libs.
     321 | +dnl Requires: Qt5. This check cannot determine if Qt4 is static.
    


    Sjors commented at 11:00 AM on July 6, 2018:

    Nit: no need to reference Qt4 anymore

  73. in depends/packages/qt.mk:6 in 77fd4f825a outdated
       5 | +$(package)_version=5.9.6
       6 | +$(package)_download_path=http://download.qt.io/official_releases/qt/5.9/$($(package)_version)/submodules
       7 | +$(package)_suffix=opensource-src-$($(package)_version).tar.xz
       8 |  $(package)_file_name=qtbase-$($(package)_suffix)
       9 | -$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410
      10 | +$(package)_sha256_hash=eed620cb268b199bd83b3fc6a471c51d51e1dc2dbb5374fc97a0cc75facbe36f
    


    Sjors commented at 11:03 AM on July 6, 2018:

    Can confirm eed620cb268b199bd83b3fc6a471c51d51e1dc2dbb5374fc97a0cc75facbe36f matches https://download.qt.io/archive/qt/5.9/5.9.6/submodules/qtbase-opensource-src-5.9.6.tar.xz.mirrorlist

  74. in depends/packages/qt.mk:3 in 77fd4f825a outdated
       0 | @@ -1,22 +1,20 @@
       1 |  PACKAGE=qt
       2 | -$(package)_version=5.7.1
       3 | -$(package)_download_path=https://download.qt.io/archive/qt/5.7/$($(package)_version)/submodules
       4 | -$(package)_suffix=opensource-src-$($(package)_version).tar.gz
       5 | +$(package)_version=5.9.6
       6 | +$(package)_download_path=http://download.qt.io/official_releases/qt/5.9/$($(package)_version)/submodules
    


    Sjors commented at 11:03 AM on July 6, 2018:

    Why the http downgrade?


    TheCharlatan commented at 1:06 PM on July 6, 2018:

    Thanks, missed this during rebase.

  75. in depends/packages/qt.mk:32 in 77fd4f825a outdated
      26 | @@ -29,25 +27,18 @@ $(package)_config_opts += -c++std c++11
      27 |  $(package)_config_opts += -confirm-license
      28 |  $(package)_config_opts += -dbus-runtime
      29 |  $(package)_config_opts += -hostprefix $(build_prefix)
      30 | -$(package)_config_opts += -no-alsa
    


    Sjors commented at 11:05 AM on July 6, 2018:

    Is the reason we can drop these lines that these options been removed from QT?


    TheCharlatan commented at 1:06 PM on July 6, 2018:

    The config_opts lines I removed are no longer supported by qt's configure.

  76. in depends/packages/qt.mk:94 in 77fd4f825a outdated
      90 | +$(package)_config_opts_linux += -no-feature-sessionmanager
      91 |  $(package)_config_opts_linux += -fontconfig
      92 |  $(package)_config_opts_linux += -no-opengl
      93 |  $(package)_config_opts_arm_linux  = -platform linux-g++ -xplatform $(host)
      94 |  $(package)_config_opts_i686_linux  = -xplatform linux-g++-32
      95 | +$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
    


    Sjors commented at 11:06 AM on July 6, 2018:

    I can try building these depends on an arm64 device soon.


    Sjors commented at 10:41 AM on July 12, 2018:

    cd depends && make doesn't build QT when run from a aarch64 host, so nvm :-)

  77. Sjors approved
  78. Sjors commented at 11:08 AM on July 6, 2018: member

    Tested 77fd4f8 on macOS 10.13.5 (did a make clean-all first). Also ran the tests. @fanquake wrote:

    this will likely bump the minimum required macOS version to 10.10. Which probably requires further discussion.

    macOS 10.10 Yosemite indeed: https://doc-snapshots.qt.io/qt5-5.9/osx.html

    See #13362 for discussion.

  79. Upgrade Qt depends to 5.9.6 800dea88a6
  80. TheCharlatan force-pushed on Jul 6, 2018
  81. laanwj commented at 3:55 PM on July 9, 2018: member

    utACK 800dea88a6ad2d8b615c1cc486da5942f6e391c2

  82. laanwj merged this on Jul 9, 2018
  83. laanwj closed this on Jul 9, 2018

  84. laanwj referenced this in commit a6d14b1cf7 on Jul 9, 2018
  85. MarcoFalke referenced this in commit f4e4ea1cee on Oct 26, 2018
  86. xdustinface referenced this in commit 33bd7c01e2 on Aug 26, 2020
  87. xdustinface referenced this in commit bb2810a1e8 on Aug 27, 2020
  88. UdjinM6 referenced this in commit d1fa6edca6 on Dec 17, 2020
  89. hebasto referenced this in commit 5129b36573 on Mar 7, 2021
  90. fanquake referenced this in commit 461f0c781e on Mar 9, 2021
  91. sidhujag referenced this in commit dac2f3078e on Mar 9, 2021
  92. gades referenced this in commit 9e45ff4a46 on Jun 24, 2021
  93. Munkybooty referenced this in commit bf4bb4b60b on Jul 21, 2021
  94. Munkybooty referenced this in commit 1c412d10cb on Jul 21, 2021
  95. Munkybooty referenced this in commit 31eb125b9f on Jul 22, 2021
  96. Munkybooty referenced this in commit 03981cebc8 on Jul 22, 2021
  97. Munkybooty referenced this in commit 1e2f6aa8a3 on Jul 23, 2021
  98. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-03 03:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me