[Guix packaging] PDP-10/xpl-pdp-10 #61
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#61
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
0e57cbd9e2e2997134332f6784dccc262a069d99(default-branch snapshot checked 2026-08-14)Scope and blockers
Deliver the nexcom.xpl host compiler path, not the original PDP-10-only compiler.
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:52Z.
Goocastle recorded disposition: implementation-ready.
Created implementation ticket: #618.
Canonical target: https://github.com/PDP-10/xpl-pdp-10 at fixed commit 0e57cbd9e2e2997134332f6784dccc262a069d99 (version 0-0e57cbd, 2021-01-29). At that exact revision, README says the original compiler is PDP-10-only and that port/nexcom.xpl is the host port built with the XPL-to-C translator at https://sourceforge.net/projects/xpl-compiler/; port/makefile gives the source-build path: translate nexcom.xpl to nexcom.c with xpl, then link nexcom.c with libxpl.a and xpl.h. The parent origin's exact-revision license evidence is
github.com/PDP-10/xpl-pdp-10@0e57cbd9e2/COPYING: Free Public License 1.0.0 expressly permits use, copying, modification, and distribution for any purpose with or without fee. The bootstrap origin is the canonical SourceForge Git repository https://git.code.sf.net/p/xpl-compiler/code at fixed commit 643907731538b4e2256f11c48e3166bf5bb2609c (release 1.4, 2026-07-06); its exact-revision tree has its own COPYING with the same explicit grant, and its top-level/compiler makefiles build xpl and libxpl.a from tracked C sources before generating the XPL tools. There are no .gitmodules files or gitlink submodules in either fixed tree, so these are the complete independently fetched source origins and each has exact-revision redistribution evidence. The license is legally source-redistributable but non-standard; record LicenseRef-Free-Public-License-1.0.0 with a Guix custom license/non-copyleft value pointing to each exact COPYING file and retain both notices; the mapping needs normal Guix review, not a missing-permission blocker. No equivalent installed compiler package exists in the local channel or official Guix tree: tay/packages/pdp10-t-z.scm only provides pdp10-xpl-pdp-10-source, an unbuilt copy snapshot. Implement tay/packages/pdp10-xpl.scm, module (tay packages pdp10-xpl), with public package pdp10-xpl-pdp-10 and a private/native-input bootstrap package for the SourceForge translator. Use gnu-build-system; the target has the bootstrap translator as a native input only, implicit GCC/binutils/make for compilation, and no runtime XPL-to-C input because the generated nexcom executable is linked with libxpl.a. In the target build substitute the /Users/linda/xpl assignment in port/makefile with the bootstrap input's bin/include/lib paths, translate port/nexcom.xpl, link it with the bootstrap libxpl.a, install the executable under libexec, install port/xpl.lib and port/hello.xpl under share/pdp10-xpl, and retain the parent COPYING. The installed bin/xpl must be a Guix-path wrapper that executes the libexec compiler with -l $out/share/pdp10-xpl/xpl.lib before user arguments so the default library works from any working directory; later user -l arguments must remain able to override it. The isolated smoke proof is: in a fresh temporary directory with network disabled and no source checkout, invoke the installed bin/xpl on the installed hello.xpl with an absolute -o output path, assert exit status zero and a non-empty hello.rel; this proves the packaged host compiler and packaged local xpl.lib path without the bootstrap translator at runtime. Required acceptance facts after implementation are guix lint -L. pdp10-xpl-pdp-10 and guix build -L. pdp10-xpl-pdp-10, followed by that out-of-tree hello compilation; this research did not claim those package checks passed because no package definition was added.Imported from GitHub comment. Originally posted by htayj on 2026-08-25T17:17:38Z.