[Guix packaging] Slash'EM Extended #516

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

## Candidate - Project: Slash'EM Extended - Candidate upstream/homepage: https://github.com/SLASHEM-Extended/SLASHEM-Extended - 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/516). Originally posted by [htayj](https://github.com/htayj) on 2026-08-24T17:33:38Z.
htayj commented 2026-09-12 19:04:55 +00:00 (Migrated from github.com)

Goocastle recorded disposition: blocked.

Canonical maintained source is https://github.com/SLASHEM-Extended/SLASHEM-Extended, fixed to stable tag slex-2.9.9 (commit 38f00bd54ca0430f66db76891b8ad61960282806). README.md documents a source build via sys/unix/setup.sh and make -f sys/unix/GNUmakefile, requiring a C compiler, make, ncurses, bison, and flex; GNUmakefile builds slex and dat/nhdat and installs those plus dat/license, with no git submodules. The authoritative dat/license is the NetHack General Public License, covering the NetHack-derived source and bundled Unix data; the Unix target installs no fonts, tiles, sounds, or external registries. No equivalent Slash'EM Extended package exists in the local channel; the existing slashem runtime contract is a separate issue/package identity signal, not this upstream. Blocker: the upstream documentation provides only an interactive terminal launch (./slex) and no documented deterministic noninteractive/headless/smoke invocation. Unattended delivery is unsafe until a package wrapper is designed and later validated to drive the real slex binary through a deterministic gameplay or save/load path under an isolated HOME and emit a single success marker without store writes; unblock when that wrapper/runtime contract is implemented and its PTY smoke behavior is demonstrated.


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

<!-- goocastle-disposition:sequential-reviewer:516:1:blocked --> Goocastle recorded disposition: blocked. Canonical maintained source is https://github.com/SLASHEM-Extended/SLASHEM-Extended, fixed to stable tag slex-2.9.9 (commit 38f00bd54ca0430f66db76891b8ad61960282806). README.md documents a source build via sys/unix/setup.sh and make -f sys/unix/GNUmakefile, requiring a C compiler, make, ncurses, bison, and flex; GNUmakefile builds slex and dat/nhdat and installs those plus dat/license, with no git submodules. The authoritative dat/license is the NetHack General Public License, covering the NetHack-derived source and bundled Unix data; the Unix target installs no fonts, tiles, sounds, or external registries. No equivalent Slash'EM Extended package exists in the local channel; the existing slashem runtime contract is a separate issue/package identity signal, not this upstream. Blocker: the upstream documentation provides only an interactive terminal launch (./slex) and no documented deterministic noninteractive/headless/smoke invocation. Unattended delivery is unsafe until a package wrapper is designed and later validated to drive the real slex binary through a deterministic gameplay or save/load path under an isolated HOME and emit a single success marker without store writes; unblock when that wrapper/runtime contract is implemented and its PTY smoke behavior is demonstrated. --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/516#issuecomment-5648042285). Originally posted by [htayj](https://github.com/htayj) on 2026-09-12T19:04:55Z.
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#516
No description provided.