diff --git a/.github/cspell.json b/.github/cspell.json index 6bc09aa..91833ce 100644 --- a/.github/cspell.json +++ b/.github/cspell.json @@ -46,6 +46,7 @@ "libxkbcommon", "dlopens", "gstreamer", + "hwdata", "pipewire", "sdbus", "waypp", diff --git a/lib/src/cross/dockerfile_emitter.dart b/lib/src/cross/dockerfile_emitter.dart index 4886876..5e4a593 100644 --- a/lib/src/cross/dockerfile_emitter.dart +++ b/lib/src/cross/dockerfile_emitter.dart @@ -50,10 +50,11 @@ FROM $fromImage # Build tooling: cmake/ninja/meson/pkg-config + the embedder's host codegen # (wayland-scanner via libwayland-bin; git/curl for the engine-header fetch). # build-essential gives meson a native (build-machine) compiler — required to -# configure even a cross build when rebuilding `augment` libs (libdisplay-info). +# configure even a cross build when rebuilding `augment` libs (libdisplay-info, +# which also reads hwdata's /usr/share/hwdata/pnp.ids at build time). RUN apt-get update \\ && apt-get install -y --no-install-recommends \\ - cmake ninja-build meson build-essential pkg-config \\ + cmake ninja-build meson build-essential pkg-config hwdata \\ tar xz-utils rsync ca-certificates libwayland-bin git curl \\ && rm -rf /var/lib/apt/lists/* ENV FLUTTER_WORKSPACE=$workspace diff --git a/test/src/cross/dockerfile_emitter_test.dart b/test/src/cross/dockerfile_emitter_test.dart index 35bb6ec..6aad2aa 100644 --- a/test/src/cross/dockerfile_emitter_test.dart +++ b/test/src/cross/dockerfile_emitter_test.dart @@ -23,6 +23,7 @@ void main() { expect(df, contains('ninja-build')); expect(df, contains('meson')); // builds augment libs (libdisplay-info) expect(df, contains('build-essential')); // native cc for meson configure + expect(df, contains('hwdata')); // libdisplay-info build reads pnp.ids expect(df, contains('libwayland-bin')); // wayland-scanner for wayland-egl expect(df, contains('FROM ${ToolchainImage.defaultFrom}')); expect(df, contains('emb.triple="aarch64-none-linux-gnu"'));