fix(ci): declare fontconfig gperf generator

This commit is contained in:
4gray committed 2026-07-17 22:56:47 +02:00
1 parent c3a8694036
commit ee4567696a
6 files changed
+22 -2

No files matched your search

+2 -1
View File
@@ -35,7 +35,7 @@ jobs:
sudo apt-get update
{
apt-cache policy \
binutils build-essential cmake curl git \
binutils build-essential cmake curl git gperf \
libasound2-dev libdrm-dev libegl-dev libgbm-dev \
libgl-dev libpulse-dev libva-dev make nasm \
ninja-build patchelf perl pkg-config python3-pip \
@@ -70,6 +70,7 @@ jobs:
cmake \
curl \
git \
gperf \
libasound2-dev \
libdrm-dev \
libegl-dev \
+2 -1
View File
@@ -84,7 +84,8 @@ pnpm embedded-mpv:stage-runtime -- linux x64 /tmp/linux-prefix
The Linux builder runs only on Linux x64. It requires the tool versions and
system development interfaces declared in `build-linux-runtime.cjs`, including
Meson 1.6 or newer, Ninja, CMake, NASM, pkg-config, patchelf, and `readelf`.
Meson 1.6 or newer, gperf 3.1 or newer, Ninja, CMake, NASM, pkg-config,
patchelf, and `readelf`.
It builds into an owned staging directory and publishes atomically, so it will
not delete or overwrite an arbitrary destination.
@@ -427,6 +427,7 @@ const REQUIRED_TOOLS = Object.freeze([
'cmake',
'curl',
'git',
'gperf',
'make',
'meson',
'nasm',
@@ -444,6 +445,7 @@ const MINIMUM_TOOL_VERSIONS = Object.freeze({
cmake: '3.16.0',
curl: '7.71.0',
git: '2.30.0',
gperf: '3.1.0',
make: '4.0.0',
meson: '1.6.0',
nasm: '2.15.05',
@@ -699,6 +699,7 @@ function collectToolVersions(context) {
cmake: ['--version'],
curl: ['--version'],
git: ['--version'],
gperf: ['--version'],
make: ['--version'],
meson: ['--version'],
nasm: ['-v'],
@@ -705,6 +705,7 @@ test('requires ELF patching and inspection tools in addition to the build toolch
'cmake',
'curl',
'git',
'gperf',
'make',
'meson',
'nasm',
@@ -725,6 +726,7 @@ test('preflights every required tool against a supported minimum version', () =>
);
assert.equal(MINIMUM_TOOL_VERSIONS.meson, '1.6.0');
assert.equal(MINIMUM_TOOL_VERSIONS.nasm, '2.15.05');
assert.equal(MINIMUM_TOOL_VERSIONS.gperf, '3.1.0');
const supportedVersions = Object.fromEntries(
REQUIRED_TOOLS.map((tool) => [
@@ -742,6 +744,7 @@ test('preflights every required tool against a supported minimum version', () =>
);
for (const [tool, oldVersion] of [
['gperf', 'GNU gperf 3.0.4'],
['meson', 'meson 1.5.9'],
['nasm', 'NASM version 2.15.04'],
]) {
@@ -273,6 +273,18 @@ test('Linux CI builds one cached source runtime and packages three isolated prof
assert.match(buildWorkflow, /sourceSha256[\s\S]*source-index\.json/);
});
test('Linux runtime toolchain installs fontconfig generators without network wraps', () => {
const cacheKeyStep = workflowStep(
'Resolve Linux runtime toolchain cache key'
);
const installStep = workflowStep(
'Install pinned Linux runtime build dependencies'
);
assert.match(cacheKeyStep, /\bapt-cache policy[\s\S]*\bgperf\b/);
assert.match(installStep, /^\s+gperf\s+\\$/m);
});
test('Linux CI verifies every package family and exercises intended environments', () => {
for (const suffix of [
'AppImage',