Release 0.12.1: build under the repo manifest, stop tracking .sigil
sigil-audio could not build or test. Three separate causes:
alsa/asoundlib.hnot found. sokol_audio.h uses the ALSA backend on Linux and nothing here vendors it. The repo's manifest.scm already listed alsa-lib; the build simply was not being run under it. No manifest change was needed --guix shell -m manifest.scmwas.
- No dev-dependencies, so
sigil testrefused outright: a package with native code needs sigil-test and sigil-test-runner to build a harness.
- The suite then DIED rather than failed. Vendored libvorbis computes
((lo-1)<<16)at psy.c:319, which is(-1)<<16when lo is 0 -- undefined behaviour, and the toolchain traps it at RUNTIME, so the process panicked inside vorbis_analysis with no test result at all.-fno-sanitize=undefinedis scoped to the two vendored compile steps and NEVER to sigil-audio's own sources: this is upstream code we vendor unmodified, and the check is worth keeping everywhere we actually own the code.
Also stops tracking .sigil/deps/sigil-stdlib, a symlink whose content was an absolute path into this machine's dependency store. It changed on every relock, so it churned the diff while being meaningless to any other checkout. .sigil/ now ignored, matching the rest of the estate.
NOT CONVERTED TO CI, deliberately. Both test files register zero tests, so the runner prints "All tests passed" over 0 passed while reporting 2 registered no tests in yellow. Adding a pipeline would publish a green that asserts nothing. Held with sigil-dsp and vigil until sigil test --strict (t-907227).
Released because sigil-studio cannot build against the published tip: that commit predates the with-sigil-c-flags fix and fails on a missing sigil-internal.h -- the same defect fixed in sigil-tui v0.8.1.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P6mPymR1ZBRV1nuyDpBxDF
.gitignore | 1 +
.sigil/deps/sigil-stdlib | 1 -
package.sgl | 22 +++++++++++++++++-----
sigil.lock | 39 +++++++++++++++++++++++++++++++++------
4 files changed, 51 insertions(+), 12 deletions(-).gitignoremodified
build/.sigil/.sigil/deps/sigil-stdlibdeleted
/home/daviwil/.sigil/deps/codeberg-sigil-sigil-54f66e8ec446b65b75ab6f12454d2c0aa269f2c0/packages/sigil-stdlib No newline at end of filepackage.sglmodified
(step ctx)))))) (package name: "sigil-audio" version: "0.12.0" sigil: "^0.17" version: "0.12.1" sigil: "0.20" description: "Audio playback and streaming for Sigil" url: "https://codeberg.org/sigil/sigil-audio" license: "BSD-3-Clause" features: '(release cross windows))) dependencies: (list (from-git url: "codeberg:sigil/sigil" package: "sigil-stdlib" version: "^0.17")) (from-git url: "codeberg:sigil/sigil" package: "sigil-stdlib" version: "^0.20")) libraries: (list (library ((windows) '("-lole32" "-lwinmm" "-lksuser")) (else '()))))) 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")) tasks: (list (task name: 'build "-Wno-unused-function" "-Wno-unused-but-set-variable" "-Wno-sign-compare" "-Wno-strict-aliasing"))) "-Wno-strict-aliasing" ;; libvorbis shifts negative values (psy.c:319, ;; ((lo-1)<<16) with lo==0). That is UB in C and the ;; toolchain traps it at RUNTIME, so the suite died in ;; vorbis_analysis rather than failing a test. Upstream ;; code we vendor unmodified; scoped to this step only, ;; never to sigil-audio own sources. "-fno-sanitize=undefined"))) ;; Compile vendored libvorbis (full library + encoder + file ;; I/O). Upstream sources are byte-identical to the 1.3.7 "-Wno-unused-function" "-Wno-unused-but-set-variable" "-Wno-sign-compare" "-Wno-strict-aliasing")))) "-Wno-strict-aliasing" "-fno-sanitize=undefined")))) ;; sigil-audio's own C sources. (skip-on-wasm (compile-c-sourcessigil.lockmodified
(lock (package name: "sigil-lib" url: "codeberg:sigil/sigil" ref: "^0.17" sha: "61ba6501f4ff5d1fd534c13c4a3494b69cc88412" ref: ">=0.20, <1.0" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-lib" version: "0.17.1") version: "0.20.3") (package name: "sigil-stdlib" url: "codeberg:sigil/sigil" ref: "^0.17" sha: "61ba6501f4ff5d1fd534c13c4a3494b69cc88412" ref: "^0.20" sha: "2e452e2f641fcf63be4e88a2748b34791543be8f" package-selector: "sigil-stdlib" version: "0.17.1") 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-json" url: "codeberg:sigil/sigil-json" ref: "^0.16.0" sha: "55c9e74712b5f79b45d41c65cfe0aef2c8f7e155" version: "0.16.0") (package name: "sigil-crypto" url: "codeberg:sigil/sigil-crypto" ref: "^0.16.0" sha: "debba4462b7ff4de143db9e0792b8606fdc455bc" version: "0.16.5") (package name: "sigil-sqlite" url: "codeberg:sigil/sigil-sqlite" ref: "^0.16.0" sha: "569ef1063dda8f5989968644af31fc09c64b4bfe" version: "0.16.3"))