Implement researched Guix package outcome for #332: [Guix packaging] DoomRL #680
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#680
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 #332 ([Guix packaging] DoomRL).
The host-validated research finding follows:
Package the rebranded DoomRL as
drlfrom the canonical repository https://github.com/chaosforgeorg/drl at immutable release tag0_10_11(peeled commit90b797888be2550454b2b4b7d0df6aa9ef5b71ac;bin/version.txtand the core Lua metadata identify 0.10.11). The repository has no Git submodules. Its separately fetched build dependency is https://github.com/ChaosForge/fpcvalkyrie at immutable release tag0_10_11(peeled commitf89735a741a968997656c2d48a003ec569db7f22); its revision-local LICENSE is MIT, while DRL's revision-local LICENSE is GPL-2.0. The source build metadata requires Free Pascal (upstream documents FPC 3.2.2), Lua 5.1 specifically, the Valkyrie source tree, make, and Linux ncurses; the Guix module should usefpc,lua-5.1,ncurses/tinfo, and normal build/wrapper inputs rather than any bundled binary. The source is therefore source-buildable in principle, but no package proof is claimed: the trusted phase boundary forbadeguix shell, the Guix daemon socket is absent, and compiler/runtime probes were not treated as upstream failures. The current Guix source audit and the local channel contain nodrl,doomrl, or ChaosForge equivalent, so this is an ordinary distinct delivery rather than a duplicate. Use the text console core module only (bin/data/drl, moduledrl), and omitdrlhq/drllqaudio modules and allext/*ELF/DLL files. Upstream documents-console/-nosound; the tracked audio directories contain only readmes, and credits identify music/sounds as permission-based external material without a redistribution license, so no audio or proprietary FMOD/Steam/SDL binary may enter the closure. The tracked graphics license is CC BY-SA 4.0; omit graphical PNG/font assets from the console output unless each selected asset is separately covered and its notice is installed. Retain the GPL notice for the installed DRL code, Lua/maps/help data, the fpcvalkyrie MIT notice, and notices for every Guix runtime/build dependency actually shipped. Provide a launcher nameddrlaround the compiled real executable. Its--guix-smokemode must create fresh HOME/XDG and writable cwd/write/score paths outside the store, pass fixed store-datapathand-configplus-console -nosound -module drl, run through a bounded PTY, and feed a fixed sequence that starts a new game, accepts a deterministic default, makes a movement, saves, quits, relaunches/restores, and checks the save artifact and visible game-state output; it must assert no store writes and print the single-line markerDRL_GOOCASTLE_RUNTIME_OK. Do not invoke the optional Steam Workshop/publish path, and no updater, telemetry, or required runtime download was found. Acceptance is: preflight package load/lint has no package-specific findings; daemon-backedguix build -L . --no-grafts drland--checksucceed offline; upstream build/tests run if present; the isolateddrl --guix-smokecontract produces.goocastle/evidence/issue-332.png, proves gameplay plus save/load and fresh mutable paths, and installed notices cover the selected closure/assets.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-03T01:55:08Z.
Delivered in
f7d1781. Verified:guix build --check -L . --no-grafts drl, offline Guix lint, isolated runtime proof emitsDRL_GOOCASTLE_RUNTIME_OK, and reviewed packaged terminal screenshot is committed at.goocastle/evidence/issue-680.png.Imported from GitHub comment. Originally posted by htayj on 2026-09-03T07:06:06Z.