-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Labels
Milestone
Description
Feature Request
Describe the Feature Request
Update Avian’s Qt dependency from Qt 5.12.11 to Qt 6.7.3 in the depends/ build system and Qt wallet. Qt 5.12 is EOL and increasingly difficult to build on modern toolchains, while Qt 6.7.3 provides long-term API stability, C++20 support, and better HiDPI/platform integration. This request is to officially adopt Qt 6.7.3 for the Avian GUI.
Describe Preferred Solution
- Bump Qt in
depends/packages/qt.mk(version, URLs, hashes) to 6.7.3. - Continue producing a static, reproducible, minimal Qt build:
- Enable only required modules (Core, Gui, Widgets, Network, etc.).
- Disable non-essential tools/modules.
- Ensure Avian builds/runs with Qt 6.7.3 on Linux, Windows, macOS.
- Port or replace existing Qt 5 patches (e.g.,
qtbase_skip_tools.patch,qttools_skip_dependencies.patch). - Update
src/qt/sources for Qt 6 API changes. - Keep user-visible behavior equal or better than the Qt 5 build.
Describe Alternatives
- Stay on Qt 5.12.11 (requires growing maintenance patches, no upstream support).
- Move to another Qt 5.x / early Qt 6 version (still near EOL).
- Rely on prebuilt Qt binaries outside
depends(hurts reproducibility/determinism).
Related Code
depends/packages/qt.mkand the referenced patch files.- Other depends libraries (
freetype.mk,fontconfig.mk,libxcb*, etc.). - Wallet UI sources under
src/qt/.
Additional Context
- Qt 5.12 is unsupported upstream and fails more often with new GCC/Clang, glibc, SDKs.
- Qt 6.7.3 offers better compiler integration, HiDPI behavior, and long-term support.
- Experimental work shows Qt 6.7.3 builds mostly succeed; optional tools like
qdbusviewertrigger extra dependencies (Expat, freetype BDF) and can be disabled for the wallet build. - Goal: keep
dependsdeterministic and self-contained while modernizing the GUI stack.
Reactions are currently unavailable