[Guix packaging] MatthewZMD/aidermacs #75
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#75
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
2fc993932d2df9270c3f85f8215f73600b78145c(default-branch snapshot checked 2026-08-14)Scope and blockers
Install the Emacs extension only; keep model providers and credentials out of the package.
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:17:02Z.
Goocastle recorded disposition: implementation-ready.
Created implementation ticket: #625.
Canonical source is https://github.com/MatthewZMD/aidermacs at fixed commit 2fc993932d2df9270c3f85f8215f73600b78145c; the six Elisp libraries at that revision identify version 1.11, so encode the package as 1.11-0.2fc9939 (or the equivalent Guix git-version result) while retaining the full commit. Use the codeload source https://codeload.github.com/MatthewZMD/aidermacs/tar.gz/2fc993932d2df9270c3f85f8215f73600b78145c with the existing channel hash 1x2v8i2kzbnlvx7b55fc9b47bg46xf669kghfhyiw6jdc5vpxvl4 from tay/packages/starred-i-m.scm:127-131. The exact-revision license evidence is
github.com/MatthewZMD/aidermacs@2fc993932d/LICENSE, which contains the complete Apache License 2.0 text; every tracked .el file also declares SPDX-License-Identifier: Apache-2.0. This is the only fetched origin: the pinned tree has no .gitmodules file or gitlink entries, and no separate submodule license review is required. The source is pure Elisp, with six aidermacs*.el libraries and no Makefile, Eask file, package.json, or upstream tests, so it is source-buildable with emacs-build-system; restrict installation to the six Elisp files and add LICENSE under share/doc/emacs-aidermacs. No equivalent installable package exists in the stock Guix or local-channel enumerations: the local channel only has matthewzmd-aidermacs-source 0-2fc9939, a copy-build-system preservation snapshot that does not install the extension; the recorded 2026-08-14 checks of the other Guix channels also found no same-origin package. Add tay/packages/aidermacs.scm, module (tay packages aidermacs), public package emacs-aidermacs, importing guix build-system emacs, guix gexp, guix packages, guix licenses, and tay packages starred-i-m, and reuse (package-source matthewzmd-aidermacs-source). Propagate emacs-transient >= 0.3.0, emacs-compat >= 30.0.2.0, and emacs-markdown-mode >= 2.7; the channel provides emacs-transient 0.13.2, emacs-compat 31.0.0.1, and emacs-markdown-mode 2.8. emacs-vterm is optional because the vterm backend uses (require 'vterm nil 'noerror); either document it as a separately installable optional input or propagate emacs-vterm if the package is intended to provide that optional backend by default. Do not add Aider, aider-ce, Python, uv, model-provider SDKs, credentials, or network services as package inputs. No wrapper is required: at runtime aidermacs-program defaults to (aider-ce aider), resolves the first executable with executable-find per workspace, and also accepts an absolute configured path; users must supply Aider externally on PATH or configure that variable. Model discovery/pricing and web-content actions are user-invoked network behavior and must not run during build or tests. Use an isolated test command in the emacs-build-system test phase that byte-compiles all six libraries with Emacs -Q --batch, adds the package and propagated dependency load paths, advises url-retrieve-synchronously to raise a network-prohibited error, requires aidermacs, asserts featurep aidermacs and commandp aidermacs-transient-menu, checks a local pure-Elisp transformation such as aidermacs--process-message-if-multi-line, sets default-directory to a non-Git temporary directory, sets exec-path to nil and PATH empty, clears the program cache, and asserts aidermacs-get-program fails with Aider executable not found rather than launching or networking. Final acceptance is guix lint -L. emacs-aidermacs, guix build -L. emacs-aidermacs, and that batch smoke proof; these package checks were not claimed or run because no implementation package exists and the host Guix daemon socket is unavailable.Imported from GitHub comment. Originally posted by htayj on 2026-08-26T09:25:54Z.