215 Commits

Author SHA1 Message Date
fanquake
3a83715c2a
depends: link to upstream qt issue
Follows up to:
https://github.com/bitcoin/bitcoin/pull/34650#discussion_r2837726376.

https://qt-project.atlassian.net/browse/QTBUG-144864
2026-03-10 11:01:11 +00:00
merge-script
b5737b755d
Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
0a6724aaae973659b6c44eb5a062aaaaf57be870 doc: Update Windows build notes (Hennadii Stepanov)
473e5f8efcdabc584b99f72c364cf15afad1ca97 qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16 (Hennadii Stepanov)
3cb4d6066b83348411c43587605b624f067dbbf3 qt: add patches to fix SFINAE errors/warnings with gcc16 (Cory Fields)
d7e972a90d59bbf705bd06f5d2606cccd1dcdcf9 qt: add patch to fix build with gcc16 (Cory Fields)
19693a8c914174692e01d65434b386b522cebde7 depends: Update Qt to 6.8.3 (Hennadii Stepanov)
c55584575a99ff565131207916eccb3223e508a3 cmake: Fix `FindQt` module (Hennadii Stepanov)

Pull request description:

  This PR updates the `qt` package in depends to the latest open-source [6.8.3](https://www.qt.io/blog/qt-6.8.3-released) LTS release.

  The update includes numerous bugfixes, which allows us to drop `qtbase_plugins_windows11style.patch`.

  Additionally, it includes [patches](https://github.com/bitcoin/bitcoin/issues/34569#issuecomment-3892793262) for compatibility with GCC 16 (along with one extra patch), and incorporates a [commit](8f1b55d1d5) from https://github.com/bitcoin/bitcoin/pull/32709.

  Closes https://github.com/bitcoin/bitcoin/issues/34569.

ACKs for top commit:
  achow101:
    ACK 0a6724aaae973659b6c44eb5a062aaaaf57be870
  sedited:
    ACK 0a6724aaae973659b6c44eb5a062aaaaf57be870

Tree-SHA512: b66fe6f75bae00fb5c525c5fad56d39273f53f6bfd58206da8a55c6e41d14533137c72fb03e9537ba3a3d0b3463b6dcbef6a88ac2f4559fa6e9abf045fe1beaa
2026-03-06 11:55:46 +00:00
Hennadii Stepanov
473e5f8efc
qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16 2026-03-04 11:31:30 +00:00
Cory Fields
3cb4d6066b
qt: add patches to fix SFINAE errors/warnings with gcc16
Meta-Issue: https://qt-project.atlassian.net/browse/QTBUG-143470
Backports:

679e8bda1e
3312e89b47
05f201a3d5

An additional includes fix is needed after the others:
d68fc6ecc8
2026-03-04 11:31:23 +00:00
Cory Fields
d7e972a90d
qt: add patch to fix build with gcc16
Backported from:
7fccc79dd5
2026-03-04 11:31:23 +00:00
Hennadii Stepanov
19693a8c91
depends: Update Qt to 6.8.3 2026-03-04 11:31:22 +00:00
Hennadii Stepanov
2a7a4f608a
depends: Allow building Qt packages after interruption 2026-03-02 17:59:19 +00:00
Hennadii Stepanov
8558902e57
depends: Add patch for Windows11Style plugin 2025-11-18 22:35:41 +00:00
merge-script
ee5de407e3
Merge bitcoin/bitcoin#33537: guix: build bitcoin-qt with static libxcb & utils
96963b888e5a10f4024fa0449c60c02e3bed6245 depends: static libxcb (fanquake)
ad06843fab06f794c98b54b6b4f47d38611a7c80 depends: avoid qdbusviewer in Qt build (fanquake)
6848ed56dc5f2c0f7cf8d67271896f81116352ec depends: apply Qt patches to fix static libxcb use (fanquake)
5f1b016bebd2fa13dd794ed633ee66d5155d5e12 depends: static libxcb-util-image (fanquake)
98a2fbbe70b87ea124aa807c7271a6a0f7c27a11 depends: static libxkbcommon (fanquake)
1412baf77295345f0649e0a6c352f516595cb21f depends: static libxcb-util-wm (fanquake)
a4009dadf466e1da41c5622d5bfc6d670d16b6e6 depends: static libxcb-keysyms (fanquake)
bcfb8679b3bab532d3075d6b643abeac9c4ab981 depends: static libxcb-render-util (fanquake)

Pull request description:

  Related to https://github.com/bitcoin/bitcoin/pull/33434.
  Tested on:
  * Fedora 42: https://github.com/bitcoin/bitcoin/pull/33537#pullrequestreview-3455373185.
  * Ubuntu 24.04: https://github.com/bitcoin/bitcoin/pull/33537#issuecomment-3533276038.
  * Debian 13.x: https://github.com/bitcoin/bitcoin/pull/33537#issuecomment-3540923567.

ACKs for top commit:
  hebasto:
    re-ACK 96963b888e5a10f4024fa0449c60c02e3bed6245, rebased, addressed my comments and adjusted formatting in `symbol-check.py` since my recent [review](https://github.com/bitcoin/bitcoin/pull/33537#pullrequestreview-3456081353).
  willcl-ark:
    utACK 96963b888e5a10f4024fa0449c60c02e3bed6245
  TheCharlatan:
    ACK 96963b888e5a10f4024fa0449c60c02e3bed6245

Tree-SHA512: e947bc5b5cb0ec97963bc3f451f8fa6afb2e3699435370798d7a2aaefea7445cbe031d3b642f946f936829fa4cbe4efd2bfacd6b15739da15c3596cc4776b362
2025-11-17 10:32:46 +00:00
fanquake
6848ed56dc
depends: apply Qt patches to fix static libxcb use
Co-authored-by: tobtoht <tob@featherwallet.org>
2025-11-13 10:12:04 +00:00
fanquake
3e9aca6f1b
depends: drop qtbase-moc-ignore-gcc-macro.patch qt patch
Looks like this was fixed in 6.5 or 6.6, via
https://codereview.qt-project.org/c/qt/qtbase/+/492580.
2025-11-12 13:31:12 +00:00
fanquake
169f93d2ac
depends: drop qtbase_avoid_native_float16 qt patch
There is no-longer a minimum required libgcc version, after
https://github.com/bitcoin/bitcoin/pull/33181.
2025-11-11 11:15:45 +00:00
fanquake
c9d5f211c1
depends: strip when installing qt
Otherwise we end up with ~1.5GB of binaries (Linux) when DEBUG=1..
2025-09-04 13:36:14 +01:00
Hennadii Stepanov
173394d951
depends: Build qt package for FreeBSD hosts 2025-06-24 12:23:02 +01:00
fanquake
9653ebc053
depends: remove support for Windows Qt LTO builds
The patches needed to support this were dropped in
5e794e62024eef612e1fbb71c76ea54d17435c14 and "Cross-compiling does not
support LTO." (from #30997), so remove it for now.
2025-06-04 15:49:49 +02:00
Hennadii Stepanov
35e57fbe33 depends: Fix cross-compiling qt package from macOS to Windows 2025-04-26 17:13:16 +01:00
Hennadii Stepanov
ab399c4db2
depends: Add native_qt package
Unlike Qt 5, Qt 6 requires a separate native Qt build for
cross-building.

See: https://www.qt.io/blog/qt-6-build-system.
2025-04-02 09:14:40 +01:00
Hennadii Stepanov
248613eb3e
depends: Factor out Qt modules' details 2025-04-02 09:14:07 +01:00
Hennadii Stepanov
5e794e6202
depends: Bump qt package up to 6.7.3 2025-04-02 09:12:27 +01:00
fanquake
31a0e5f090
depends: Qt 5.15.16 2025-01-15 11:52:27 +00:00
fanquake
17e79c9260
depends: fully remove libtool archives from Qt build
`Qt5Zlib.la` was hanging around.
2024-11-14 11:32:47 +00:00
fanquake
e3e648cf41
depends: drop pkg-config option from Qt build 2024-11-14 11:32:47 +00:00
Hennadii Stepanov
84ac35cfd4
cmake: Add cross-compiling support
To configure CMake for cross-compiling, use
`--toolchain depends/${HOST}/toolchain.cmake` command-line option.
2024-08-16 21:19:11 +01:00
Hennadii Stepanov
4a5208a81d
Revert "build, qt: Do not install *.prl files"
This reverts commit 1155978d8f3fcc1cebf357302b933b834f9c9465.
2024-08-16 21:19:10 +01:00
fanquake
0b2aeee21d
depends: patch explicit -lm usage out of Qt tools 2024-07-25 14:14:23 +01:00
fanquake
0a3631fc35
depends: fix Qt macOS build with Clang 18
Patch Qts internal libpng to resolve the failure.

I would like to have this patched, so we can continue working on the
removal of `FORCE_USE_SYSTEM_CLANG`. Otherwise builds will be broken using
the default clang (18) on the current Ubuntu LTS (24.04).
2024-05-30 12:00:05 +01:00
fanquake
b018bd779d
depends: qt 5.15.14 2024-05-30 09:29:11 +01:00
merge-script
f61ede574c
Merge bitcoin/bitcoin#30049: build, test, doc: Temporarily remove Android-related stuff
5deb0b024e14c7c63d405c651d1ca323560a1c21 build, test, doc: Temporarily remove Android-related stuff (Hennadii Stepanov)

Pull request description:

  Previously, our Android builds were geared towards generating APKs, which relied on Qt. However, after migrating to C++20, compiling for Android became unfeasible due to Qt 5.15's compatibility limitations with NDK only up to r25, which includes an outdated embedded libc++ (see https://github.com/bitcoin/bitcoin/issues/29360).

  All removed stuff will be reinstated after migrating the build system to CMake and upgrading Qt to version 6.x.

  This PR makes possible a clean migration to the CMake-based build system as it removes code, which is not used at this moment.

ACKs for top commit:
  vasild:
    ACK 5deb0b024e14c7c63d405c651d1ca323560a1c21
  fanquake:
    ACK 5deb0b024e14c7c63d405c651d1ca323560a1c21 - given none of this is currently tested/wont compile. Can be revisted in future.

Tree-SHA512: 3bc2ccfe881e11cc1d78c27acd6f1d86cfba86821ef3bb5eca2e80d978fdfa13659ec82284dcaadc507e2394524dea91d4b8f81d0030c1cef9708df8be76bf07
2024-05-30 09:25:42 +01:00
fanquake
437e908ebd
depends: swap cctools-x for llvm-x
Only build ld64 from cctools.
Disable adhoc codesigning, to avoid non-determinism.
2024-05-22 08:51:33 +01:00
fanquake
bab287d1ba
depends: don't use -no_warning_for_no_symbols in macOS qt build
Not supported by llvm-ar / llvm-ranlib.
2024-05-22 08:51:33 +01:00
Hennadii Stepanov
5deb0b024e
build, test, doc: Temporarily remove Android-related stuff
Previously, our Android builds were geared towards generating APKs,
which relied on Qt. However, after migrating to C++20, compiling for
Android became unfeasible due to Qt 5.15's compatibility limitations
with NDK only up to r25, which includes an outdated embedded libc++.

All removed stuff will be reinstated after migrating the build system to
CMake and upgrading Qt to version 6.x."
2024-05-06 11:29:14 +01:00
laanwj
2e266f33b5 depends: Fix build of Qt for 32-bit platforms
The 32 to 64-bit time_t transition causes a build failure in the built-in
zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.

Note that zlib doesn't use time_t at all, so it is a false alarm.

Take the following patch from upstream zlib:
a566e156b3.patch

Closes #29980.
2024-04-29 09:48:26 +02:00
fanquake
430f319f73
depends: qt 5.15.13
I need to try and patch around Qts buildsystem to keep #21778 moving
along (the issue being that even when you tell Qt to build using
Clang on Linux, it still calls out to GCC, breaking our ability to have
a macOS release build env that doesn't have a GCC toolchain installed,
and thus no ld binary).

Before trying to patch Qt any further, update to the latest LTS
release, and update the current patch set.
2024-03-27 16:45:21 +00:00
fanquake
b7e7e727ab
depends: fix mingw-w64 Qt DEBUG=1 build
The issue is that compilation is done with `x86_64-w64-mingw32-g++-posix`,
but then linking is done with `x86_64-w64-mingw32-g++`.

I'm guessing this has been broken since #24131
(01d1845a80ae48d741deea695ddce95d940ab0d8), but have not checked.

Fixes #29734.
Unblocks #29527 (now DEBUG=1 builds can be tested).
2024-03-27 10:52:32 +00:00
fanquake
76d6537698
depends: drop 1 qt determinism patch
No-longer required now that we are building with GCC 12.
2024-03-14 10:40:17 +00:00
fanquake
b335710782
depends: patch around non-determinism in qt 2023-12-21 09:37:33 +00:00
fanquake
b0c290340c
Revert "build: Patch Qt to handle minimum macOS version properly"
This reverts commit 05aca093819be276ac7d648472c6ed5c7d235cc5.
2023-12-21 09:37:33 +00:00
MarcoFalke
fa67f096bd
build: Require C++20 compiler 2023-12-07 11:05:33 +01:00
Hennadii Stepanov
05aca09381
build: Patch Qt to handle minimum macOS version properly
This change is required to switch to macOS 14 SDK (Xcode 15).
2023-11-10 23:25:13 +00:00
fanquake
664c87354f
depends: drop -O1 workaround from arm64 apple Qt build 2023-11-02 15:59:46 +00:00
Hennadii Stepanov
8047bb6fea
build: Update qt package up to 5.15.11 2023-11-01 15:20:20 +00:00
fanquake
f0cebbdb2a
qt: enable -ltcg for windows HOST
Patch around multiple definition issues in Qt.

Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
2023-10-05 10:26:34 +01:00
Hennadii Stepanov
6988a2f097
build: Update qt package up to 5.15.10 2023-10-04 14:00:57 +01:00
fanquake
848eec0936
depends: fix unusable memory_resource in macos qt build
See https://codereview.qt-project.org/c/qt/qtbase/+/482392.
2023-10-03 13:31:19 +01:00
Hennadii Stepanov
79ef528511
build, macos: Fix qt package build with new Xcode 15 linker 2023-09-27 12:19:57 +01:00
Hennadii Stepanov
25e8fe70c6
build, qt: Fix handling of CXX=clang++ when building qt package 2023-03-23 14:38:02 +00:00
Hennadii Stepanov
affbf58a1e
build: Move environment variables into $(package)_config_env 2022-12-07 16:51:48 +00:00
Hennadii Stepanov
55e468f149
build: Add -no-mimetype-database option to qt package in depends
We do not use the `QMimeDatabase` class, and this change gets rid of
perl dependency.
Available since Qt 5.13.0.
2022-09-10 10:54:33 +02:00
Hennadii Stepanov
59f2cc23e0
build, qt: Use mkspecs/bitcoin-linux-g++ for all Linux hosts 2022-08-13 14:08:42 +01:00
Hennadii Stepanov
a2e733b946
doc: Remove no longer needed comments
Co-authored-by: fanquake <fanquake@gmail.com>
2022-08-13 14:08:04 +01:00