Relock, add manifest.scm, add the standard pipeline
sigil-studio could not build. The cause was NOT its own code and NOT a missing release: it pinned ^0.7.0 for sigil-app, sigil-graphics and sigil-audio, four to five minor versions behind. Those ranges resolve to commits from the "Migrate to 0.9.1 transitive deps" era, which predate the with-sigil-c-flags fix and therefore fail on a missing sigil-internal.h -- the same defect fixed in sigil-tui v0.8.1.
Verified rather than assumed: sigil-app v0.9.0, sigil-graphics v0.11.1 and sigil-audio v0.12.0 ALL already carry the fix. Repinning to ^0.9, ^0.11 and ^0.12 is the entire build fix.
Adds manifest.scm. sigil-app and sigil-audio vendor sokol but not the platform libraries it needs -- mesa for GL/gl.h, libx11/libxi/libxcursor for the X11 backend (sokol_app.h includes X11/extensions/XInput2.h directly), alsa-lib for sokol_audio. Kept in the repo rather than inline in the CI command so the same environment is reproducible locally.
Also adds dev-dependencies, without which sigil test refuses to build a harness for a package with native code.
THE TEST STEP WILL BE RED, for a reason no repo-side change can fix. The suite opens a real window: sokol_app reports LINUX_X11_QUERY_SYSTEM_DPI_FAILED and then sokol_gfx aborts on Assertion _sg.valid failed in sg_make_image. A virtual display is not sufficient -- tried Xvfb at 1280x1024x24 with LIBGL_ALWAYS_SOFTWARE=1 and the same assertion fires, so sokol_gfx is never validly set up rather than merely lacking an X server. Same class of blocker as slate, and it wants the same answer: a worker image that can present a GL context.
Deps and build coverage is worth having on its own here -- the pin staleness above is exactly what those two steps catch.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P6mPymR1ZBRV1nuyDpBxDF
.gitignore | 1 +
.kiln/ci.sgv | 9 +++++++++
manifest.scm | 18 ++++++++++++++++++
package.sgl | 13 +++++++++----
sigil.lock | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
5 files changed, 155 insertions(+), 21 deletions(-).gitignoremodified
build/.sigil/.kiln/ci.sgvadded
(pipeline ci on: #[ (push) (manual) ] (job ci steps: #[ (shell name: deps "guix shell -m manifest.scm -- sh -c 'CPATH=$GUIX_ENVIRONMENT/include LIBRARY_PATH=$GUIX_ENVIRONMENT/lib sigil deps install'") (shell name: build "guix shell -m manifest.scm -- sh -c 'CPATH=$GUIX_ENVIRONMENT/include LIBRARY_PATH=$GUIX_ENVIRONMENT/lib sigil build'") (shell name: test "guix shell -m manifest.scm -- sh -c 'CPATH=$GUIX_ENVIRONMENT/include LIBRARY_PATH=$GUIX_ENVIRONMENT/lib LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib sigil test'") ]))manifest.scmadded
;; sigil-studio development / CI environment;; Use with: guix shell -m manifest.scm;;;; sigil-studio pulls in sigil-app and sigil-audio, both of which vendor;; sokol but NOT the platform libraries sokol needs:;;;; mesa GL/gl.h, for sokol_app's GL backend;; libx11 libxi libxcursor the X11 backend; sokol_app.h includes;; X11/extensions/XInput2.h directly;; alsa-lib sokol_audio's ALSA backend;;;; None of these are vendored, so they must come from the environment.(specifications->manifest (list "mesa" "libx11" "libxi" "libxcursor" "alsa-lib"))package.sglmodified
(package name: "sigil-studio" version: "0.7.0" sigil: "0.20" description: "Multimedia development environment for Sigil" url: "https://codeberg.org/sigil/sigil-studio" license: "BSD-3-Clause" dependencies: (list ;; Core CLI (brings in sigil-run, sigil-stdlib, and all CLI deps) (from-git url: "codeberg:sigil/sigil" package: "sigil-cli" version: "^0.9.0") (from-git url: "codeberg:sigil/sigil" package: "sigil-cli" version: "^0.20") ;; Multimedia packages (from-git url: "codeberg:sigil/sigil-app" version: "^0.8.0") (from-git url: "codeberg:sigil/sigil-graphics" version: "^0.7.0") (from-git url: "codeberg:sigil/sigil-audio" version: "^0.7.0"))) (from-git url: "codeberg:sigil/sigil-app" version: "^0.9") (from-git url: "codeberg:sigil/sigil-graphics" version: "^0.11") (from-git url: "codeberg:sigil/sigil-audio" version: "^0.12")) dev-dependencies: (list (from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: "^0.20") (from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: "^0.20")))sigil.lockmodified
;; Auto-generated by sigil deps install. Do not edit.(lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil" ref: ">=0.20, <1.0" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-stdlib" version: "0.20.3") (package name: "sigil-cli" url: "codeberg:sigil/sigil" ref: "^0.9.0" sha: "962b7e2788e982264792032d3ba31ed3c237334e" ref: "^0.20" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-cli" version: "0.9.1") (package name: "sigil-stdlib" version: "0.20.3") (package name: "sigil-lib" url: "codeberg:sigil/sigil" ref: "^0.9.0" sha: "962b7e2788e982264792032d3ba31ed3c237334e" package-selector: "sigil-stdlib" version: "0.9.1") ref: "^0.19" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-lib" version: "0.20.3") (package name: "sigil-args" url: "codeberg:sigil/sigil" ref: "^0.19" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-args" version: "0.20.3") (package name: "sigil-test" url: "codeberg:sigil/sigil" ref: "^0.20" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-test" version: "0.20.3") (package name: "sigil-test-runner" url: "codeberg:sigil/sigil" ref: "^0.20" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-test-runner" version: "0.20.3") (package name: "sigil-format" url: "codeberg:sigil/sigil" ref: "^0.19" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-format" version: "0.20.3") (package name: "sigil-repl" url: "codeberg:sigil/sigil-repl" ref: "^0.16.0" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" version: "0.20.3") (package name: "sigil-help" url: "codeberg:sigil/sigil" ref: "^0.19" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-help" version: "0.20.3") (package name: "sigil-app" url: "codeberg:sigil/sigil-app" ref: "^0.8.0" sha: "fa7bf1338d32ae72444bccb48eebc0fe9c5b3204" version: "0.8.1") ref: "^0.9" sha: "834798443a93ad1774807aaf94b5d5e506597285" version: "0.9.0") (package name: "sigil-graphics" url: "codeberg:sigil/sigil-graphics" ref: "^0.7.0" sha: "cffe3ce7c4767c36c343f326d7b06e8779e1dd58" version: "0.7.0") ref: "^0.11" sha: "9e5b682a14efd78c3fab1cd3c4758fa4e45c014d" version: "0.11.1") (package name: "sigil-audio" url: "codeberg:sigil/sigil-audio" ref: "^0.7.0" sha: "2d7b57821cb06201d11473a17fd23d0c10f47a1f" version: "0.7.0") ref: "^0.12" sha: "a925d966c69b6ef491b4a43c0844e53ae89b7165" version: "0.12.1") (package name: "sigil-json" url: "codeberg:sigil/sigil-json" ref: "^0.16.0" sha: "55c9e74712b5f79b45d41c65cfe0aef2c8f7e155" version: "0.16.0") (package name: "sigil-log" url: "codeberg:sigil/sigil-log" ref: "^0.16.0" sha: "56e4fc5a52dc370c037ef14502bb8d6d2876dc53" version: "0.16.0") (package name: "sigil-nrepl" url: "codeberg:sigil/sigil-nrepl" ref: "^0.16.0" sha: "e5618482fb4adb2ed3851bef980bef91d3ad2ff7" version: "0.16.2") (package name: "sigil-http" url: "codeberg:sigil/sigil-http" ref: "^0.16.0" sha: "c24a14cabdb5ceed6273d7a6c1004baee07d69a0" version: "0.16.7") (package name: "sigil-tls" url: "codeberg:sigil/sigil-tls" ref: "^0.16.0" sha: "4cde885f8bbb15b1457b0293a5b9fa7d292cfc46" version: "0.16.6") (package name: "sigil-ffi" url: "codeberg:sigil/sigil-ffi" ref: "^0.16.0" sha: "43283237fae5abdba324769ad4a7a2baf694e660" version: "0.16.3") (package name: "sigil-sqlite" url: "codeberg:sigil/sigil-sqlite" ref: "^0.16.0" sha: "569ef1063dda8f5989968644af31fc09c64b4bfe" version: "0.16.3") (package name: "sigil-mcp" url: "codeberg:sigil/sigil-mcp" sha: "52d7e90e6d718b72a886dfb74e774e6cf0845fd7" version: "0.16.4") (package name: "sigil-lsp" url: "codeberg:sigil/sigil-lsp" ref: "^0.16.0" sha: "323f1caa792223cdad01d73e6e09b5f34a66250f" version: "0.16.2") (package name: "sigil-crypto" url: "codeberg:sigil/sigil-crypto" ref: "^0.16.0" sha: "debba4462b7ff4de143db9e0792b8606fdc455bc" version: "0.16.5") (package name: "sigil-wasm-gles3" url: "codeberg:sigil/sigil" ref: "^0.17" sha: "070f133a3524142b4febfd7c287385186b616252" package-selector: "sigil-wasm-gles3" version: "0.17.20") (package name: "sigil-socket" url: "codeberg:sigil/sigil-socket" ref: "^0.16.0" sha: "6b9e36eb4d4a944b463e5f6826bd711186ba6710" version: "0.16.0"))