From 0d9565eac9bb111a272624363f9bd4a9066a96b0 Mon Sep 17 00:00:00 2001 From: Matthew Jackson <1085847+MattJackson@users.noreply.github.com> Date: Thu, 24 Sep 2026 20:37:35 -0700 Subject: [PATCH] ci(consumers): install libgtk-4-dev so the freemkv consumer build resolves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The freemkv 1.7.6 Linux target compiles a GTK4 + libadwaita desktop shell, so this job's downstream `cargo test`/`cargo check` on freemkv hits `gtk4-sys`/`glib-sys` pkg-config probes that fail on a stock ubuntu runner. Adds the apt-get step alongside the existing sibling checkout, mirroring the fix in freemkv's own ci.yml `cli-linux` job. Kept local (not in the shared reusable checkout action) — only `freemkv` links against GTK; adding the deps to every downstream consumer would tax the six that don't. --- .github/workflows/ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 22f9ec76..53b7b3e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -214,6 +214,16 @@ jobs: freemkv-i18n = { path = "../freemkv-i18n" } EOF done + # Since freemkv 1.7.6 the `freemkv` consumer's Linux target compiles a + # GTK4 + libadwaita desktop shell, so `cargo test` on it needs the + # pkg-config dev headers the `gtk4-sys`/`glib-sys` build.rs scripts + # probe. Kept local (not in the shared reusable) — only freemkv links + # against GTK; adding the deps to every consumer would tax the six + # that don't. + - name: Install GTK4 + libadwaita development headers (for freemkv) + run: | + sudo apt-get update + sudo apt-get install -y libgtk-4-dev libadwaita-1-dev build-essential # Dependents track the highest supported Rust — build on stable so this job # satisfies the highest dependent floor (the library's own lower MSRV, which # the `test` job verifies, cannot compile them).