[Guix packaging] larsbrinkhoff/terminal-simulator #54
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#54
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
0fe6abf2656ea052ef68a9e17e46891f31a526f7(default-branch snapshot checked 2026-08-14)Scope and blockers
Install the VT52/VT100 host simulators only.
Acceptance checks
guix lint -L. <package-name>andguix build -L. <package-name>pass once a package definition exists.Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:16:46Z.
Goocastle recorded disposition: blocked.
Blocked. Canonical upstream is https://github.com/larsbrinkhoff/terminal-simulator at fixed commit 0fe6abf2656ea052ef68a9e17e46891f31a526f7 (commit dated 2024-03-03; no release tag is used). Its LICENSE is the GNU GPL version 3, and the requested VT52/VT100 deliverables are C programs built by separate vt52/Makefile and vt100/Makefile files. The VT52 Makefile unconditionally compiles ../vcd/vcd.c and has a git submodule update --init fallback, while the parent .gitmodules fixes the independently fetched origin https://github.com/larsbrinkhoff/value-change-dumper at submodule commit cc6f1fea7e25ed1ae336cbe336106145596072d. At that exact vcd revision, the authoritative tree contains only .gitignore, Makefile, README.md, check.c, check.vcd, vcd.c, and vcd.h; it has no LICENSE, COPYING, NOTICE, or other license file, and those files contain no copyright, permission, GPL, redistribution, or public-domain grant. The parent GPL-3.0-only file cannot establish a redistribution grant for a separately fetched submodule, so including the required vcd source in an unattended Guix package is legally unverified and unsafe. The technical path after clearance is otherwise viable in principle with gnu-build-system: supply vcd explicitly at the pinned revision before the build so no build-time network is used; build and install vt52 and vt100 with direct inputs sdl2, sdl2-image, and an OpenGL implementation such as mesa (the upstream Makefiles use sdl2-config, -lSDL2_image, and -lGL); install common/vertex.shader and common/crt.shader and replace the hard-coded relative SHADERDIR so either binary works outside the source tree. No same-origin package was found in the local channel or the installed Guix package index; libtsm is only a terminal-state-machine library and is not an equivalent hardware simulator. After licensing is resolved, the isolated smoke proof should start Xvfb with -nolisten tcp and software GL, run both installed binaries from a network-isolated environment on that local display (vt100 with -Q and a short command that emits VT100 control bytes and exits; vt52 with its built-in shell), verify each SDL window/process starts and exits under timeout, and assert no non-local network access. Unblock only when the copyright holder provides an authoritative redistribution grant covering value-change-dumper at exact commit cc6f1fea7e25ed1ae336cbe336106145596072d2, or upstream supplies a later clearly licensed vcd commit and the parent is repinned to it with fresh fixed source hashes; then recheck every fetched origin before implementation.
Imported from GitHub comment. Originally posted by htayj on 2026-08-25T16:02:37Z.