[Guix packaging] MatthewZMD/aidermacs #75

Open
opened 2026-08-14 13:17:02 +00:00 by htayj · 1 comment
htayj commented 2026-08-14 13:17:02 +00:00 (Migrated from github.com)

Candidate

  • Upstream canonical URL: https://github.com/MatthewZMD/aidermacs
  • Source pinned commit/release when known: 2fc993932d2df9270c3f85f8215f73600b78145c (default-branch snapshot checked 2026-08-14)
  • Target concrete installed deliverable: aidermacs Emacs AI-pair-programming extension
  • Primary category: editor-extension
  • Tags: agentic-coding, ai-ml, emacs
  • Primary language normalized: Elisp
  • Build system: emacs-build-system
  • SPDX expression: Apache-2.0
  • License status: declared-free
  • License evidence: GitHub repository metadata declares Apache-2.0; the upstream license text still needs package-review confirmation.
  • Difficulty: hard — The extension depends on external Aider/model tooling and must retain a clear no-network test boundary.
  • Workflow state: research
  • Existing Guix coverage: Checked 2026-08-14: GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix 'R Us, and RDE; no equivalent package with the same upstream origin was found.

Scope and blockers

Install the Emacs extension only; keep model providers and credentials out of the package.

Acceptance checks

  • guix lint -L. <package-name> and guix build -L. <package-name> pass once a package definition exists.
  • Byte-compile/load in batch Emacs and run local command discovery with external tools unavailable.

Imported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:17:02Z.

## Candidate - Upstream canonical URL: https://github.com/MatthewZMD/aidermacs - Source pinned commit/release when known: `2fc993932d2df9270c3f85f8215f73600b78145c` (default-branch snapshot checked 2026-08-14) - Target concrete installed deliverable: aidermacs Emacs AI-pair-programming extension - Primary category: editor-extension - Tags: agentic-coding, ai-ml, emacs - Primary language normalized: Elisp - Build system: emacs-build-system - SPDX expression: Apache-2.0 - License status: declared-free - License evidence: GitHub repository metadata declares Apache-2.0; the upstream license text still needs package-review confirmation. - Difficulty: hard — The extension depends on external Aider/model tooling and must retain a clear no-network test boundary. - Workflow state: research - Existing Guix coverage: Checked 2026-08-14: GNU Guix, Nonguix, Guix Science, Guix HPC, Guix Past, Guix 'R Us, and RDE; no equivalent package with the same upstream origin was found. ## Scope and blockers Install the Emacs extension only; keep model providers and credentials out of the package. ## Acceptance checks - `guix lint -L. <package-name>` and `guix build -L. <package-name>` pass once a package definition exists. - Byte-compile/load in batch Emacs and run local command discovery with external tools unavailable. --- Imported from [GitHub issue/PR](https://github.com/htayj/guix-channel/issues/75). Originally posted by [htayj](https://github.com/htayj) on 2026-08-14T13:17:02Z.
htayj commented 2026-08-26 09:25:54 +00:00 (Migrated from github.com)

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.

<!-- goocastle-disposition:sequential-reviewer:75:1:implementation-ready --> 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 https://github.com/MatthewZMD/aidermacs/blob/2fc993932d2df9270c3f85f8215f73600b78145c/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](https://github.com/htayj/guix-channel/issues/75#issuecomment-5423283972). Originally posted by [htayj](https://github.com/htayj) on 2026-08-26T09:25:54Z.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tay/guix-channel#75
No description provided.