[Guix packaging] Sil #512

Open
opened 2026-08-24 17:33:32 +00:00 by htayj · 1 comment
htayj commented 2026-08-24 17:33:32 +00:00 (Migrated from github.com)

Candidate

Scope

Package the independently playable roguelike variant from source. The canonical repository, latest stable release, source hash, complete dependency closure, and relationship to parent games or sibling forks must be established before implementation. Do not substitute an opaque prebuilt binary.

Research checklist

  • Identify the canonical maintained source repository and immutable release/commit.
  • Verify the exact FOSS license for code and every installed font, tile, sound, map, documentation, and bundled dependency.
  • Check GNU Guix and the channel audit set for an equivalent same-upstream package.
  • Determine the offline build system and source closure, including submodules or language registries.
  • Identify updater, telemetry, runtime download, mutable-state, and network behavior that needs Guix integration.

Acceptance checks

  • guix lint -L . <package> has no package-specific findings.
  • guix build -L . --no-grafts <package> succeeds without network access or opaque binaries.
  • Upstream tests run where available, and guix build -L . --no-grafts --check <package> verifies reproducibility.
  • A fresh HOME/XDG smoke test starts a real local game, exercises meaningful gameplay or save/load behavior, and proves no store writes.
  • Installed license and third-party notices cover the shipped closure and assets.

Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-24T17:33:32Z.

## Candidate - Project: Sil - Candidate upstream/homepage: https://github.com/sil-quirk/sil - Discovery evidence: [Variant catalogs](https://www.roguebasin.com/index.php/Category:Angband_variants) - Reported license: NOASSERTION - License status: needs authoritative upstream verification before packaging ## Scope Package the independently playable roguelike variant from source. The canonical repository, latest stable release, source hash, complete dependency closure, and relationship to parent games or sibling forks must be established before implementation. Do not substitute an opaque prebuilt binary. ## Research checklist - Identify the canonical maintained source repository and immutable release/commit. - Verify the exact FOSS license for code and every installed font, tile, sound, map, documentation, and bundled dependency. - Check GNU Guix and the channel audit set for an equivalent same-upstream package. - Determine the offline build system and source closure, including submodules or language registries. - Identify updater, telemetry, runtime download, mutable-state, and network behavior that needs Guix integration. ## Acceptance checks - `guix lint -L . <package>` has no package-specific findings. - `guix build -L . --no-grafts <package>` succeeds without network access or opaque binaries. - Upstream tests run where available, and `guix build -L . --no-grafts --check <package>` verifies reproducibility. - A fresh HOME/XDG smoke test starts a real local game, exercises meaningful gameplay or save/load behavior, and proves no store writes. - Installed license and third-party notices cover the shipped closure and assets. --- Imported from [GitHub issue/PR](https://github.com/htayj/guix-channel/issues/512). Originally posted by [htayj](https://github.com/htayj) on 2026-08-24T17:33:32Z.
htayj commented 2026-09-12 16:18:47 +00:00 (Migrated from github.com)

Goocastle recorded disposition: blocked.

Canonical maintained upstream is https://github.com/sil-quirk/sil-q; the issue's https://github.com/sil-quirk/sil URL is stale. The current official stable target is Sil-Q v1.5.0 (2022-01-03), immutable commit 09a53ab8b167660742add9ed7842b4c2301737fd (release page: https://github.com/sil-quirk/sil-q/releases/tag/v1.5.0). The pinned repository is a C project with no submodule metadata; authoritative README.md lines 30-52 and src/Makefile.std lines 141-186 describe a source build using make, gcc, and the GCU curses interface (the default also links X11), while src/Makefile.std lines 250-266 installs the resulting sil executable. No equivalent sil or sil-q definition was found in the local tay/packages channel or PROJECTS.md. No Guix daemon is available in this phase, so no daemon-backed build was attempted; source metadata establishes feasible inputs of gcc-toolchain, make, and ncurses/curses, with a wrapper needing ANGBAND_PATH or -d paths for read-only lib data and isolated writable save/user directories. Runtime source exposes only interactive options (-n, -u, -m, -d, etc.); it has no documented noninteractive/headless gameplay or deterministic smoke invocation, so a later implementation would need a package-owned safe runtime contract and a PTY smoke proof. Legal delivery is blocked at the source-origin level: LICENSE.md at this exact revision offers GPLv2 or the Angband licence with exceptions, and identifies tiles/fonts, but explicitly states that lib/xtra/sound/*.wav (20 bundled files) are “freeware, whatever that means”; it supplies no holder, license text, or redistribution grant. The same file's font notice also refers to a LABELS file absent from the pinned tree. A Guix origin fetches the complete repository archive, so simply omitting sounds or optional graphics from the installed output would not establish lawful redistribution of the fetched source. Unblock only after upstream supplies a clear, attributable redistribution license for every bundled WAV (and the missing exact font notices/LABELS evidence), then re-audit the fixed archive and define the wrapper's deterministic gameplay/save-load smoke contract before implementation.


Imported from GitHub comment. Originally posted by htayj on 2026-09-12T16:18:47Z.

<!-- goocastle-disposition:sequential-reviewer:512:1:blocked --> Goocastle recorded disposition: blocked. Canonical maintained upstream is https://github.com/sil-quirk/sil-q; the issue's https://github.com/sil-quirk/sil URL is stale. The current official stable target is Sil-Q v1.5.0 (2022-01-03), immutable commit 09a53ab8b167660742add9ed7842b4c2301737fd (release page: https://github.com/sil-quirk/sil-q/releases/tag/v1.5.0). The pinned repository is a C project with no submodule metadata; authoritative README.md lines 30-52 and src/Makefile.std lines 141-186 describe a source build using make, gcc, and the GCU curses interface (the default also links X11), while src/Makefile.std lines 250-266 installs the resulting sil executable. No equivalent sil or sil-q definition was found in the local tay/packages channel or PROJECTS.md. No Guix daemon is available in this phase, so no daemon-backed build was attempted; source metadata establishes feasible inputs of gcc-toolchain, make, and ncurses/curses, with a wrapper needing ANGBAND_PATH or -d paths for read-only lib data and isolated writable save/user directories. Runtime source exposes only interactive options (-n, -u, -m, -d, etc.); it has no documented noninteractive/headless gameplay or deterministic smoke invocation, so a later implementation would need a package-owned safe runtime contract and a PTY smoke proof. Legal delivery is blocked at the source-origin level: LICENSE.md at this exact revision offers GPLv2 or the Angband licence with exceptions, and identifies tiles/fonts, but explicitly states that lib/xtra/sound/*.wav (20 bundled files) are “freeware, whatever that means”; it supplies no holder, license text, or redistribution grant. The same file's font notice also refers to a LABELS file absent from the pinned tree. A Guix origin fetches the complete repository archive, so simply omitting sounds or optional graphics from the installed output would not establish lawful redistribution of the fetched source. Unblock only after upstream supplies a clear, attributable redistribution license for every bundled WAV (and the missing exact font notices/LABELS evidence), then re-audit the fixed archive and define the wrapper's deterministic gameplay/save-load smoke contract before implementation. --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/512#issuecomment-5647112877). Originally posted by [htayj](https://github.com/htayj) on 2026-09-12T16:18:47Z.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tay/guix-channel#512
No description provided.