Implement researched Guix package outcome for #397: [Guix packaging] Hunger Games #695
Labels
No labels
accessibility
bug
category:ai-tool
category:browser
category:command-line-tool
category:compiler-toolchain
category:desktop-application
category:developer-tool
category:editor-extension
category:emulator
category:font
category:game
category:input-accessibility
category:library-framework
category:mud-client
category:multimedia
category:networking-client
category:programming-language
category:roguelike
category:storage-media-tool
category:system-tool
category:terminal-application
complexity:high
complexity:low
complexity:medium
difficulty:blocked
difficulty:easy
difficulty:hard
difficulty:moderate
documentation
duplicate
enhancement
good first issue
gooflow:guix-package-high
gooflow:guix-package-moderate
gooflow:guix-package-quality-gates
gooflow:guix-research-disposition
gooflow:guix-runtime-evidence-refresh
help wanted
invalid
kind:disposition
kind:packaging
needs:license-investigation
priority:quick
question
ready-for-agent
state:available-elsewhere
state:blocked
state:deferred
state:out-of-scope
state:ready
state:research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tay/guix-channel#695
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
This delivery ticket was created from research issue #397 ([Guix packaging] Hunger Games).
The host-validated research finding follows:
Canonical upstream is https://github.com/CruiserOne/Daedalus at fixed tag v3.5, commit 32af46ddf22e53c9bfd7bd7eacca1e249c60a5e8 (Guix recursive source hash already used by the local Daedalus-derived packages: 0fdzx2zzqbd3p99yljksmbh0s3mbzzmq2dq42a9yz5rfkn9gjy2r). The fixed checkout's README identifies it as the official Daedalus 3.5 release copied from dae35zip.zip; its Makefile documents an offline Unix build with g++ and -lm, and no submodules or language registries are present. util.h must select the Unix command-line build by disabling WIN/PC (and the existing LP64 dword/allocator fixes used by the sibling packages should be retained). license.htm is the complete GPL version 2 text; the upstream documentation's LICENSE section grants Daedalus and its routines under GPLv2-or-later, while the Makefile requires preserving credits/notices. The shipped Hunger origin is the same fixed repository: hunger.ds and source/hunger.bmp are present and covered by that distribution license evidence. Do not fetch or install the separate DAE35HGS.EXE or its hunger/*.wav bundle: the authoritative Hunger Games page says those optional bitmap/sound extras are only in that Windows download, while the script embeds an arena and remains playable without those unredistributed sounds. No equivalent hunger-games package exists in the local channel. tay/packages/dragonslayer.scm and tay/packages/grippy-socks.scm are sibling Daedalus-script variants at the same revision, not duplicates; Hunger Games is separately justified by its distinct script and gameplay. Add tay/packages/hunger-games.scm as a gnu-build-system package named hunger-games, using git-fetch at the revision above, native gcc-toolchain, and bash-minimal/coreutils-minimal for a deterministic launcher; install the rebuilt engine privately, hunger.ds plus hunger.bmp under share/hunger-games, and the complete upstream license/README/documentation under share/doc/hunger-games. The wrapper must keep normal mutable state below XDG_STATE_HOME/hunger-games (or HOME/.local/state/hunger-games), perform no downloads/store writes, and offer exactly
hunger-games --smoke; that mode must invoke the rebuilt engine on the installed script from its data directory, execute one normal movement after script load, and emit HUNGER_GAMES_SMOKE_OK on stdout. Acceptance: run the package lint, offline no-grafts build and --check in the authorized Guix phase, run any upstream test target if added (the upstream Makefile has none), then run the fresh-HOME/XDG smoke proof using executable hunger-games, args [--smoke], screenshot .goocastle/evidence/issue-397.png, assert the single-line marker, and verify the store is unchanged. Research did not claim a build proof because this phase has no Guix daemon.Acceptance criteria
Runtime evidence contract
Implementation workflow:
guix-package-quality-gatesReviewed contract file:
.goocastle/runtime-evidence-contracts.jsonRequired proof phase:
safe-package-proof; screenshot phase:runtime-screenshotEvidence adapter:
github-issue-commentCopy this reviewed contract into the named file before running the package proof workflow.
Imported from GitHub issue/PR. Originally posted by htayj on 2026-09-08T18:31:09Z.
Goocastle verified runtime evidence.
Runtime receipt
hunger-gamessafe-package-proof["node","/opt/goocastle/bin/guix-package-proof.mjs","--package-name","hunger-games","--module-path","tay/packages/hunger-games.scm","--runtime-json","{"executable":"hunger-games","invocation":{"file":"hunger-games","args":["--smoke"]},"successMarker":"HUNGER_GAMES_SMOKE_OK"}"]runtime-screenshot["sh",".goocastle/capture-guix-package-screenshot.sh"]/gnu/store/y9g681933wm1a2bmyfh7rl1v8bc8hsng-hunger-games-3.5/bin/hunger-games["/gnu/store/y9g681933wm1a2bmyfh7rl1v8bc8hsng-hunger-games-3.5/bin/hunger-games","--smoke"]["hunger-games","--smoke"]HUNGER_GAMES_SMOKE_OK.goocastle/runtime-evidence-contracts.json (issue #695, SHA-256 0f1f9cda9ef0b999da5ce2e09157b62940ea04de402b74b7db62a95b102de9fd).goocastle/evidence/issue-695.png17621d702e2a92193ecf72f3efb895319f10ae9cb23cd0c20ad2772f30d71b619f6874a39ee1c324f653a2e754bb1a8e4665b6356200 bytes / pngImported from GitHub comment. Originally posted by htayj on 2026-09-08T22:15:03Z.
Completed by Goocastle
Imported from GitHub comment. Originally posted by htayj on 2026-09-08T22:15:07Z.
Reopened: the package builds and smoke proof pass, but the committed runtime image only shows HUNGER_GAMES_SMOKE_OK. A valid closure needs a screenshot of the installed game visibly running; Goocastle is being fixed to enforce that evidence boundary.
Imported from GitHub comment. Originally posted by htayj on 2026-09-08T22:39:44Z.
Updated the reviewed runtime contract to require a substantive screenshot payload. The reopened delivery must now recapture visible Hunger Games gameplay rather than a marker-only terminal image.
Imported from GitHub comment. Originally posted by htayj on 2026-09-08T22:42:15Z.
Goocastle verified runtime evidence.
Runtime receipt
hunger-gamessafe-package-proof["node","/opt/goocastle/bin/guix-package-proof.mjs","--package-name","hunger-games","--module-path","tay/packages/hunger-games.scm","--runtime-json","{"executable":"hunger-games","invocation":{"file":"hunger-games","args":["--smoke"]},"successMarker":"HUNGER_GAMES_SMOKE_OK","minimumScreenshotBytes":16384}"]runtime-screenshot["sh",".goocastle/capture-guix-package-screenshot.sh"]/gnu/store/sw7gc72370s1fyy586iydk9xnm16ds5w-hunger-games-3.5/bin/hunger-games["/gnu/store/sw7gc72370s1fyy586iydk9xnm16ds5w-hunger-games-3.5/bin/hunger-games","--smoke"]["hunger-games","--smoke"]HUNGER_GAMES_SMOKE_OK.goocastle/runtime-evidence-contracts.json (issue #695, SHA-256 ca65da9b37bb7d4bf6cd78b9060e344845ed2209e232248f24b0afec5ff7620b).goocastle/evidence/issue-695.pnge79eacf1fc20a8126a3ece262a762395d2f69c770e93dbbc9ec2a175d0270e2bae7b4b7dfac4d7f85901d11b1fa80f26b1b40fc353567 bytes / pngImported from GitHub comment. Originally posted by htayj on 2026-09-08T22:56:38Z.
Completed by Goocastle
Imported from GitHub comment. Originally posted by htayj on 2026-09-08T22:56:42Z.