# Prebuilt build image for the release validation-scope branch # (Ubuntu 26.04 + Qt6 + all dependencies for the legatus release build). # # Built by new_docker_build.sh --build-prebuilt-image, which passes the # package list and Qt settings as build args (see build_prebuilt_image()). FROM ubuntu:26.04 ENV DEBIAN_FRONTEND=noninteractive ARG APT_PACKAGES ARG QT_VERSION=6.10.2 ARG QT_ARCH=linux_gcc_64 ARG QT_BASE_DIR=/opt/Qt RUN apt-get update -qq && \ apt-get install -y -qq \ ${APT_PACKAGES} \ libqt6svg6-dev \ libgtest-dev \ libgmock-dev \ python3-pip && \ rm -rf /var/lib/apt/lists/* # Install Qt6 packages via aqtinstall RUN pip3 install --break-system-packages --quiet aqtinstall && \ aqt install-qt linux desktop ${QT_VERSION} ${QT_ARCH} \ -m qtmultimedia qtserialport qtimageformats qtwebsockets qtwebengine \ qtpdf qtwebview qt5compat qtwebchannel qtpositioning qtlocation qtsensors \ --outputdir ${QT_BASE_DIR} && \ rm -rf /root/.cache/Aqt # Install KDReports from source (apt package not available in Ubuntu 22.04/26.04) # Try apt install first (will fail), then build from KDAB GitHub mirror RUN apt-get install -y -qq libkdreports-dev 2>/dev/null || \ (git clone --depth 1 https://github.com/KDAB/KDReports.git /tmp/KDReports && \ cd /tmp/KDReports && \ mkdir build && cd build && \ cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_PREFIX_PATH=${QT_BASE_DIR} .. && \ make -j$(nproc) && \ make install && \ cd / && rm -rf /tmp/KDReports) # Legacy sources include RUN ln -sfn KDReports-qt6 /usr/local/include/KDReports CMD ["/bin/bash"]