@@ -5,14 +5,18 @@ FROM ubuntu:${OS_CODENAME}
55# Redeclare ARGs after FROM
66ARG OS_CODENAME
77ARG DEBIAN_FRONTEND=noninteractive
8- ARG QT_VERSION=5.15.2
9- ARG QT_MODULES=
8+ ARG QT_VERSION=6.9.0
9+ ARG QT_MODULES="-m qtmultimedia qtserialport"
1010ARG QT_HOST=linux
1111ARG QT_TARGET=desktop
12+ ARG QT_ARCH=linux_gcc_64
1213ARG QT_INSTALL_DIR=/opt/qt
1314ARG GCC_ARM_VERSION=14.2.rel1
1415ARG NODE_VERSION=20.x
1516
17+ ENV LANG=C.UTF-8
18+ ENV LC_ALL=C.UTF-8
19+
1620# Setup package repositories and install all dependencies in a single layer
1721RUN apt-get update && \
1822 apt-get install --yes --no-install-recommends software-properties-common gpg gpg-agent wget ca-certificates && \
@@ -49,8 +53,8 @@ RUN apt-get update && \
4953 nodejs \
5054 locales \
5155 # Install dependencies required by Qt libs
56+ libcups2 \
5257 libssl-dev \
53- gstreamer1.0-plugins-base \
5458 # linuxdeploy-plugin-qt requires libxcb1 and supporting libs
5559 awesome && \
5660 # Generate all required locales
@@ -91,18 +95,18 @@ ENV PATH=${QT_BASE_DIR}/bin:$PATH
9195ENV QT_PLUGIN_PATH=${QT_BASE_DIR}/plugins/
9296ENV QML_IMPORT_PATH=${QT_BASE_DIR}/qml/
9397ENV QML2_IMPORT_PATH=${QT_BASE_DIR}/qml/
94- ENV LD_LIBRARY_PATH=${QT_BASE_DIR}/lib:$LD_LIBRARY_PATH
95- ENV PKG_CONFIG_PATH=${QT_BASE_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
98+ ENV LD_LIBRARY_PATH=${QT_BASE_DIR}/lib
99+ ENV PKG_CONFIG_PATH=${QT_BASE_DIR}/lib/pkgconfig
96100
97- RUN uvx --no-cache --from aqtinstall aqt install-qt --outputdir ${QT_INSTALL_DIR} ${QT_HOST} ${QT_TARGET} ${QT_VERSION} ${QT_ARCH} ${QT_MODULES} && \
98- strip --remove-section=.note.ABI-tag ${QT_BASE_DIR}/lib/libQt5Core.so.${QT_VERSION}
101+ RUN uvx --no-cache --from aqtinstall aqt install-qt --outputdir ${QT_INSTALL_DIR} ${QT_HOST} ${QT_TARGET} ${QT_VERSION} ${QT_ARCH} ${QT_MODULES}
99102
100103# Install ARM toolchain
101104RUN wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu/${GCC_ARM_VERSION}/binrel/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz -O - \
102105 | tar -xJ -C /opt
103106
104107ENV PATH=/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi/bin/:${PATH}
105108ENV ASAN_OPTIONS="detect_leaks=0"
109+
106110# HINTS for cmake find_package
107111ENV LIBUSB1_ROOT_DIR=/usr/lib/x86_64-linux-gnu
108112ENV LIBSSL1_ROOT_DIR=/usr/lib/x86_64-linux-gnu
0 commit comments