[Guix packaging] Yet Another Rogue Clone #593

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

Candidate

  • Project: Yet Another Rogue Clone
  • Candidate upstream/homepage: https://github.com/leomartius/yarc
  • Discovery evidence: RogueBasin
  • Reported license: NOASSERTION
  • License status: needs authoritative upstream verification before packaging

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:35:29Z.

## Candidate - Project: Yet Another Rogue Clone - Candidate upstream/homepage: https://github.com/leomartius/yarc - Discovery evidence: [RogueBasin](https://www.roguebasin.com/index.php/Category:Open_source) - Reported license: NOASSERTION - License status: needs authoritative upstream verification before packaging ## 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/593). Originally posted by [htayj](https://github.com/htayj) on 2026-08-24T17:35:29Z.
Owner

Goocastle recorded disposition: blocked.

Blocked by the absence of an upstream noninteractive runtime contract. Canonical source is https://github.com/leomartius/yarc, immutable tag v0.4.0 at commit d1be91075d40bbc2e29ef3ddff4314df76634bba, where main and the tag agree; the clone reports no submodules. LICENSE.txt at that revision is a complete BSD 3-Clause notice, and README.md documents CC0-derived tutorial code, BSD-derived Rogue 5.4 data/algorithms/strings, and adapted VT220/VGA glyph assets. Runtime dependencies are declared as tcod>=16.2.3 and numpy>=2.0.0; development dependencies also include PyInstaller, mypy, pytest, and ruff. There are 334 lines of pytest source and the project is technically source-buildable, but main.py's argparse interface has only --version plus GUI/window/theme/log options; every non-version invocation immediately calls show_menu and requires interactive graphical input. Its safe deterministic option is therefore metadata-only and cannot satisfy the required meaningful runtime smoke contract. No headless mode, scripted-input mode, app-provided noninteractive smoke command, or alternative executable is present. Unblocking requires upstream (or a clearly justified package-only wrapper) to expose a noninteractive, deterministic state-changing smoke mode that opens a real local game and emits a single-line success marker; an installable executable/package declaration would also be needed for delivery, but the runtime contract is the disqualifying prerequisite. No local same-upstream Guix package was found. The no-daemon environment prevented guix build/lint verification and is recorded as a research limitation, not an upstream build failure.

<!-- goocastle-disposition:sequential-reviewer:593:1:blocked --> Goocastle recorded disposition: blocked. Blocked by the absence of an upstream noninteractive runtime contract. Canonical source is https://github.com/leomartius/yarc, immutable tag v0.4.0 at commit d1be91075d40bbc2e29ef3ddff4314df76634bba, where main and the tag agree; the clone reports no submodules. LICENSE.txt at that revision is a complete BSD 3-Clause notice, and README.md documents CC0-derived tutorial code, BSD-derived Rogue 5.4 data/algorithms/strings, and adapted VT220/VGA glyph assets. Runtime dependencies are declared as tcod>=16.2.3 and numpy>=2.0.0; development dependencies also include PyInstaller, mypy, pytest, and ruff. There are 334 lines of pytest source and the project is technically source-buildable, but main.py's argparse interface has only --version plus GUI/window/theme/log options; every non-version invocation immediately calls show_menu and requires interactive graphical input. Its safe deterministic option is therefore metadata-only and cannot satisfy the required meaningful runtime smoke contract. No headless mode, scripted-input mode, app-provided noninteractive smoke command, or alternative executable is present. Unblocking requires upstream (or a clearly justified package-only wrapper) to expose a noninteractive, deterministic state-changing smoke mode that opens a real local game and emits a single-line success marker; an installable executable/package declaration would also be needed for delivery, but the runtime contract is the disqualifying prerequisite. No local same-upstream Guix package was found. The no-daemon environment prevented guix build/lint verification and is recorded as a research limitation, not an upstream build failure.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#593
No description provided.