From b7e50455adadba40126e0196a28f245aea55c941 Mon Sep 17 00:00:00 2001 From: "alexei.dolgolyov" Date: Mon, 1 Jun 2026 17:18:51 +0300 Subject: [PATCH] =?UTF-8?q?ci:=20fix=20Linux=20build=20=E2=80=94=20install?= =?UTF-8?q?=20libgirepository-2.0-dev=20for=20PyGObject?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PyGObject >= 3.52 dropped the standalone gobject-introspection girepository-1.0 dependency and now builds against girepository-2.0, which was merged into GLib 2.80. The linux extra pins PyGObject>=3.46 with no upper bound, so pip resolves the newest release (3.56.3) and meson aborts metadata generation with: Dependency 'girepository-2.0' is required but not found. because CI only installed the old libgirepository1.0-dev. Swap libgirepository1.0-dev -> libgirepository-2.0-dev (shipped by GLib 2.80 on the ubuntu-latest / 24.04 runner) across all three Linux pip-install paths so they stay in sync: - test.yml: the failing linux-smoke job. - release.yml: build-linux, which would otherwise ship a broken Linux tarball on the next tag. - build.yml: build-linux had no system-deps step at all; added the matching apt install so the manual artifact build works too. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitea/workflows/build.yml | 10 ++++++++++ .gitea/workflows/release.yml | 5 ++++- .gitea/workflows/test.yml | 5 ++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index e4240ad..06c32fc 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -60,6 +60,16 @@ jobs: with: python-version: '3.11' + - name: Install native deps for dbus-python + PyGObject + run: | + # PyGObject >= 3.52 builds against girepository-2.0 (merged into + # GLib 2.80), not the old standalone girepository-1.0. ubuntu-latest + # (24.04) ships it as libgirepository-2.0-dev. + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + libdbus-1-dev libglib2.0-dev pkg-config \ + libcairo2-dev libgirepository-2.0-dev + - name: Build Linux distribution run: | chmod +x build-dist-linux.sh diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index f582334..5d26b06 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -193,10 +193,13 @@ jobs: - name: Install native deps for dbus-python + PyGObject run: | + # PyGObject >= 3.52 builds against girepository-2.0 (merged into + # GLib 2.80), not the old standalone girepository-1.0. ubuntu-latest + # (24.04) ships it as libgirepository-2.0-dev. sudo apt-get update sudo apt-get install -y --no-install-recommends \ libdbus-1-dev libglib2.0-dev pkg-config \ - libcairo2-dev libgirepository1.0-dev + libcairo2-dev libgirepository-2.0-dev - name: Build Linux distribution run: | diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index ab008ed..cddd5e9 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -57,10 +57,13 @@ jobs: - name: Install Linux system deps for dbus-python + PyGObject run: | + # PyGObject >= 3.52 builds against girepository-2.0 (merged into + # GLib 2.80), not the old standalone girepository-1.0. ubuntu-latest + # (24.04) ships it as libgirepository-2.0-dev. sudo apt-get update sudo apt-get install -y --no-install-recommends \ libdbus-1-dev libglib2.0-dev pkg-config \ - libcairo2-dev libgirepository1.0-dev + libcairo2-dev libgirepository-2.0-dev - name: Install with linux extra run: |