[Guix packaging] SlashTHEM #517

Open
opened 2026-08-24 17:33:40 +00:00 by htayj · 1 comment
htayj commented 2026-08-24 17:33:40 +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:40Z.

## Candidate - Project: SlashTHEM - Candidate upstream/homepage: https://github.com/Soviet5lo/SlashTHEM - Discovery evidence: [Variant catalogs](https://www.roguebasin.com/index.php/NetHack#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/517). Originally posted by [htayj](https://github.com/htayj) on 2026-08-24T17:33:40Z.
htayj commented 2026-09-12 19:17:31 +00:00 (Migrated from github.com)

Goocastle recorded disposition: blocked.

Canonical upstream is https://github.com/Soviet5lo/SlashTHEM at fixed master revision f5bd49c10a7614075f63a57f3ffb70f6d9d64960 (the repository advertises master as its last stable source; tagged v0.9.7 is older). The local channel has no SlashTHEM/Soviet5lo equivalent; related NetHack variants are distinct packages. Upstream README.md and GitHub metadata identify an independently playable Slash'EM/Slash'EM Extended-derived C game, with a Unix build based on sys/unix/setup.sh and GNUmakefile, using make install and the usual NetHack-family ncurses, bison, and flex toolchain; no Guix daemon-backed build was attempted because the host explicitly disallows it. The tree contains dat/license, the NetHack General Public License, but does not identify an exact SPDX-equivalent grant for SlashTHEM's complete shipped closure. README.md credits dNetHack, GruntHack, Slash'EM-up, UnNetHack, Slash'EM Extended, and multiple named patches/music/server contributors, while no separately fetched submodules are present and no per-origin license/redistribution evidence is supplied for those imported works or for the shipped map, sound, tile, documentation, and other data assets. This is the concrete legal blocker: before packaging, upstream or each credited origin must provide authoritative license/redistribution evidence at the exact source revisions represented in this tree, including asset-specific terms and a complete attribution/notice inventory; a parent NetHack license alone is insufficient. A second delivery blocker is the runtime contract: upstream documents only interactive terminal play and no deterministic noninteractive/headless gameplay or save/load invocation, so packaging would need an upstream-documented safe smoke mode or an explicitly reviewable Guix wrapper contract. Unblock only after those provenance grants and a meaningful deterministic runtime invocation are documented, then pin the resulting source revision and complete the Guix package/isolated gameplay proof.


Imported from GitHub comment. Originally posted by htayj on 2026-09-12T19:17:31Z.

<!-- goocastle-disposition:sequential-reviewer:517:1:blocked --> Goocastle recorded disposition: blocked. Canonical upstream is https://github.com/Soviet5lo/SlashTHEM at fixed master revision f5bd49c10a7614075f63a57f3ffb70f6d9d64960 (the repository advertises master as its last stable source; tagged v0.9.7 is older). The local channel has no SlashTHEM/Soviet5lo equivalent; related NetHack variants are distinct packages. Upstream README.md and GitHub metadata identify an independently playable Slash'EM/Slash'EM Extended-derived C game, with a Unix build based on sys/unix/setup.sh and GNUmakefile, using make install and the usual NetHack-family ncurses, bison, and flex toolchain; no Guix daemon-backed build was attempted because the host explicitly disallows it. The tree contains dat/license, the NetHack General Public License, but does not identify an exact SPDX-equivalent grant for SlashTHEM's complete shipped closure. README.md credits dNetHack, GruntHack, Slash'EM-up, UnNetHack, Slash'EM Extended, and multiple named patches/music/server contributors, while no separately fetched submodules are present and no per-origin license/redistribution evidence is supplied for those imported works or for the shipped map, sound, tile, documentation, and other data assets. This is the concrete legal blocker: before packaging, upstream or each credited origin must provide authoritative license/redistribution evidence at the exact source revisions represented in this tree, including asset-specific terms and a complete attribution/notice inventory; a parent NetHack license alone is insufficient. A second delivery blocker is the runtime contract: upstream documents only interactive terminal play and no deterministic noninteractive/headless gameplay or save/load invocation, so packaging would need an upstream-documented safe smoke mode or an explicitly reviewable Guix wrapper contract. Unblock only after those provenance grants and a meaningful deterministic runtime invocation are documented, then pin the resulting source revision and complete the Guix package/isolated gameplay proof. --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/517#issuecomment-5648112499). Originally posted by [htayj](https://github.com/htayj) on 2026-09-12T19:17:31Z.
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#517
No description provided.