aboutsummaryrefslogtreecommitdiff
path: root/docker/Dockerfile
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-03-12 11:20:16 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-03-12 11:20:16 -0500
commit3ba283d9350783c038cc2844450f4938ad125f08 (patch)
tree8ba8ac306bbf45b0b30b85bd4db1557145e4c558 /docker/Dockerfile
parent1a32fc8cb914050ed9417b5c4c1c30d8b2778d8a (diff)
Upgrade bundled Qt from 6.9 to 6.10 via aqtinstall
NixOS/Arch users have Qt 6.10 system-wide, causing Qt_6.10 symbol errors when loading mobase.so against the bundled Qt 6.9. Switch Docker build to install Qt 6.10.2 from aqtinstall instead of Ubuntu's Qt 6.9 packages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile30
1 files changed, 23 insertions, 7 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index a8798dc..d197569 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -21,19 +21,35 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
liblz4-dev zlib1g-dev libzstd-dev libbz2-dev liblzma-dev \
libssl-dev libcurl4-openssl-dev \
libtomlplusplus-dev \
- # Qt 6
- qt6-base-dev qt6-base-dev-tools \
- qt6-webengine-dev \
- libqt6websockets6-dev \
- qt6-svg-dev qt6-svg-plugins \
- qt6-wayland \
+ # Qt 6 runtime deps (aqtinstall provides Qt 6.10 headers/tools/libs for build)
kde-style-breeze \
+ libgl-dev libopengl-dev libvulkan-dev libxkbcommon-dev libfontconfig1-dev \
+ libfreetype-dev libx11-dev libxext-dev libxfixes-dev \
+ libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev \
+ libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev \
+ libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \
+ libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \
+ libxcb-render-util0-dev libxcb-xinerama0-dev \
+ libxcb-xkb-dev libxkbcommon-x11-dev libatspi2.0-dev \
+ libwayland-dev \
# Python
- python3 python3-pyqt6 \
+ python3 python3-pip python3-pyqt6 \
# Misc
icoutils zip unzip \
&& rm -rf /var/lib/apt/lists/*
+# ── Qt 6.10 via aqtinstall ──
+RUN pip3 install --break-system-packages aqtinstall && \
+ aqt install-qt linux desktop 6.10.2 linux_gcc_64 \
+ -m qtwebsockets qtwaylandcompositor \
+ --outputdir /opt/qt6 && \
+ ls /opt/qt6/6.10.2/gcc_64/bin/qmake && \
+ (pip3 uninstall -y aqtinstall --break-system-packages 2>/dev/null || true)
+ENV Qt6_DIR=/opt/qt6/6.10.2/gcc_64
+ENV CMAKE_PREFIX_PATH="/opt/qt6/6.10.2/gcc_64:${CMAKE_PREFIX_PATH}"
+ENV PATH="/opt/qt6/6.10.2/gcc_64/bin:${PATH}"
+ENV LD_LIBRARY_PATH="/opt/qt6/6.10.2/gcc_64/lib:${LD_LIBRARY_PATH}"
+
# ── uv (Python package manager) ──
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/root/.local/bin:${PATH}"