Merge bitcoin/bitcoin#33537: guix: build bitcoin-qt with static libxcb & utils
96963b888edepends: static libxcb (fanquake)ad06843fabdepends: avoid qdbusviewer in Qt build (fanquake)6848ed56dcdepends: apply Qt patches to fix static libxcb use (fanquake)5f1b016bebdepends: static libxcb-util-image (fanquake)98a2fbbe70depends: static libxkbcommon (fanquake)1412baf772depends: static libxcb-util-wm (fanquake)a4009dadf4depends: static libxcb-keysyms (fanquake)bcfb8679b3depends: 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-ACK96963b888e, 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: utACK96963b888eTheCharlatan: ACK96963b888eTree-SHA512: e947bc5b5cb0ec97963bc3f451f8fa6afb2e3699435370798d7a2aaefea7445cbe031d3b642f946f936829fa4cbe4efd2bfacd6b15739da15c3596cc4776b362
This commit is contained in:
10 files changed
+100
-24
No files matched your search
@@ -34,3 +34,12 @@ QtTools: Skip unnecessary dependencies:
|
||||
|
||||
# Create a fake module that would emulate the Qt5::LinguistTools CMake Config package
|
||||
qt_internal_add_module(Linguist
|
||||
--- a/qttools/src/qdbus/CMakeLists.txt
|
||||
+++ b/qttools/src/qdbus/CMakeLists.txt
|
||||
@@ -7,6 +7,3 @@ endif()
|
||||
if(QT_FEATURE_dom)
|
||||
add_subdirectory(qdbus)
|
||||
endif()
|
||||
-if(QT_FEATURE_dialogbuttonbox AND QT_FEATURE_inputdialog AND QT_FEATURE_menu AND QT_FEATURE_messagebox AND TARGET Qt::Widgets)
|
||||
- add_subdirectory(qdbusviewer)
|
||||
-endif()
|
||||
@@ -0,0 +1,80 @@
|
||||
commit 203148b1ed6d8f4bad8030ef64f0bc4083309010
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Sat Oct 4 01:00:25 2025 +0100
|
||||
|
||||
static fixes
|
||||
|
||||
See: https://bugreports.qt.io/browse/QTBUG-86287
|
||||
See: https://bugreports.qt.io/browse/QTBUG-137004
|
||||
|
||||
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake
|
||||
index 26b9bf89633..0c546d09a8b 100644
|
||||
--- a/qtbase/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake
|
||||
+++ b/qtbase/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake
|
||||
@@ -145,7 +145,7 @@ endforeach()
|
||||
set(XCB_XCB_component_deps)
|
||||
set(XCB_COMPOSITE_component_deps XCB XFIXES)
|
||||
set(XCB_DAMAGE_component_deps XCB XFIXES)
|
||||
-set(XCB_IMAGE_component_deps XCB SHM)
|
||||
+set(XCB_IMAGE_component_deps XCB SHM AUX)
|
||||
set(XCB_RENDERUTIL_component_deps XCB RENDER)
|
||||
set(XCB_XFIXES_component_deps XCB RENDER SHAPE)
|
||||
set(XCB_XVMC_component_deps XCB XV)
|
||||
diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake
|
||||
index 99c517e3581..a2e644f77d9 100644
|
||||
--- a/qtbase/src/gui/configure.cmake
|
||||
+++ b/qtbase/src/gui/configure.cmake
|
||||
@@ -80,10 +80,14 @@ if((X11_SUPPORTED) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(XCB 0.3.9 COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM MODULE_NAME gui QMAKE_LIB xcb_icccm)
|
||||
endif()
|
||||
qt_add_qmake_lib_dependency(xcb_icccm xcb)
|
||||
+if((X11_SUPPORTED) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
+ qt_find_package(XCB 0.3.8 COMPONENTS UTIL PROVIDED_TARGETS XCB::UTIL MODULE_NAME gui QMAKE_LIB xcb_util)
|
||||
+endif()
|
||||
+qt_add_qmake_lib_dependency(xcb_util xcb)
|
||||
if((X11_SUPPORTED) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(XCB 0.3.9 COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE MODULE_NAME gui QMAKE_LIB xcb_image)
|
||||
endif()
|
||||
-qt_add_qmake_lib_dependency(xcb_image xcb_shm xcb)
|
||||
+qt_add_qmake_lib_dependency(xcb_image xcb_shm xcb_util xcb)
|
||||
if((X11_SUPPORTED) OR QT_FIND_ALL_PACKAGES_ALWAYS)
|
||||
qt_find_package(XCB 0.3.9 COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS MODULE_NAME gui QMAKE_LIB xcb_keysyms)
|
||||
endif()
|
||||
@@ -488,6 +492,7 @@ qt_config_compile_test(xcb_syslibs
|
||||
LIBRARIES
|
||||
XCB::CURSOR
|
||||
XCB::ICCCM
|
||||
+ XCB::UTIL
|
||||
XCB::IMAGE
|
||||
XCB::KEYSYMS
|
||||
XCB::RANDR
|
||||
@@ -503,6 +508,7 @@ qt_config_compile_test(xcb_syslibs
|
||||
"// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++
|
||||
#define explicit dont_use_cxx_explicit
|
||||
#include <xcb/xcb.h>
|
||||
+#include <xcb/xcb_util.h>
|
||||
#include <xcb/xcb_image.h>
|
||||
#include <xcb/xcb_keysyms.h>
|
||||
#include <xcb/xcb_cursor.h>
|
||||
diff --git a/src/plugins/platforms/xcb/CMakeLists.txt b/src/plugins/platforms/xcb/CMakeLists.txt
|
||||
index e8fb442dd43..e964138115c 100644
|
||||
--- a/qtbase/src/plugins/platforms/xcb/CMakeLists.txt
|
||||
+++ b/qtbase/src/plugins/platforms/xcb/CMakeLists.txt
|
||||
@@ -52,6 +52,7 @@ qt_internal_add_module(XcbQpaPrivate
|
||||
Qt::GuiPrivate
|
||||
XCB::CURSOR
|
||||
XCB::ICCCM
|
||||
+ XCB::UTIL
|
||||
XCB::IMAGE
|
||||
XCB::KEYSYMS
|
||||
XCB::RANDR
|
||||
--- a/qtbase/src/gui/configure.cmake
|
||||
+++ b/qtbase/src/gui/configure.cmake
|
||||
@@ -504,6 +504,7 @@ qt_config_compile_test(xcb_syslibs
|
||||
XCB::XFIXES
|
||||
XCB::XKB
|
||||
XCB::XCB
|
||||
+ X11::Xau
|
||||
CODE
|
||||
"// xkb.h is using a variable called 'explicit', which is a reserved keyword in C++
|
||||
#define explicit dont_use_cxx_explicit
|
||||
Reference in new issue
Block a user