[Guix packaging] Intelligence: Rae Lives #404

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

Candidate

  • Project: Intelligence: Rae Lives
  • Candidate upstream/homepage: http://www.github.com/littleglassdiode/irl
  • Discovery evidence: IRLDb
  • Reported license: MIT License
  • License status: reported free license; verify exact terms and asset coverage against the pinned upstream source
  • Catalog note: IRLDb status: alpha.

Scope

Package the independently playable roguelike 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:30:57Z.

## Candidate - Project: Intelligence: Rae Lives - Candidate upstream/homepage: http://www.github.com/littleglassdiode/irl - Discovery evidence: [IRLDb](https://forums.roguetemple.com/irldb/index.php?i=47e013c) - Reported license: [[MIT License]] - License status: reported free license; verify exact terms and asset coverage against the pinned upstream source - Catalog note: IRLDb status: alpha. ## Scope Package the independently playable roguelike 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/404). Originally posted by [htayj](https://github.com/htayj) on 2026-08-24T17:30:57Z.
htayj commented 2026-09-09 03:41:49 +00:00 (Migrated from github.com)

Goocastle recorded disposition: implementation-ready.

Created implementation ticket: #699.

Canonical upstream is https://github.com/littleglassdiode/irl. Use the immutable current master revision 2085fa6f55abf53ea1a07bb348f99a720763bbbd (2014-03-05), version 0.0.1-0.20140305; the Guix recursive source hash of that tracked tree is 6nzbmi33qsircnv323vzf47kqxbtxknhybyjas5fv2m775d4ckga (git-archive SHA-256 f7ae3a6885fa00c676f9261ed1bde8d3de32ee5ce9ddd63a78eb179173335454). Upstream has an annotated 0.0.1 tag at 6819275b0b08f75315e6adea71d42b653e4aac51, but the selected revision is the later renamed-game tip; no newer release metadata was present. The local channel/audit set has no same-upstream or Rae Lives equivalent, so this is an ordinary delivery. The source is a small C99 ncurses terminal game: ldt.sh compiles every src/.c with gcc -Wall -std=c99 and links -lm -lncurses; there is no Makefile, configure step, language registry, or upstream test target. Implement tay/packages/raelives.scm, module (tay packages raelives), public package name raelives, with gnu-build-system, configure disabled, explicit compilation/linking from src/.c, native-input gcc-toolchain, and ncurses runtime/build input; do not run ldt.sh because its source-tree build stamps and unquoted command construction are not package-safe. Install the binary privately as /libexec/raelives, a /bin/raelives wrapper, and COPYING plus selected project documentation under share/doc/raelives. The only project origin is the repository (git submodule status is empty); all 14 C source/header files carry the same full MIT grant as COPYING, credited to Clayton G. Hobbs, and AUTHORS names Clayton G. Hobbs and TheDarklingWolf. No fonts, tiles, sounds, bundled libraries, registry downloads, updater, telemetry, or runtime network access are present. Do not install testmap: it is an unlicensed-looking fixture for the unfinished load path, and main.c never uses loadlevel; if it is ever shipped, obtain separate provenance first. The game has no implemented save/load (TODO line 1), persists no state, and accepts normal key input with Q to exit. The package wrapper must add an exact --smoke mode that creates a private temporary state/work directory below XDG_STATE_HOME or HOME, sets a fixed TERM and PTY size 24x80, launches the real /libexec/raelives, waits for the Rae/map screen, sends l to exercise a legal movement from the initial map position, verifies a post-move screen and clean Q exit, asserts the work directory has no store path, then prints exactly RAELIVES_RUNTIME_OK on stdout. No direct feasibility build was attempted because this phase is explicitly daemon-disabled; the authoritative build script and closure establish source-buildability, while later Guix build/lint/check and PTY artifact validation remain acceptance work. Planned acceptance: guix lint -L . raelives; guix build -L . --no-grafts raelives and --check; run any available upstream checks (none declared); and invoke the installed wrapper as raelives --smoke from fresh HOME/XDG_STATE_HOME, retaining .goocastle/evidence/issue-404.png and asserting the single-line marker plus no store writes.


Imported from GitHub comment. Originally posted by htayj on 2026-09-09T03:41:49Z.

<!-- goocastle-disposition:sequential-reviewer:404:1:implementation-ready --> Goocastle recorded disposition: implementation-ready. Created implementation ticket: #699. Canonical upstream is https://github.com/littleglassdiode/irl. Use the immutable current master revision 2085fa6f55abf53ea1a07bb348f99a720763bbbd (2014-03-05), version 0.0.1-0.20140305; the Guix recursive source hash of that tracked tree is 6nzbmi33qsircnv323vzf47kqxbtxknhybyjas5fv2m775d4ckga (git-archive SHA-256 f7ae3a6885fa00c676f9261ed1bde8d3de32ee5ce9ddd63a78eb179173335454). Upstream has an annotated 0.0.1 tag at 6819275b0b08f75315e6adea71d42b653e4aac51, but the selected revision is the later renamed-game tip; no newer release metadata was present. The local channel/audit set has no same-upstream or Rae Lives equivalent, so this is an ordinary delivery. The source is a small C99 ncurses terminal game: ldt.sh compiles every src/*.c with gcc -Wall -std=c99 and links -lm -lncurses; there is no Makefile, configure step, language registry, or upstream test target. Implement tay/packages/raelives.scm, module (tay packages raelives), public package name raelives, with gnu-build-system, configure disabled, explicit compilation/linking from src/*.c, native-input gcc-toolchain, and ncurses runtime/build input; do not run ldt.sh because its source-tree build stamps and unquoted command construction are not package-safe. Install the binary privately as /libexec/raelives, a /bin/raelives wrapper, and COPYING plus selected project documentation under share/doc/raelives. The only project origin is the repository (git submodule status is empty); all 14 C source/header files carry the same full MIT grant as COPYING, credited to Clayton G. Hobbs, and AUTHORS names Clayton G. Hobbs and TheDarklingWolf. No fonts, tiles, sounds, bundled libraries, registry downloads, updater, telemetry, or runtime network access are present. Do not install testmap: it is an unlicensed-looking fixture for the unfinished load path, and main.c never uses loadlevel; if it is ever shipped, obtain separate provenance first. The game has no implemented save/load (TODO line 1), persists no state, and accepts normal key input with Q to exit. The package wrapper must add an exact --smoke mode that creates a private temporary state/work directory below XDG_STATE_HOME or HOME, sets a fixed TERM and PTY size 24x80, launches the real /libexec/raelives, waits for the Rae/map screen, sends l to exercise a legal movement from the initial map position, verifies a post-move screen and clean Q exit, asserts the work directory has no store path, then prints exactly RAELIVES_RUNTIME_OK on stdout. No direct feasibility build was attempted because this phase is explicitly daemon-disabled; the authoritative build script and closure establish source-buildability, while later Guix build/lint/check and PTY artifact validation remain acceptance work. Planned acceptance: guix lint -L . raelives; guix build -L . --no-grafts raelives and --check; run any available upstream checks (none declared); and invoke the installed wrapper as raelives --smoke from fresh HOME/XDG_STATE_HOME, retaining .goocastle/evidence/issue-404.png and asserting the single-line marker plus no store writes. --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/404#issuecomment-5595435986). Originally posted by [htayj](https://github.com/htayj) on 2026-09-09T03:41:49Z.
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#404
No description provided.