Skip to content

Commit da9b008

Browse files
committed
static link xcb-* libs from debian
1 parent 21b7149 commit da9b008

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ ENV XCB_MINIMUM_PACKAGES=' \
2525
libxcb-sync-dev \
2626
libxcb-xfixes0-dev \
2727
libxcb-xkb-dev \
28+
libxcb-util-dev \
2829
'
2930
RUN apt-get update && apt-get install -y \
3031
autoconf \
@@ -49,6 +50,7 @@ RUN apt-get update && apt-get install -y \
4950
$XCB_MINIMUM_PACKAGES && \
5051
echo 'deb https://archive.debian.org/debian-archive/debian bullseye-backports main' > /etc/apt/sources.list.d/backports.list && \
5152
apt-get update && apt-get install -y cmake/bullseye-backports
53+
RUN rm /usr/lib/x86_64-linux-gnu/libxcb-*.so
5254

5355
#################
5456
# Build OpenSSL #
@@ -66,7 +68,7 @@ RUN make -j`nproc` && make install_sw && rm -rf /build-ssl
6668
# Build Qt #
6769
############
6870
WORKDIR /build-qt
69-
COPY md5sums-qt.txt build-qt.sh /build-qt/
71+
COPY md5sums-qt.txt build-qt.sh qtbase.patch /build-qt/
7072
RUN PKG_CONFIG_PATH=/openssl/lib64/pkgconfig ./build-qt.sh && mv qt /qt && rm -rf /build-qt
7173

7274
###############

build-qt.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ build_module() {
2424
truncate_var="truncate_${module}"
2525
echo ${!truncate_var:-} | xargs --no-run-if-empty truncate -s 0
2626
if [[ "${module}" = qtbase ]]; then
27+
patch -p1 < "${SCRIPT_DIR}/qtbase.patch"
2728
./configure ${!options_var} ${common_options_cmake}
2829
else
2930
"${INSTALL_DIR}/bin/qt-configure-module" . ${!options_var} ${common_options_cmake}
@@ -33,7 +34,7 @@ build_module() {
3334
}
3435

3536
WORK_DIR="${PWD}"
36-
SCRIPT_DIR=$(dirname "$0")
37+
SCRIPT_DIR=$(realpath "$(dirname "$0")")
3738
INSTALL_DIR="${WORK_DIR}/qt"
3839

3940
#FIXME bad warning in qtdeclarative-everywhere-src-6.8.3/src/quickwidgets/qquickwidget.cpp
@@ -85,6 +86,7 @@ options_qtbase="
8586
-DFEATURE_concurrent=OFF
8687
-DFEATURE_contextmenu=OFF
8788
-DFEATURE_cssparser=OFF
89+
-DFEATURE_cursor=ON
8890
-DFEATURE_datawidgetmapper=OFF
8991
-DFEATURE_datetimeedit=OFF
9092
-DFEATURE_dial=OFF

qtbase.patch

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff -u -r qtbase.old/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake qtbase.new/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake
2+
--- qtbase.old/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake 2025-02-13 11:45:28.000000000 -0600
3+
+++ qtbase.new/cmake/3rdparty/extra-cmake-modules/find-modules/FindXCB.cmake 2025-11-13 19:57:31.987415796 -0600
4+
@@ -145,7 +145,7 @@
5+
set(XCB_XCB_component_deps)
6+
set(XCB_COMPOSITE_component_deps XCB XFIXES)
7+
set(XCB_DAMAGE_component_deps XCB XFIXES)
8+
-set(XCB_IMAGE_component_deps XCB SHM)
9+
+set(XCB_IMAGE_component_deps XCB SHM UTIL)
10+
set(XCB_RENDERUTIL_component_deps XCB RENDER)
11+
set(XCB_XFIXES_component_deps XCB RENDER SHAPE)
12+
set(XCB_XVMC_component_deps XCB XV)

0 commit comments

Comments
 (0)