[Guix packaging] Dungeon Monkey Unlimited #336
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tay/guix-channel#336
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?
Candidate
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
Acceptance checks
guix lint -L . <package>has no package-specific findings.guix build -L . --no-grafts <package>succeeds without network access or opaque binaries.guix build -L . --no-grafts --check <package>verifies reproducibility.Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-24T17:29:19Z.
Goocastle recorded disposition: implementation-ready.
Created implementation ticket: #683.
Canonical upstream is the SourceForge project https://sourceforge.net/projects/dmonkey/; the upstream downloads page https://gearheadrpg.com/wp/downloads/ identifies Dungeon Monkey Unlimited v1.001 as the latest stable release. Use the immutable source archive https://downloads.sourceforge.net/project/dmonkey/v1.000%20Series/DungeonMonkeyUnlimited-1.001-source.zip, downloaded successfully during research, SHA-256 f772ed0d74577af55f54a939cb456e5aa547c0443b5ed1d59edebf7e1230e9dc. The archive has no VCS commit or submodules, and contains 26 Pascal sources, 38 gamedata/doc text files, 73 PNGs, and two TTFs; no sound files, updater, telemetry, runtime download, or network code were found. The program source headers in dmu.pas and the units explicitly grant LGPL-2.1-only and license.txt carries the LGPL 2.1 text; this is the package license, despite the less-specific SourceForge project metadata saying GPLv2. The archive credits David E. Gervais tiles; the authoritative OpenGameArt collection identifies those tiles as CC-BY 3.0, and the official RLTiles site identifies its tiles as public domain subject to retaining its required attribution notice. Preserve upstream credits, add exact Bitstream Vera license text for the used VeraBd.ttf, and omit unused augie.ttf, convert32, test programs, Thumbs.db, and debug output from the installed runtime. Treat Joseph Hewitt-authored code/data/docs/maps and modifications as the project LGPL material, retain license.txt/readme/credits, and install a third-party notice covering Gervais CC-BY 3.0, RLTiles public-domain notice, and Bitstream-Vera. This is the Pascal/SDL1.2 Dungeon Monkey sequel in the original Dungeon Monkey lineage; Dungeon Monkey Eternal is a later, distinct third game written in Python and is not a substitute or same-upstream fork. No equivalent dungeon-monkey-unlimited package or same-upstream module is present in this channel or its package inventory, and
guix search 'dungeon monkey'returned no official Guix result. Source-build is technically viable from the upstream README: invoke Free Pascal from the DMU directory against the checked-in sources, with Guix inputs fpc from (gnu packages pascal), sdl12-compat, sdl-image, and sdl-ttf from (gnu packages sdl), plus pkg-config only if needed for the SDL1.2-compatible link flags. Use gnu-build-system with no network phases and explicit linker/runtime paths; the research host has no Guix daemon, so no guix shell/build proof was attempted. Expected module path is tay/packages/dungeon-monkey-unlimited.scm. The ordinary executable is an interactive SDL1.2 GUI and writes config.cfg, savegame/*.txt, and possibly debug.txt relative to its working directory; provide a launcher named dungeon-monkey-unlimited that runs it from an XDG data directory, never the store, and provides a package-owned deterministic --smoke mode. The smoke path must set SDL_VIDEODRIVER=dummy, generate a fixed-seed local campaign through the real game units, exercise a meaningful gameplay-state transition plus save/load round-trip in a fresh temporary writable directory, assert no output/store writes, print exactly one success line, and exit zero. Runtime contract: executable and invocation file dungeon-monkey-unlimited; args [--smoke]; success marker DMU-SMOKE: campaign-save-load-ok. Host proof should capture the real SDL initialized/game-state result at .goocastle/evidence/issue-336.png, then run lint, no-graft offline build, upstream tests if available, reproducibility check, and the isolated fresh-HOME/XDG smoke with no store writes.Imported from GitHub comment. Originally posted by htayj on 2026-09-04T07:07:57Z.
Implemented and published in signed, Guix-authenticated commit
62f09e33feb2119a835d7b346606d7811d9d3500.Dungeon Monkey Unlimited: actual GUI NativeHero/NativeCampaign creation, movement, native save, independent restore and continued movement; unchanged NAR. LGPL2.1-or-later/code, tile/font attribution retained. Output43bz9iswhakkxgx1dyfx255nrbc5kp4r.
Source build, final reproducibility
--check, offline lint without package-specific findings, standalone and integrated Make acceptance passed. README records exact commands and limits; unrelated Fourk/flex/legacy Cargo diagnostics are not claimed clean. No deployed system changed; no OKF deployment update applies.