From 57531a9d0904c6a1afcf7064def98b75e8ddfd18 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Sun, 21 Jun 2026 15:09:15 -0400 Subject: [PATCH] depends(libxkbcommon): explicit xkb extension paths for cross + cache restore-keys libxkbcommon 1.13.1 meson.build adds empty pkgconfig vars when xkeyboard-config is absent from the cross sysroot (XKEYBOARD_CONFIG_ROOT='') while has_extensions_directories is true -> meson hard-errors at pkgconfig.generate. Pass non-empty -Dxkb-config-(un)versioned-extensions-path. Add restore-keys to all 4 depends cache restores: a busted exact key (any packages/* edit) now falls back to the newest prefix match, so make resumes from the partial built tree instead of rebuilding the static-Qt6 toolchain from scratch. --- .github/workflows/build.yml | 8 ++++++++ contrib/depends/packages/libxkbcommon.mk | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 82a8fbee..f21fd776 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -166,12 +166,16 @@ jobs: with: path: contrib/depends/sources key: depends-sources-${{ hashFiles('contrib/depends/packages/*') }} + restore-keys: | + depends-sources- - name: restore depends built cache (mingw) id: cache-built uses: actions/cache/restore@v4 with: path: contrib/depends/built key: depends-built-mingw32-${{ hashFiles('contrib/depends/packages/*', 'contrib/depends/hosts/*', 'contrib/depends/toolchain.cmake.in') }} + restore-keys: | + depends-built-mingw32- - name: build depends (static Qt6 + tor + boost + openssl for mingw) # -j2 not -j(nproc): the parallel static Qt6 compile OOMs the 16G runner at -j4. Slower but safe. run: make -C contrib/depends HOST="$HOST" -j2 @@ -276,12 +280,16 @@ jobs: with: path: contrib/depends/sources key: depends-sources-${{ hashFiles('contrib/depends/packages/*') }} + restore-keys: | + depends-sources- - name: restore depends built cache id: cache-built uses: actions/cache/restore@v4 with: path: contrib/depends/built key: depends-built-${{ matrix.host }}-${{ hashFiles('contrib/depends/packages/*', 'contrib/depends/hosts/*', 'contrib/depends/toolchain.cmake.in') }} + restore-keys: | + depends-built-${{ matrix.host }}- - name: build depends (static Qt6 + tor + boost + openssl) run: make -C contrib/depends HOST="$HOST" -j2 - name: save depends sources cache diff --git a/contrib/depends/packages/libxkbcommon.mk b/contrib/depends/packages/libxkbcommon.mk index 497dd412..ccd98e1b 100644 --- a/contrib/depends/packages/libxkbcommon.mk +++ b/contrib/depends/packages/libxkbcommon.mk @@ -19,7 +19,7 @@ define $(package)_preprocess_cmds endef define $(package)_config_cmds - meson setup --cross-file toolchain.txt build -Dxkb-config-root=/usr/share/X11/xkb -Dxkb-config-extra-path=/app/share/X11/xkb + meson setup --cross-file toolchain.txt build -Dxkb-config-root=/usr/share/X11/xkb -Dxkb-config-extra-path=/app/share/X11/xkb -Dxkb-config-unversioned-extensions-path=/usr/share/X11/xkb.d -Dxkb-config-versioned-extensions-path=/usr/share/X11/xkb.d endef define $(package)_build_cmds