build: Upgrade depends to Qt6 #33787

pull kwsantiago wants to merge 2223 commits into bitcoin:master from kwsantiago:kwsantiago/qt6-depends-upgrade changing 793 files +39909 −15515
  1. kwsantiago commented at 0:51 am on November 5, 2025: none

    Upgrades the depends system to build Qt 6.7.3, preparing the codebase for Qt6 compatibility.

    Changes

    • Add Qt6 (6.7.3) package definitions and patches
    • Update Qt build configuration to support both Qt5 and Qt6
    • Add automatic Qt version detection in depends toolchain
    • Add libxcb_util_cursor package for Qt6 Linux builds
    • Remove obsolete Qt5-specific patches
    • Add initial wintaskbar infrastructure for Qt6 compatibility, which is covered in https://github.com/bitcoinknots/bitcoin/pull/215

    Details

    This PR modernizes the Qt dependency infrastructure without changing application behavior. The Qt6 upgrade provides:

    • Long-term Qt support (Qt5 reaches end-of-life in 2025)
    • Better compatibility with modern platforms
    • Foundation for future Qt6-specific features
  2. Merge 33228 via fix_preallocate f3387637c3
  3. Merge 33215 via fix_debuglog_refs_hardcoded-28+knots 4d34552abf
  4. Merge 33311 via log_quiet_pcp_unsupported-29 ea7cbe71ef
  5. Merge 33338 via pcp_interrupt-29 61699ea52b
  6. Merge g886 via wrkrnd_qt_textedit_oom-0.14 26fa4aaa01
  7. Merge 33475 via fix_block_full_enough_underflow-29+k 3e0d3d9ef7
  8. Merge 33494 via urlupd_depends_qrencode-28 31dc26611b
  9. Merge 33511 via fix_sigint_waitrpcs-29 b4915e93eb
  10. Merge fix_rpccookieperms_early 91f5662ec3
  11. Merge qt_intro_nojumpy c3d5fbf0f2
  12. Merge restore_guix_ppc64le-28 c1cdcf34ff
  13. Merge qt_dialogs_less_modal 8f75f42a9c
  14. Merge docfix_getorphantxs_vsize d293d5feaa
  15. Merge fix_guix_boost_mirror-29 e4618471df
  16. Merge fix_qt_startup_unknown_unit cff1f2c0a8
  17. Merge fix_qt_psbtops_filename_amount adacf79e15
  18. Merge k126 via fix_qt_progressbar_fittext 09ad9b3150
  19. Merge k150 via fix_rpc_mixed_params_edgecases 9afea11808
  20. Merge qt_nowalletpage_alerts-23 2eb4349422
  21. Merge fix_alertnotify_winquoting 108e6f088c
  22. Merge torcontrol_avoid_bindany_connect 3b3e298f98
  23. Merge upd_qt5-29.2 b10bf470c3
  24. Merge 28430 via origin-pull/28430/head cc1911d3b6
  25. Merge 28592 via origin-pull/28592/head 6d5182e4cf
  26. Merge 29602 via opti_IsSpace_pr29602-29 eef7ebb564
  27. Merge 30059 via dbfilesize_param-29.1 6eab3daa41
  28. Merge dbfilesize_64-29.1+knots 87090cf6ae
  29. Merge 30611 via chainstate_write_hourly-29+knots 400da71805
  30. Merge 31144 via opti_multibyte_xor-29+knots a0a7ced881
  31. Merge 31179 via ismaelsadeeq/10-2024-add-reserve-to-univalue 844ab49b1b
  32. Merge 31645 via opti_dbbatchsize_64-29 a18c844d4d
  33. Merge 32279 via opti_script_inline_36b-29 f1983f1862
  34. Merge 32487 via opti_readblock_hash_once-29 3073291663
  35. Merge netproc_check_blockhash 7ed1773dd7
  36. Merge 32827 via opti_removeForBlock_empty-28 daf24dac4d
  37. Merge 33332 via opti_arith_uint256_trivialcopy-28 6ec473b8a9
  38. Merge 33334 via opti_blkidx_comparator-26+knots f3b0c13136
  39. Merge 33410 via opti_coinstats_nocopy_pr33410-26 a35ca3225d
  40. Merge rm_multiprocess e3dc3323e3
  41. Merge 18479 via rpc_sign_show_fees 108af5d6a0
  42. Merge 15836 via fee_histogram+pr15836_api c1adcf8ead
  43. Merge 22693 via getaddressinfo_txids 36ed0d4e29
  44. Merge g562 via wallet_warn_reuse_gui 4d256fad82
  45. Merge 18972 via neutrino_whitelist-mini aa48f2699c
  46. Merge qt_openuri_pastebtn_shortcut-23 ec25c80b72
  47. Merge 18014 via siphash_optimise_pr18014-27+knots 75fb33c2a2
  48. Merge 24202 via rpc_dumptxoutset_hr-29+knots 9749390121
  49. Merge 19242 via uaappend 887bda0647
  50. Merge 19463 via prune_locks 3263a47d7d
  51. Merge 19873 via mempressure-29+knots 72cab2e8e3
  52. Merge g291 via gui_trafficgraph_vert-0.21 e27d1df55d
  53. Merge 20391 via rpc_setfeerate-28+knots 93058ad8f7
  54. Merge 20407 via rpcauthfile-29+knots 9c53a14409
  55. Merge g149 via intro_assumevalid 0ba102de98
  56. Merge 20702 via rpc_getblocklocations 5c1fc56404
  57. Merge g363 via qt_peers_directionarrow-25+knots 06e83493ee
  58. Merge 21928 via rpc_hww_toggle-25 768de4037e
  59. Merge 21260 via rpcwallet_tx_in_mempool-29+knots 7c63cd051f
  60. Merge g230 via gui_backup_formats edfb4fb44a
  61. Merge 21780 via rpc_maxmempool bc6e77fa39
  62. Merge 22072 via autoreindex-29+knots 7485b6f5b8
  63. Merge g307 via gui_peers_rowcolouropt 7da213e3a6
  64. Merge 22372 via multinotify e2856f530a
  65. Merge 24963 via rpc_walletprocesspsbt_options-26 eba45ef365
  66. Merge rpc_descriptorprocesspsbt_opts 6368f6dddf
  67. Merge 23362 via importfromcoldcard 16635ec024
  68. Merge 23387 via rpc_savefeeestimates-29+knots cba87664ba
  69. Merge g473 via rebroad-g/NonLinearTraffic 704c95339c
  70. Merge g492 via qt_traffic_tooltip 6a596e9ed5
  71. Merge g820 via qt_fontsel_qrcodes-27+knots 343fc1f25a
  72. Merge verifymsg_bip137_and_electrum 151a59cada
  73. Merge 24058 via bip322-29+knots da07d91880
  74. Merge 24162 via rpc_deriveaddr_wo_checksum-29 346692488c
  75. Merge 25183 via rpc_fundraw_segwitonly 9babd2d911
  76. Merge whitelist_outgoing_auto d1d83c0e32
  77. Merge 27446 via benthecarman/configure-signet-blockitme c7e84f13c7
  78. Merge 26576 via rpc_disconnectnode_subnet bf853481bb
  79. Merge 27034 via rpc_importaddr_for_descwallet-27+k 8f24b3dc7a
  80. Merge 27052 via rpc_getpeerinfo_lastblockann-28 8cd4ac526f
  81. Merge 27216 via rpc_getaddressinfo_isactive afa55a8fdd
  82. Merge 27351 via codex32-29+knots ca0d001d97
  83. Merge 27600 via p2p_forceinbound-28+knots 1728d7631f
  84. Merge 27770 via rpc_getblockfileinfo-28+knots 358856361e
  85. Merge 29016 via rpc_listmempooltxs-29+knots f778d7c39d
  86. Merge manpages_seealso_notself 9a16e24e21
  87. Merge 30635 via rpc_waitfornewblock_tip_param-29+k 6b961962f3
  88. Merge 30713 via tdb3/relevant_blocks_in_scanblocks_status 5d6dccd848
  89. Merge 30860 via bashcomp_bcli_generate-29 92e9b91b67
  90. Merge k190 via feat_zsh_completion-29 c7603c2acd
  91. Merge 30886 via rpc_descrprocesspsbt_prevtxs-28+knots b77212d5cc
  92. Merge 31560 via rpc_dumptxoutset_fifo-29+knots 816104a362
  93. Merge 31672 via peer_cpu_load-29+knots 4160fffe56
  94. Merge 31845 via pruneduringinit-29+knots 2bd6819ef9
  95. Merge 31886 via netinfo_local_svcs-29+knots 4ec453a3ad
  96. Merge 31953 via bumpfee_full_rbf-29+knots 787b46e37b
  97. Merge 32200 via socks_tor_error_codes-0.18 68586ec5ec
  98. Merge 32423 via hash_rpcuserpass-29+knots e4c690fefa
  99. Merge 32425 via proxy_per_net-29 632861c880
  100. Merge 32429 via doc_rpc_keypoolrefill_pr32429-23 6a1069fb2f
  101. Merge 32540 via rest_spenttxouts-26 4c67c62588
  102. Merge 32844 via rpc_gettxoutproof_segwit-27+knots cd053f34c8
  103. Merge 33004 via def_natpmp_true-29 1114594520
  104. Merge 33230 via rpc_cli_hashorheight-29 35daee8ebd
  105. Merge qt_createunsigned_use_psbtops a800d52314
  106. Merge 8751 via sort-multisigs-28+knots 2bd7cd5d35
  107. Merge 22016 via rpc_gbci_period_start a4df8d688a
  108. Merge 9152 via sweepprivkeys-29+knots 6da71057e8
  109. Merge 9245 via ionice-29+knots 47360daf32
  110. Merge ionice_win-29+knots c424b55ed9
  111. Merge 8501 via old_stats_rpc-29 a49391df3d
  112. Merge 8550 via old_stats_qt-29+knots 13cc089e1b
  113. Merge 9504 via rpc_dumpmasterprivkey a11d74ef97
  114. Merge g444 via gui_netwatch-29+knots 64bf5fe3f5
  115. Merge 10615 via multiwallet_rpc-29+knots 89d923d87d
  116. Merge 10554 via zmq_wtx-29+knots 0782104bab
  117. Merge 20551 via rpc_onetry_conntype 0adc07dfa2
  118. Merge 10593 via relax_invblk_punishment 4b6b42668d
  119. Merge 10350 via filtered_witblock-28 158f9d59e8
  120. Merge 11750 via coincontrol_multiselect ec4a65c118
  121. Merge 11770 via rest_fee a3aab95b54
  122. Merge 11803 via bugfix_dumpwallet_hdkeypath 4667e497eb
  123. Merge 12965 via scriptthreads-29+knots 067baa812c
  124. Merge 13203 via dsha256_power8-29 e68af292b7
  125. Merge 15218 via postibd_flush-28 d5106e44a1
  126. Merge 15428 via tor_gui_pairing-29+knots 5269b208e2
  127. Merge 17795 via gui_console_ctrl_d-26+knots 5980c2b798
  128. Merge 15861 via restore_vbits_warning 921c77056d
  129. Merge rpc_compat_error_index-25+knots 5129e81beb
  130. Merge g537 via gui_bech32_errpos 84064d233a
  131. Merge 17636 via guisettings-0.21 695367a56f
  132. Merge 17958 via rpc_getgeneralinfo 86c46c130a
  133. Merge 18223 via blockfilter_v0 0401a487f7
  134. Merge 19089 via cli_getinfo_mwbalances-29 819e199b0c
  135. Merge 19092 via cli_getinfo_mw_total_balance-29+knots de82261da4
  136. Merge 19117 via rpc_getrpcwhitelist db47b72539
  137. Merge getrpcwhitelist_wallets-29+knots c3f6137f79
  138. Merge wallettool_dump_warning-29+knots 2c94f5997d
  139. Merge 30951 via v2onlyclearnet-29+knots ba75af3f9b
  140. Merge font_for_money_global 8d1b78f483
  141. Merge k157 via qt_darkmode-29+knots 3943fcce93
  142. Merge rm_tarball_ci-29+knots 897f1488c3
  143. Merge restore_upnp-29.2+knots d7acc86509
  144. Merge restore_feefilter_opt fbf83ac7c2
  145. Merge gui_payreq_textedit 32595d73c9
  146. Merge rpc_mempoolentry_txhash c8f8f4b5f2
  147. Merge 14137 via win_taskbar_progress 6c8a4b3405
  148. Merge restore_blockmaxsize c611addce6
  149. Merge 7107 via qtnetworkport-29.1+knots e86a192db5
  150. Merge 11082 via rwconf-29+knots 81b0963bf2
  151. Merge 7510 via rwconf_gui-29.1+knots 87521bd3b6
  152. Merge 559 via accept_nonstdtxn 52ea2f1b79
  153. Merge 929 via tbc f6f6bd0b25
  154. Merge tbc_font c6177e9ce4
  155. Merge 553 via bugfix_qt_uri_amount_parser 503fb1afd2
  156. Merge 5861 via gui_restore_addresses 87feae1d73
  157. Merge 5891 via qt_console_history_persist 24d53a5989
  158. Merge net_identify_librerelay cb379d75c7
  159. Merge net_identify_utreexo 9fb683d48a
  160. Merge 12146 via opt_wallet_segwit2 752f58d247
  161. Merge gui_wallet_displayname_wo_dat 6d64610bca
  162. Merge gui_request_payment_label-0.19 953333d93c
  163. Merge gui_peers_sort_network-23 7ae29bcf86
  164. Merge gui_peers_no_net_column 1c2da22bf7
  165. Merge rpc_getblockfrompeer_future 9a041d93f7
  166. Merge rpc_getblockfrompeer_wo_header 5362fefac6
  167. Merge 32547 via mining_avoid_block_copy-29+knots a6abd7ea36
  168. Merge gbt_rpc_options-29+knots 6a611e9905
  169. Merge blockview-29+knots 2651029777
  170. Merge restore_libconsensus 3cf2d8e0be
  171. Merge rpccookieperms_log_improvements-29+k b5d101c70d
  172. Merge 33023 via qa_cb_extratxs-25 5f9410b571
  173. Merge k171 via Raimo33/add-dockerfile 555818a43a
  174. Merge k187 via Retropex/dnsseed-leo cc1d0a84ab
  175. Merge 30232 via refactor_isstandardtx_mpopts-29+knots e11d54ee38
  176. Merge pol_acceptunknownwitness 6d158fd7fb
  177. Merge mining_priority b2fc1c21f8
  178. Merge 7219 via rbf_opts-29+knots 7f4ab04e73
  179. Merge truc_opts-29.2+knots f15f7e9994
  180. Merge 29309 via permitbarepubkey-29+knots 3672580075
  181. Merge bytespersigopstrict-29+knots eb475ae2a1
  182. Merge dustdynamic-29.1+knots c1f31d2ebf
  183. Merge 28408 via match_more_datacarrier-29+knots 18679d7ae9
  184. Merge datacarriercost-29+knots 7b727bd1c8
  185. Merge acceptnonstddatacarrier-29+knots 8a91d7f00f
  186. Merge k136 via pol_permitephemeral 379b005b23
  187. Merge rejecttokens-29.1+knots 00793cbe32
  188. Merge k78 via rejectparasites-29.1+knots 606644447f
  189. Merge maxscriptsize-29+knots 0ec7963005
  190. Merge k148 via minrelaymaturity-29.1+knots 4630431f77
  191. Merge pol_maxtxlegacysigops-29.1+knots 6bada6bb4b
  192. Merge blockreconstructionextratxnsize e1375d6a06
  193. Merge k162 via qt_bad_external_signer_msg-22 f1b1cdf9d4
  194. Merge compat_rpc_dumptxoutset_hr 16da2d97b3
  195. Merge compat_jsonrpc_weirdversions 4a1ec7a825
  196. Merge 29530 via rpc_getpeerinfo_misbehaving_score-29+k f09235f455
  197. Merge rpccookieperms_octal_compat-29+knots 295124917a
  198. Merge zmq_ipc_uri_compat 241ac987a7
  199. Merge wallet_undeprecate_legacy-29 588dbab211
  200. Merge 14641 via fundraw_min_conf_deprecated-25+knots 136a8fb501
  201. Merge preserve_unsupported_keyflags 98287ec605
  202. Merge netperms_implicit_addr c69b6ca7b7
  203. Merge rpc_getblockfrompeer_nodeid_compat 6b146f3e2f
  204. Merge gui_peers_bump_setting_keys-29+k 1d8ea63cb4
  205. Merge 1day_default_conftarget f8bb2e2240
  206. Merge def_bloom_local_only aca5d86caf
  207. Merge wallet_avoid_newerchange e12de6c8b1
  208. Merge enforce_checkpoints 21dbf96fd5
  209. Merge checkpoint_update-29 3b5ea232f7
  210. Merge 10282 via softwareexpiry 68991f278b
  211. Merge rwconf_policy-29.1+knots 91b5f982db
  212. Delete release notes fragments 6b5354d10d
  213. Merge font_ocrbitcoin 68221e1221
  214. Merge knots_branding-29 78ea02d8a5
  215. Update documented versions/BIPs for Knots 7367bb04b0
  216. Bump version to knots20251010 d5593bea7a
  217. Merge rm_historical_relnotes_from_dist 5814d23b6e
  218. doc/release-notes: Update for Bitcoin Knots 29.2.knots20251010 8a0a4c3167
  219. Update manpages, shell completion, and example bitcoin.conf eeb9cc1120
  220. net: use generic network key for addrcache
    The generic key can also be used in other places
    where behavior between different network identities should
    be uncorrelated to avoid fingerprinting.
    This also changes RANDOMIZER_ID - since it is not
    being persisted to disk, there are no compatibility issues.
    
    Github-Pull: #33464
    Rebased-From: 94db966a3bb52a3677eb5f762447202ed3889f0f
    e949bff636
  221. p2p: Use different inbound inv timer per network
    Currently nodes schedule their invs to all inbound peers at the same time.
    It is trivial to make use this timing pattern for fingerprinting
    identities on different networks. Using a separate timers for each network will
    make the fingerprinting harder.
    
    Github-Pull: #33464
    Rebased-From: 0f7d4ee4e8281ed141a6ebb7e0edee7b864e4dcf
    81e5717c9e
  222. Merge 33464 via net_timers_for_inbound_inv-29 3f01bb63ca
  223. depends: Use $(package)_file_name when downloading from the fallback
    Github-Pull: #33580
    Rebased-From: 671b774d1b58c491b53f2b2f6ee42fb6b65a0e71
    d25f97ac37
  224. Merge 33580 via fix_depends_fallback_filename-0.13 5299fc8950
  225. Merge commit '6f23ead4a2d' into sendraw_force-29.1+knots 3de17861bb
  226. Merge commit '666aec7d495' into sendraw_force-29.1+knots e79fc70843
  227. Merge tag 'v29.2rc2' into sendraw_force-29.2+knots
    Bitcoin Core 29.2 release candidate 2
    
    Tree-SHA512: c829efe89f86c9c76767ffe60a3779ece902ee9e3c8f6b4203562aaf257019484bfa49916ddfabdcabbd1478368d9b80a3f0a15057778aa1984852ea245283a6
    99b7095566
  228. Merge 7533 via sendraw_force-29.2+knots 2004cab398
  229. Merge branch 'sendraw_force-29.2+knots' (early part) into truc_opts-29.1+knots e1254fed03
  230. Merge branch 'sendraw_force-29.2+knots' (early part) into truc_opts-29.1+knots 26ad7d0fee
  231. Merge branch 'truc_opts-29.2+knots' (early part) into unique_spk_mempool-29.1+knots 1e1cc0910f
  232. Merge branch 'truc_opts-29.2+knots' into unique_spk_mempool-29.1+knots 13dc4608d7
  233. Merge 9749 via unique_spk_mempool-29.2+knots 8c08e23a7f
  234. Bugfix: torcontrol: Use ephemeral config file rather than stdin
    cpp-subprocess does not have a way to close stdin, so executing tor currently hangs
    8546bc08b1
  235. Merge 15421 via tor_subprocess-29+knots 5efc573ae6
  236. Merge bitcoin/bitcoin#33551: [29.x] Finalise 29.2
    46d9b9091baa096da30da5e14329a32f1264229a doc: update manual pages for v29.2 (fanquake)
    b2026fa290f0aef9a0dcfe45750121f113e2ce7d build: bump version to v29.2 (fanquake)
    3226616493289b111997bb107e569fef54386743 doc: update release notes for 29.2 (fanquake)
    
    Pull request description:
    
      I'm optimistic that 29.2 wont need an `rc3`.
    
    ACKs for top commit:
      instagibbs:
        ACK 46d9b9091baa096da30da5e14329a32f1264229a
      stickies-v:
        ACK 46d9b9091baa096da30da5e14329a32f1264229a
      glozow:
        ACK 46d9b9091baa096da30da5e14329a32f1264229a
    
    Tree-SHA512: f515d2dfbbe60dc145f79425cb2e8ef7a443e69dab208b9acdf357dae7cca3f566f7d013a85c6d4330d8931da060320159a3a9d8dae0ea3ff18bba5aeb282722
    2d6426c296
  237. Bugfix: net: Treat connections to the first normal bind as Tor when appropriate 23071773f6
  238. Merge fix_tor_common_bind-29.2 5c116044d5
  239. Merge commit 'v29.2^^' into upd_qt5-29.2 7abec4c71e
  240. Merge commit 'v29.2^' into upd_qt5-29.2 441f54eb66
  241. Merge tag 'v29.2' into upd_qt5-29.2
    Bitcoin Core 29.2 final
    
    Tree-SHA512: f515d2dfbbe60dc145f79425cb2e8ef7a443e69dab208b9acdf357dae7cca3f566f7d013a85c6d4330d8931da060320159a3a9d8dae0ea3ff18bba5aeb282722
    97d45701e7
  242. Merge commit 'v29.2^^^^^^' into svg_icon-29.2+knots b78ba82b2c
  243. Merge branch 'upd_qt5-29.2' (early part) into svg_icon-29.2+knots 50de9ff867
  244. Merge branch 'upd_qt5-29.2' (early part) into svg_icon-29.2+knots 249313c204
  245. Merge branch 'upd_qt5-29.2' into svg_icon-29.2+knots 6d51003afe
  246. Merge 7483 via svg_icon-29.2+knots 093b55fc9c
  247. init: wintaskbar changes for qt6 1736c1caca
  248. build: add Qt6 patches 93c0143a45
  249. build: add Qt6 package definitions 6dd9db4c55
  250. build: upgrade depends to Qt6 95c81af1e1
  251. depends: auto-detect Qt version for toolchain 32ad8cdc71
  252. DrahtBot added the label Build system on Nov 5, 2025
  253. DrahtBot commented at 0:52 am on November 5, 2025: contributor
    ♻️ Automatically closing for now based on heuristics. Please leave a comment, if this was erroneous. Generally, please focus on creating high-quality, original content that demonstrates a clear understanding of the project’s requirements and goals.
  254. DrahtBot closed this on Nov 5, 2025

  255. DrahtBot commented at 0:52 am on November 5, 2025: contributor

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

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33787.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  256. bitcoin locked this on Nov 5, 2025

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: 2025-11-06 18:13 UTC

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