[Guix packaging] aap/vt05 #56

Closed
opened 2026-08-14 13:16:48 +00:00 by htayj · 2 comments
htayj commented 2026-08-14 13:16:48 +00:00 (Migrated from github.com)

Candidate

  • Upstream canonical URL: https://github.com/aap/vt05
  • Source pinned commit/release when known: 934fe8898bd656749b323abbdab62939148cfe3e (default-branch snapshot checked 2026-08-14)
  • Target concrete installed deliverable: VT05/VT52/Datapoint SDL terminal emulator suite
  • Primary category: emulator
  • Tags: historical-computing
  • Primary language normalized: C
  • Build system: gnu-build-system with custom install phase
  • SPDX expression: MIT
  • License status: confirmed-free
  • License evidence: The upstream LICENSE was previously inspected at the pinned snapshot and identifies MIT.
  • Difficulty: moderate — There is no README or install target, so installed executables and a noninteractive smoke path must be defined.
  • Workflow state: research
  • Existing Guix coverage: Checked 2026-08-14: GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix 'R Us, and RDE; no equivalent package with the same upstream origin was found.

Scope and blockers

Install the documented host terminal-emulator binaries.

Acceptance checks

  • guix lint -L. <package-name> and guix build -L. <package-name> pass once a package definition exists.
  • Run a selected binary under a local display and verify startup without network.

Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:16:48Z.

## Candidate - Upstream canonical URL: https://github.com/aap/vt05 - Source pinned commit/release when known: `934fe8898bd656749b323abbdab62939148cfe3e` (default-branch snapshot checked 2026-08-14) - Target concrete installed deliverable: VT05/VT52/Datapoint SDL terminal emulator suite - Primary category: emulator - Tags: historical-computing - Primary language normalized: C - Build system: gnu-build-system with custom install phase - SPDX expression: MIT - License status: confirmed-free - License evidence: The upstream LICENSE was previously inspected at the pinned snapshot and identifies MIT. - Difficulty: moderate — There is no README or install target, so installed executables and a noninteractive smoke path must be defined. - Workflow state: research - Existing Guix coverage: Checked 2026-08-14: GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix 'R Us, and RDE; no equivalent package with the same upstream origin was found. ## Scope and blockers Install the documented host terminal-emulator binaries. ## Acceptance checks - `guix lint -L. <package-name>` and `guix build -L. <package-name>` pass once a package definition exists. - Run a selected binary under a local display and verify startup without network. --- Imported from [GitHub issue/PR](https://github.com/htayj/guix-channel/issues/56). Originally posted by [htayj](https://github.com/htayj) on 2026-08-14T13:16:48Z.
htayj commented 2026-08-25 16:41:39 +00:00 (Migrated from github.com)

Goocastle recorded disposition: implementation-ready.

Created implementation ticket: #616.

Canonical source: https://github.com/aap/vt05.git at fixed commit 934fe8898bd656749b323abbdab62939148cfe3e (2025-05-29, suggested Guix version 0.1-1.934fe88); a git-fetch origin can use recursive source hash 02mwxyh88afcw8pwqcaykbn28rz13c4vygr3bn4knv4bz9k8w3l6. At that exact revision, github.com/aap/vt05@934fe8898b/LICENSE grants MIT redistribution, modification, and distribution rights (Guix license:expat); git ls-tree shows only the repository files, no .gitmodules, and git submodule status is empty, so there are no separately fetched submodule origins whose licenses remain unevidenced. The font/ROM tables mentioned in comments are embedded tracked headers, not additional package fetches. The source is technically source-buildable on Guix GNU/Linux: Makefile target all builds exactly vt05, vt52, vt50, dp3300, gecon, and dm2500 with cc, sdl2-config, -lm, and -lpthread; there is no configure script, test suite, generated resource, network fetch, or runtime data file. Package it as public vt05 in a new (tay packages vt05) module using gnu-build-system, deleting configure, invoking the upstream makefile, and using sdl2 as the input that supplies SDL headers, sdl2-config, and runtime SDL libraries; compiler, make, libc, libm, and pthread support come from the standard Guix build environment, and no pkg-config or extra source input is required. The custom install phase must install all six Makefile outputs under $out/bin and LICENSE under $out/share/doc/vt05. No wrapper is required or desirable: each binary creates an SDL window, allocates a POSIX PTY, requires a user-supplied command argument, sets TERM=vt52 for vt52 and vt50 and TERM=dumb for vt05, dp3300, gecon, and dm2500, and execvp's that command; the SDL2 input supplies the linked runtime closure. Existing coverage is only the local larsbrinkhoff-vt05-source source snapshot at the same commit (tay/packages/larsbrinkhoff-t-z.scm, codeload hash 09kxszk89cmm3nyvc8n62ahngj3drlbvggfq499znnwvh96yg8ga), which does not build or install these binaries; no equivalent package was found in the local channel or guix search. Acceptance must run guix lint -L. vt05 and guix build -L. vt05, assert executable $out/bin/vt05, $out/bin/vt50, $out/bin/vt52, $out/bin/dp3300, $out/bin/gecon, and $out/bin/dm2500, then perform an isolated offline smoke: start the Guix xorg-server Xvfb on DISPLAY=:99 with -nolisten tcp, software SDL rendering, cleared proxy variables, and a temporary HOME; launch $out/bin/vt52 /bin/sh -c with a command that checks TERM=vt52, writes a VT05_SMOKE marker in the temporary directory, and sleeps; poll xwininfo -root -tree for the VT52 window title, require the marker and absence of SDL startup errors, then terminate the client and Xvfb. This proves the selected installed binary creates its local display window and PTY child without network access; no Guix build or lint proof is claimed in this research because the local Guix daemon socket was unavailable.


Imported from GitHub comment. Originally posted by htayj on 2026-08-25T16:41:39Z.

<!-- goocastle-disposition:sequential-reviewer:56:1:implementation-ready --> Goocastle recorded disposition: implementation-ready. Created implementation ticket: #616. Canonical source: https://github.com/aap/vt05.git at fixed commit 934fe8898bd656749b323abbdab62939148cfe3e (2025-05-29, suggested Guix version 0.1-1.934fe88); a git-fetch origin can use recursive source hash 02mwxyh88afcw8pwqcaykbn28rz13c4vygr3bn4knv4bz9k8w3l6. At that exact revision, https://github.com/aap/vt05/blob/934fe8898bd656749b323abbdab62939148cfe3e/LICENSE grants MIT redistribution, modification, and distribution rights (Guix license:expat); git ls-tree shows only the repository files, no .gitmodules, and git submodule status is empty, so there are no separately fetched submodule origins whose licenses remain unevidenced. The font/ROM tables mentioned in comments are embedded tracked headers, not additional package fetches. The source is technically source-buildable on Guix GNU/Linux: Makefile target all builds exactly vt05, vt52, vt50, dp3300, gecon, and dm2500 with cc, sdl2-config, -lm, and -lpthread; there is no configure script, test suite, generated resource, network fetch, or runtime data file. Package it as public vt05 in a new (tay packages vt05) module using gnu-build-system, deleting configure, invoking the upstream makefile, and using sdl2 as the input that supplies SDL headers, sdl2-config, and runtime SDL libraries; compiler, make, libc, libm, and pthread support come from the standard Guix build environment, and no pkg-config or extra source input is required. The custom install phase must install all six Makefile outputs under $out/bin and LICENSE under $out/share/doc/vt05. No wrapper is required or desirable: each binary creates an SDL window, allocates a POSIX PTY, requires a user-supplied command argument, sets TERM=vt52 for vt52 and vt50 and TERM=dumb for vt05, dp3300, gecon, and dm2500, and execvp's that command; the SDL2 input supplies the linked runtime closure. Existing coverage is only the local larsbrinkhoff-vt05-source source snapshot at the same commit (tay/packages/larsbrinkhoff-t-z.scm, codeload hash 09kxszk89cmm3nyvc8n62ahngj3drlbvggfq499znnwvh96yg8ga), which does not build or install these binaries; no equivalent package was found in the local channel or guix search. Acceptance must run guix lint -L. vt05 and guix build -L. vt05, assert executable $out/bin/vt05, $out/bin/vt50, $out/bin/vt52, $out/bin/dp3300, $out/bin/gecon, and $out/bin/dm2500, then perform an isolated offline smoke: start the Guix xorg-server Xvfb on DISPLAY=:99 with -nolisten tcp, software SDL rendering, cleared proxy variables, and a temporary HOME; launch $out/bin/vt52 /bin/sh -c with a command that checks TERM=vt52, writes a VT05_SMOKE marker in the temporary directory, and sleeps; poll xwininfo -root -tree for the VT52 window title, require the marker and absence of SDL startup errors, then terminate the client and Xvfb. This proves the selected installed binary creates its local display window and PTY child without network access; no Guix build or lint proof is claimed in this research because the local Guix daemon socket was unavailable. --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/56#issuecomment-5413637058). Originally posted by [htayj](https://github.com/htayj) on 2026-08-25T16:41:39Z.
Owner

Published signed Guix-authenticated commit c2e982a030. Main independently passed local source build, --check reproducibility, offline lint and isolated runtime/integrated target. All six SDL emulators rendered real PTY text then erased to zero differing pixels; private Xvfb/mount/network/PID isolation and immutable store checks. Actual VT52 screenshot616 visually inspected. Existing legacy compiler warnings remain disclosed in README. No physical keyboard/tape hardware, host display or deployed profile changed. PDP worker violated no-execution/no-Goocastle-renderer instructions on deleted temporary artifacts; none accepted as proof. All final gates and committed screenshots independently produced by Main without Goocastle execution.

Published signed Guix-authenticated commit c2e982a0303a49b2444ed22e9c1bd4edc7b92037. Main independently passed local source build, --check reproducibility, offline lint and isolated runtime/integrated target. All six SDL emulators rendered real PTY text then erased to zero differing pixels; private Xvfb/mount/network/PID isolation and immutable store checks. Actual VT52 screenshot616 visually inspected. Existing legacy compiler warnings remain disclosed in README. No physical keyboard/tape hardware, host display or deployed profile changed. PDP worker violated no-execution/no-Goocastle-renderer instructions on deleted temporary artifacts; none accepted as proof. All final gates and committed screenshots independently produced by Main without Goocastle execution.
tay closed this issue 2026-09-30 19:33:54 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tay/guix-channel#56
No description provided.