[Guix packaging] larsbrinkhoff/pdp10-gcc #49
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#49
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
3c67a2b56b8a02041bdfca00d012bcccbe4168e5(default-branch snapshot checked 2026-08-14)Scope and blockers
Deliver a host cross compiler targeting PDP-10; do not include a guest OS image.
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:42Z.
Goocastle recorded disposition: implementation-ready.
Created implementation ticket: #610.
Canonical upstream is https://github.com/larsbrinkhoff/pdp10-gcc at fixed revision 3c67a2b56b8a02041bdfca00d012bcccbe4168e5; gcc/version.c identifies the source as GCC 3.2 20020416 (experimental), and the existing channel source snapshot records the codeload origin and Guix hash 1ll89jjpfxfxr4fvxmx5yrjyxhp1zscrj0w2dbirgzr5rm3r9p8c. The root COPYING and gcc/COPYING grant GPL-2.0-only for the compiler; gcc/COPYING.LIB is LGPL-2.1 for library material, boehm-gc/doc/README grants use/copy/modify/distribute with retained notices, libffi/LICENSE is MIT-style, zlib/zlib.h has its permissive zlib grant, and libjava/LIBGCJ_LICENSE is GPL-2.0 with a linking exception. git ls-tree -r at the fixed revision has zero mode-160000 entries, so there are no separately fetched Git submodules requiring independent license evidence; the listed bundled notices are within the one fetched parent origin and must remain available. The source is buildable as a compiler-backend/code-generation package, not as a complete target toolchain: config.sub canonicalizes the selected target to pdp10-unknown-tops20, gcc/config.gcc has the PDP-10 TOPS-20 backend case, and the upstream project page documents historical assembly/link/run through remote TOPS-20/KLH10 tooling and the lack of a full cross-development environment. The pinned tree contains no target binutils/as, target libc, newlib, guest OS, or usable offline target linker, so the package must deliberately build only all-gcc and install-gcc and must not claim object assembly, linking, or execution. No equivalent installable compiler exists in the local channel or current Guix search: larsbrinkhoff-pdp10-gcc-source is preservation-only and SIMH is an emulator. Delivery brief: define pdp10-gcc in a dedicated tay/packages/pdp10-gcc.scm module, import the exact existing source origin from tay/packages/larsbrinkhoff-n-s.scm, use gnu-build-system, version 3.2-20020416, and configure for build/host x86_64-linux with --target=pdp10-unknown-tops20 --enable-languages=c --disable-nls --disable-multilib --disable-shared --disable-threads --disable-libstdc++-v3 --disable-libgcj --disable-checking plus --with-gnu-as only to select the bundled pdp10/gas.h output dialect. Use gcc-toolchain-4.9 as the native C/C++ bootstrap toolchain (it also supplies host binutils), with bison, flex, texinfo, perl, and m4 as explicit native build tools; there are no target inputs or target libc inputs. Install the target-prefixed driver pdp10-unknown-tops20-gcc, cpp, and private cc1 support; if a wrapper is needed for private libexec lookup, set GCC_EXEC_PREFIX or -B only to this output and never add the host as/ld, and make unsupported assemble/link attempts fail rather than silently using host tools. The isolated offline smoke proof is: after guix build -L. pdp10-gcc, create int add(int a,int b){return a+b;} in a temporary directory, invoke the installed pdp10-unknown-tops20-gcc with -S -O0 -ffreestanding to produce a nonempty add.s, and assert PDP-10 mnemonics such as MOVE/ADD/POPJ are present; do not run a target binary or fetch/use a guest image. The implementation issue must then run guix lint -L. pdp10-gcc and guix build -L. pdp10-gcc and report those results; this research does not claim either proof.
Imported from GitHub comment. Originally posted by htayj on 2026-08-25T14:30:17Z.