Commitc579c823Recorded2 Sep 2026Repositorysigil-cairo

Move the guix package list into manifest.scm

Message

The CI config carried its native dependencies inline in the shell command. That put the package set somewhere it could not be reviewed as code, reused locally, or changed without editing a quoted string inside a pipeline definition.

manifest.scm is already the estate convention -- 71 repos carry one -- and this repo was simply missing it. The pipeline now runs guix shell -m manifest.scm, so a developer reproduces CI's environment with the same file rather than by copying a command out of the config.

Verified by running the exact command the config now runs: 17 passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P6mPymR1ZBRV1nuyDpBxDF

Changed
 .kiln/ci.sgv | 2 +-
 manifest.scm | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
Diff
.kiln/ci.sgvmodified
@@ -8,5 +8,5 @@
8
;; The FFI dlopens libcairo by soname, so the system library must be on
9
;; the dynamic linker path. `guix shell` populates the profile but does
10
;; NOT set LD_LIBRARY_PATH, so both halves are needed.
−11
(shell name: test "guix shell cairo -- sh -c 'LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib sigil test'")
+11
(shell name: test "guix shell -m manifest.scm -- sh -c 'LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib sigil test'")
12
]))
manifest.scmadded
@@ -0,0 +1,7 @@
+1
;; sigil-cairo development / CI environment
+2
;; Use with: guix shell -m manifest.scm
+3
;;
+4
;; cairo is NOT vendored -- the bindings dlopen the system library, so it
+5
;; must be present to build and to run the suite.
+6
(specifications->manifest
+7
(list "cairo"))