From d2295b3b68fdbe8f688f0937e7b29b02fd41aff4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 12:15:52 +0000 Subject: [PATCH 1/3] Initial plan From 8412ba8a906295c19c01373950c60bd08e8f50e3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 12:17:49 +0000 Subject: [PATCH 2/3] fix: add pkg-config and libcairo2-dev for pycairo source builds, add test Co-authored-by: lurtz <727209+lurtz@users.noreply.github.com> --- src/s-core-devcontainer/.devcontainer/s-core-local/install.sh | 3 +++ .../.devcontainer/s-core-local/tests/test_default.sh | 3 +++ .../.devcontainer/s-core-local/versions.yaml | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/s-core-devcontainer/.devcontainer/s-core-local/install.sh b/src/s-core-devcontainer/.devcontainer/s-core-local/install.sh index 17aff46..44af67f 100755 --- a/src/s-core-devcontainer/.devcontainer/s-core-local/install.sh +++ b/src/s-core-devcontainer/.devcontainer/s-core-local/install.sh @@ -91,6 +91,9 @@ su $(ls /home) -c "uv tool install pytest@\"${pytest_version}\"" # sshpass apt-get install -y sshpass="${sshpass_version}*" +# pycairo build dependencies (pkg-config + cairo headers needed when pip builds pycairo from source) +apt-get install -y pkg-config="${pkg_config_version}*" libcairo2-dev="${libcairo2_dev_version}*" + # additional developer tools apt-get install -y gdb="${gdb_version}*" diff --git a/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh b/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh index 2727f66..990db96 100755 --- a/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh +++ b/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh @@ -75,6 +75,9 @@ check "validate yamlfmt is working and has the correct version" bash -c "yamlfmt check "validate uv is working and has the correct version" bash -c "uv --version | grep '${uv_lockfile_version}'" check "validate uvx is working and has the correct version" bash -c "uvx --version | grep '${uvx_lockfile_version}'" +# pycairo build from source (requires pkg-config and libcairo2-dev) +check "validate pycairo can be built and installed from source" bash -c "pip install --break-system-packages pycairo==1.29.0" + # additional developer tools check "validate gdb is working and has the correct version" bash -c "gdb --version | grep '${gdb_version}'" check "validate gh is working and has the correct version" bash -c "gh --version | grep '${gh_version}'" diff --git a/src/s-core-devcontainer/.devcontainer/s-core-local/versions.yaml b/src/s-core-devcontainer/.devcontainer/s-core-local/versions.yaml index c9ab8ec..b4d2a18 100644 --- a/src/s-core-devcontainer/.devcontainer/s-core-local/versions.yaml +++ b/src/s-core-devcontainer/.devcontainer/s-core-local/versions.yaml @@ -51,3 +51,7 @@ ripgrep: version: 14.1.0 lcov: version: 2.0 +pkg_config: + version: 1.8.1 +libcairo2_dev: + version: 1.18.0 From 4a8b180977443dadf1e9e081c857d3de24438082 Mon Sep 17 00:00:00 2001 From: lurtz <727209+lurtz@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:11:22 +0200 Subject: [PATCH 3/3] test: validate pkg-config version from versions.yaml like gdb --- .../.devcontainer/s-core-local/tests/test_default.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh b/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh index 990db96..40b446e 100755 --- a/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh +++ b/src/s-core-devcontainer/.devcontainer/s-core-local/tests/test_default.sh @@ -80,6 +80,7 @@ check "validate pycairo can be built and installed from source" bash -c "pip ins # additional developer tools check "validate gdb is working and has the correct version" bash -c "gdb --version | grep '${gdb_version}'" +check "validate pkg-config is working and has the correct version" bash -c "pkg-config --version | grep '${pkg_config_version}'" check "validate gh is working and has the correct version" bash -c "gh --version | grep '${gh_version}'" check "validate valgrind is working and has the correct version" bash -c "valgrind --version | grep '${valgrind_version}'" check "validate ripgrep is working and has the correct version" bash -c "rg --version | grep '${ripgrep_version}'"