[Guix packaging] larsbrinkhoff/fmacs #43
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#43
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
e1564eaa0035de0529821ccf70269965d5dbd4cf(default-branch snapshot checked 2026-08-14)Scope and blockers
Install fmacs with a wrapper that locates lbForth and its sources.
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:37Z.
Goocastle recorded disposition: blocked.
Canonical upstream is https://github.com/larsbrinkhoff/fmacs at fixed commit e1564eaa0035de0529821ccf70269965d5dbd4cf; it has no release, and its LICENSE identifies GPL-3.0-only. The pinned Makefile/build.fth can technically produce an x86/Linux standalone image only by running lbForth's forth against its lib/src/targets tree; the upstream README says fmacs only runs in lbForth. The local channel has source snapshots for fmacs, lbForth, and the metacompiler but no equivalent installable fmacs or lbForth package, and read-only guix search found no such package. The required lbForth revision 912433b150b64252070116a5fd5c1a29ff29b26d is GPL-3.0 and its INSTALL requires GCC with C headers, GNU make, and a Lisp compiler, but its .gitmodules pins the bootstrap submodule https://github.com/larsbrinkhoff/forth-metacompiler to 40b99c09628f616d94649009ba9894340088d77c. The exact forth-metacompiler tree contains only .gitattributes, .gitignore, README, lisp.sh, meta.lisp, and words.lisp: it has no LICENSE/COPYING or explicit redistribution grant, and the local channel records that snapshot with its no-permission marker. That required bootstrap source is therefore not legally cleared for an unattended Guix source/native input or published package. Separately, the pinned fmacs README states that C-x C-f is a stub and does not load a file, so the literal acceptance check to launch against a temporary block file has no supported upstream behavior. Unblock only when upstream supplies an explicit license covering forth-metacompiler commit 40b99c09628f616d94649009ba9894340088d77c or a clear-license replacement bootstrap source is fixed, and the acceptance is revised to a scratch-buffer PTY smoke or upstream adds fixed-source block-file loading. After those conditions, implement tay/packages/fmacs.scm with gnu-build-system and custom phases, exact fmacs/lbForth/metacompiler revisions, native inputs for a Lisp compiler, GCC toolchain, GNU make, and grep/coreutils, stage the metacompiler at lbForth/lisp, build the x86 Linux image with a fixed lbForth sysdir, install the standalone image plus a wrapper that resolves the packaged lbForth forth and source tree, and smoke it in an isolated PTY with a temporary block fixture; do not treat that plan as package proof.
Imported from GitHub comment. Originally posted by htayj on 2026-08-25T13:08:29Z.