[Guix packaging] GmEsoft/SP0256_CTS256A-AL2 #70
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#70
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
bbc75dca9af8a9c2df239294b0014629b70daf05(default-branch snapshot checked 2026-08-14)Scope and blockers
Deliver host speech-synthesis emulator programs/libraries 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:58Z.
Goocastle recorded disposition: blocked.
Canonical source is https://github.com/GmEsoft/SP0256_CTS256A-AL2 at fixed revision bbc75dca9af8a9c2df239294b0014629b70daf05 (upstream README version 0.0.6-alpha, 2024-08-16 merge commit). The local channel has no installable equivalent; it only has gmesoft-sp0256-cts256a-al2-source in tay/packages/starred-d-h.scm at that revision. The pinned tree has no .gitmodules file and no gitlink entries, so there are no independently fetched submodule origins requiring separate license review. The top-level LICENSE is the full GPL version 3 text, source headers grant GPL-3-or-later, and SP0256/sp0256.c contains an explicit GPL-2-or-later notice with Joseph Zbiciak copyright; the license evidence therefore supports free source code but does not support the issue metadata's GPL-3.0-only expression without correction. The exact pinned README also states that Microchip, Inc. holds the copyrights to the SP0256-AL2 design and ROM image and the CTS256A-AL2 ROM image, and retains IP rights in the emulated algorithms and data. Those required bundled assets are embedded in SP0256/sp0256_012.cpp, SP0256/sp0256_al2.cpp, and CTS256A-AL2/runtime.h at this same parent revision. Neither the README nor the GPL notices provide a clear redistribution grant from Microchip or another rightsholder for those assets; the parent repository license cannot cure that third-party rights gap. This is the concrete blocker: unattended Guix redistribution of the requested emulators is legally unsafe until upstream supplies an explicit grant from Microchip/current rightsholders covering the exact ROM images and emulation data, or replaces them with independently redistributable material. Technical assessment after that grant: the repository has only Visual Studio .sln/.vcproj/.vcxproj projects, targets Win32/v141, links winmm.lib, and uses Windows-only windows.h, mmsystem.h waveOut, Win32Sleeper, _tmain/_TCHAR, and conio APIs; it has no Makefile, CMake file, or native Guix build. A package would need a gnu-build-system definition (candidate placement gnu/packages/audio.scm), no external library inputs evident after a POSIX stdio/sleep port, and patches to compile both cts256a-al2 and sp0256, keep CTS allophone output on stdout, make the SP0256 -wFILE path use the bundled 8-bit PCM mono WAV writer without any audio hardware, and avoid the Win32 waveOut default path. The isolated acceptance smoke once rights are cleared is: run cts256a-al2 -n 'Hello World.' to a temporary allophone file, feed it to sp0256 -i- -w/tmp-file.wav with network disabled and no audio device, then assert successful exit, RIFF/WAVE plus PCM=1, mono=1, 8-bit metadata, a nonempty data chunk, and deterministic nonempty CTS output; this is a planned acceptance proof, not package proof.
Imported from GitHub comment. Originally posted by htayj on 2026-08-25T19:56:16Z.