The currently used Qt 5.15 is approaching EOL. The recent migration of the Bitcoin Core’s build system to CMake makes it possible to switch to Qt 6.
This PR is not fully functional yet, but it raises some conceptual questions that need to be discussed:
- Migrating to Qt 6 breaks compatibility with Debian 11 / Ubuntu 20.04 for the release binaries: https://github.com/bitcoin/bitcoin/blob/cdff967c2891a0a9ea7d7431cb9d0997d1e9928e/contrib/devtools/symbol-check.py#L35
- Qt 6 requires Windows 10 (1809 or later) / Windows 11.
The first commit allows to build the GUI on Linux or macOS using the Qt 6 packages installed by a package manager and available system-wide.
Guix builds work for Linux hosts and for Windows. However, the later fails the CONTROL_FLOW
security check for bitcoin-qt.exe
.