[Guix packaging] CoreRL #311
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#311
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:28:41Z.
Goocastle recorded disposition: implementation-ready.
Created implementation ticket: #668.
Canonical upstream is the Studio Tectorum/Roguelike Education static article https://www.roguelikeeducation.org/2.html (published 2013-10-24; page SHA-256 4550fbe5ff17a58b2c4ec80d74587a4c043dbf24440881556aaddcbc7852e3c6) and its complete direct source https://www.roguelikeeducation.org/vault/core/1kcore.c. No maintained VCS repository, tags, submodules, or newer CoreRL release was found; treat the dated 1 KiB article/source as fixed revision 1kib-20131024 and pin the direct source with SHA-256 05d55844b30fbfae72bd87ab9e26539cfb8232e540bc0d0ce50b04d6d1369e24 (Guix base32 axkvqrftb67244v5q6vz4jsttt5yemxfic6a2dhfbmcnnujwtysa). The page says the 1023-byte C source is released into the public domain, and the package need ship only that source-derived executable plus a generated notice recording the upstream URL and grant; the linked screenshot, Haiku/OS X binaries, and DCPU-16 port are not package inputs, so there are no bundled fonts, tiles, sounds, maps, documentation assets, or fetched submodules requiring separate grants. The source uses only curses and libc, has no updater, telemetry, runtime download, file-state, or network behavior, and gives the authoritative build command gcc -o corerl 1kcore.c -lncurses. Use a gnu-build-system package module (tay packages corerl), delete configure, disable nonexistent upstream tests, and compile directly with gcc-toolchain as a native input and ncurses as an input; use -std=gnu89 for the intentionally pre-C99 source (implicit main/time declarations), with bash-minimal, coreutils-minimal, and util-linux additionally declared for the launcher-owned smoke path. GNU Guix package search returned no corerl result, and the local channel has no corerl/CoreRL definition or prior issue/runtime proof. CoreRL is the 1 KiB revision of the earlier 4 KiB Core at https://www.roguelikeeducation.org/1.html; Measter/NanoRL is a distinct Rust/Arduino port (master tip cadf54cbec0c36afa50a3b72b1d8f9b585337826, with Arduino-derived LGPL-2.1 files) and must not be substituted. Install /bin/corerl as a wrapper around a private compiled real binary: normal invocations exec the real game, while --smoke sets C locale and package-owned TERM/TERMINFO_DIRS, starts the real game through util-linux script in a PTY, feeds deterministic Up/Down/q input, captures the transcript outside the store, asserts the generated map contains @, e, and < plus the normal Quit on level 1. result, then prints the single-line marker CORERL_RUNTIME_OK. The wrapper must create no persistent state and perform no network access. Later delivery acceptance is guix lint -L . corerl with no package-specific findings; networkless guix build -L . --no-grafts corerl; upstream tests are unavailable; guix build -L . --no-grafts --check corerl; and a fresh HOME/XDG smoke run of corerl --smoke with the planned screenshot proving the real local game starts, processes gameplay input, emits the marker, and writes neither the store nor persistent HOME/XDG state. The research environment had no Guix daemon, so no build or package proof was claimed.
Imported from GitHub comment. Originally posted by htayj on 2026-09-02T09:13:28Z.