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>
This commit is contained in:
2026-10-05 22:35:09 +02:00
co-authored by Claude Opus 5.5
parent 15623acd09
commit b823ff321e
4 changed files with 64 additions and 3 deletions
+16
View File
@@ -30,6 +30,14 @@ set(VRDASH_BUNDLE_PLUGINS
wayland-shell-integration/*.so wayland-graphics-integration-client/*.so
wayland-decoration-client/*.so xcbglintegrations/*.so)
# Qt WebEngine (bundled only if a dashboard needs it): its helper process, resources and
# locales. Cross builds point VRDASH_WEBENGINE_PROCESS at the target's QtWebEngineProcess
# (Debian can't install the arm64 one next to the host's; see docker/cross-arm64.Dockerfile).
set(VRDASH_WEBENGINE_PROCESS "" CACHE FILEPATH
"QtWebEngineProcess to bundle (default: the one of the Qt used for the build)")
# Locales shipped with WebEngine (the full set is about 35 MB).
set(VRDASH_WEBENGINE_LOCALES en-US de)
function(vrdash_bundle_qt)
get_property(targets GLOBAL PROPERTY VRDASH_DASHBOARD_TARGETS)
get_property(qml_dirs GLOBAL PROPERTY VRDASH_DASHBOARD_QML_DIRS)
@@ -52,6 +60,14 @@ function(vrdash_bundle_qt)
set(qt_libdir ${qt_prefix}/lib/${CMAKE_LIBRARY_ARCHITECTURE}) # Debian multiarch
endif()
# Used by the install script only if a bundled library is Qt WebEngine.
set(webengine_process ${VRDASH_WEBENGINE_PROCESS})
if(NOT webengine_process)
set(webengine_process ${QT6_INSTALL_PREFIX}/${QT6_INSTALL_LIBEXECS}/QtWebEngineProcess)
endif()
set(webengine_resources ${QT6_INSTALL_PREFIX}/${QT6_INSTALL_DATA}/resources)
set(webengine_locales ${QT6_INSTALL_PREFIX}/${QT6_INSTALL_TRANSLATIONS}/qtwebengine_locales)
# The regexes end up inside a quoted string in the generated script: escape backslashes.
string(REPLACE "\\" "\\\\" bundle_exclude "${VRDASH_BUNDLE_EXCLUDE}")