Files
FrameAssistant/docker/cross-arm64.Dockerfile
T
matzmanandClaude Opus 5.5 b823ff321e Bundled builds: ship Qt WebEngine (helper process, resources)
When a bundled library is Qt WebEngine, the bundler also installs
QtWebEngineProcess (plus its libraries) to libexec/, the resources and
the en-US/de locales, and points qt.conf at them. The cross image unpacks
the arm64 QtWebEngineProcess (its package can't be co-installed with the
amd64 one). Experiment for DSH-1: the Frame's system WebEngine (6.7.0,
built against FFmpeg 6) can't be loaded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 22:35:09 +02:00

30 lines
1.6 KiB
Docker

# Cross-compilation environment: x86_64 host tools + aarch64 target libraries via Debian
# multiarch. The compiler runs natively (no QEMU); Qt's host tools (moc, rcc, qmlcachegen …)
# are the amd64 builds, target Qt libraries are the arm64 builds.
FROM debian:trixie
ENV LANG=C.UTF-8
RUN dpkg --add-architecture arm64 \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates cmake ninja-build pkgconf file patchelf \
g++-aarch64-linux-gnu binutils-aarch64-linux-gnu \
qt6-base-dev qt6-base-dev-tools qt6-declarative-dev qt6-declarative-dev-tools \
qt6-base-dev:arm64 qt6-declarative-dev:arm64 \
libgl-dev:arm64 libegl-dev:arm64 libvulkan-dev:arm64 libxkbcommon-dev:arm64 \
qml6-module-qtquick:arm64 qml6-module-qtquick-controls:arm64 \
qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-templates:arm64 \
qml6-module-qtqml-workerscript:arm64 qml6-module-qtquick-window:arm64 \
qt6-qpa-plugins:arm64 qt6-wayland:arm64 \
qt6-webengine-dev:arm64 qml6-module-qtwebengine:arm64 \
&& rm -rf /var/lib/apt/lists/*
# Qt WebEngine's helper process for arm64 (bundled builds): its package is Multi-Arch: foreign
# and can't be installed next to the amd64 one, so unpack it into its own directory.
RUN apt-get update \
&& cd /tmp && apt-get download libqt6webenginecore6-bin:arm64 \
&& dpkg-deb -x libqt6webenginecore6-bin_*_arm64.deb /opt/qt6-arm64 \
&& rm -f libqt6webenginecore6-bin_*_arm64.deb && rm -rf /var/lib/apt/lists/* \
&& test -x /opt/qt6-arm64/usr/lib/qt6/libexec/QtWebEngineProcess