[Guix packaging] Vicious Orcs #579

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

Candidate

  • Project: Vicious Orcs
  • Candidate upstream/homepage: http://www.zincland.com/7drl/orcs
  • Discovery evidence: IRLDb
  • Reported license: open source (BSD), freeware
  • License status: reported free license; verify exact terms and asset coverage against the pinned upstream source
  • Catalog note: IRLDb status: 7drl.

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:09Z.

## Candidate - Project: Vicious Orcs - Candidate upstream/homepage: http://www.zincland.com/7drl/orcs - Discovery evidence: [IRLDb](https://forums.roguetemple.com/irldb/index.php?i=47e013c) - Reported license: open source (BSD), freeware - License status: reported free license; verify exact terms and asset coverage against the pinned upstream source - Catalog note: IRLDb status: 7drl. ## 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/579). Originally posted by [htayj](https://github.com/htayj) on 2026-08-24T17:35:09Z.
Owner

Goocastle recorded disposition: blocked.

Blocked: Vicious Orcs 001 is a legally redistributable source distribution, but it exposes no safe, meaningful noninteractive runtime contract required for the Guix acceptance proof. Canonical upstream evidence is http://www.zincland.com/7drl/orcs, whose authoritative page names orcs001.zip as the most recent version; the fetched archive has SHA-256 b4f4f12ec3bccdf97fe7260ca6180f497dc4aba8616068f9dfecd8a626c1fd6f. The local channel has no textual match for Vicious Orcs, zincland.com/7drl/orcs, or 7drl/orcs, and this is not a duplicate delivery. License coverage is present at this fixed artifact: orcs001/src/LICENSE.TXT grants derivative works and redistribution; project .cpp/.h/.txt/executables are BSD-2-style with the name-endorsement clause, maps are public domain, mt19937ar.c carries its permissive four-clause-style license, and vendored libtcod 1.5.0 source carries its BSD license. Windows-only Microsoft and SDL DLLs would be excluded. The archive also contains Linux executables, checked-in object files, and bundled libtcod shared libraries; a package must remove those opaque artifacts and rebuild from included C/C++ source. Build metadata indicates enummaker generation, the src/linux Makefile, game sources, vendored libtcod 1.5.0 sources, and SDL 1.2 plus SDL_mixer 1.2 dependencies, although libtcod has no clear standalone top-level library Makefile in this bundle. The Guix daemon was unavailable, as required by this phase, so no direct upstream build was performed and no package proof is claimed. Runtime behavior is the disqualifying fact: src/main.cpp has an unused argc/argv path, unconditionally initializes an SDL/libtcod graphical console and joystick subsystem, reads ../orc.cfg and ../text.txt, uses a time-based seed, and has no documented headless, scripted, test, or noninteractive mode. Save behavior writes orc.sav in the working directory. Therefore the required fresh-HOME smoke proof cannot assert meaningful local gameplay, save/load behavior, or a stdout marker through a safe deterministic argv contract. Unblocking requires an upstream-provided, or package-wrapper-implemented with an upstream source change, deterministic noninteractive gameplay or save/load mode that emits a single-line stdout marker; alternatively, a documented X11/headless automation contract explicitly accepted by the project workflow would be needed. Until then, creating an implementation ticket cannot satisfy the required runtime-proof contract. No package definition, tests, workflows, issues, or branches were modified.

<!-- goocastle-disposition:sequential-reviewer:579:1:blocked --> Goocastle recorded disposition: blocked. Blocked: Vicious Orcs 001 is a legally redistributable source distribution, but it exposes no safe, meaningful noninteractive runtime contract required for the Guix acceptance proof. Canonical upstream evidence is http://www.zincland.com/7drl/orcs, whose authoritative page names orcs001.zip as the most recent version; the fetched archive has SHA-256 b4f4f12ec3bccdf97fe7260ca6180f497dc4aba8616068f9dfecd8a626c1fd6f. The local channel has no textual match for Vicious Orcs, zincland.com/7drl/orcs, or 7drl/orcs, and this is not a duplicate delivery. License coverage is present at this fixed artifact: orcs001/src/LICENSE.TXT grants derivative works and redistribution; project .cpp/.h/.txt/executables are BSD-2-style with the name-endorsement clause, maps are public domain, mt19937ar.c carries its permissive four-clause-style license, and vendored libtcod 1.5.0 source carries its BSD license. Windows-only Microsoft and SDL DLLs would be excluded. The archive also contains Linux executables, checked-in object files, and bundled libtcod shared libraries; a package must remove those opaque artifacts and rebuild from included C/C++ source. Build metadata indicates enummaker generation, the src/linux Makefile, game sources, vendored libtcod 1.5.0 sources, and SDL 1.2 plus SDL_mixer 1.2 dependencies, although libtcod has no clear standalone top-level library Makefile in this bundle. The Guix daemon was unavailable, as required by this phase, so no direct upstream build was performed and no package proof is claimed. Runtime behavior is the disqualifying fact: src/main.cpp has an unused argc/argv path, unconditionally initializes an SDL/libtcod graphical console and joystick subsystem, reads ../orc.cfg and ../text.txt, uses a time-based seed, and has no documented headless, scripted, test, or noninteractive mode. Save behavior writes orc.sav in the working directory. Therefore the required fresh-HOME smoke proof cannot assert meaningful local gameplay, save/load behavior, or a stdout marker through a safe deterministic argv contract. Unblocking requires an upstream-provided, or package-wrapper-implemented with an upstream source change, deterministic noninteractive gameplay or save/load mode that emits a single-line stdout marker; alternatively, a documented X11/headless automation contract explicitly accepted by the project workflow would be needed. Until then, creating an implementation ticket cannot satisfy the required runtime-proof contract. No package definition, tests, workflows, issues, or branches were modified.
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#579
No description provided.