[Guix packaging] skangas/mentor #166

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

Candidate

  • Upstream canonical URL: https://github.com/skangas/mentor
  • Source pinned commit/release when known: default-branch HEAD ed42ae8333d801c841ecf80fb5e4957badb99b51 (checked 2026-08-14)
  • Target concrete installed deliverable: the Mentor Emacs frontend for rTorrent
  • Primary category: editor-extension
  • Tags: bittorrent, emacs
  • Primary language normalized: Elisp
  • Build system: emacs-build-system
  • SPDX expression: GPL-3.0
  • License status: confirmed-free
  • License evidence: Inspected the upstream license text at this pinned commit; GitHub identifies it as GPL-3.0 (GNU General Public License v3.0). No GPL only-or-later term is inferred beyond the upstream evidence.
  • Difficulty: moderate — Its Emacs dependencies and rTorrent-facing runtime path need offline test coverage.
  • 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

Package the editor extension; do not contact an rTorrent instance during build.

Acceptance checks

  • guix lint -L . mentor
  • guix build -L . mentor
  • batch-load Mentor and exercise its non-network configuration path.

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

## Candidate - Upstream canonical URL: https://github.com/skangas/mentor - Source pinned commit/release when known: default-branch HEAD `ed42ae8333d801c841ecf80fb5e4957badb99b51` (checked 2026-08-14) - Target concrete installed deliverable: the Mentor Emacs frontend for rTorrent - Primary category: editor-extension - Tags: bittorrent, emacs - Primary language normalized: Elisp - Build system: emacs-build-system - SPDX expression: GPL-3.0 - License status: confirmed-free - License evidence: Inspected the upstream license text at this pinned commit; GitHub identifies it as `GPL-3.0` (GNU General Public License v3.0). No GPL only-or-later term is inferred beyond the upstream evidence. - Difficulty: moderate — Its Emacs dependencies and rTorrent-facing runtime path need offline test coverage. - 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 Package the editor extension; do not contact an rTorrent instance during build. ## Acceptance checks - `guix lint -L . mentor` - `guix build -L . mentor` - batch-load Mentor and exercise its non-network configuration path. --- Imported from [GitHub issue/PR](https://github.com/htayj/guix-channel/issues/166). Originally posted by [htayj](https://github.com/htayj) on 2026-08-14T13:18:09Z.
htayj commented 2026-08-29 12:12:19 +00:00 (Migrated from github.com)

Goocastle recorded disposition: blocked.

Blocked by an existing equivalent package identity that requires an explicit update-versus-duplicate decision. The authoritative Guix revision currently in use is e343ff040092cd3428f7d35423add6fdb2939f53 (guix describe; repository https://git.guix.gnu.org/guix.git). Its gnu/packages/emacs-xyz.scm:23328-23354 defines emacs-mentor 0.5, and guix show emacs-mentor reports the same Mentor rTorrent Emacs frontend, home page https://elpa.nongnu.org/nongnu/mentor.html, propagated inputs emacs-async 1.9.9, emacs-url-scgi 0.9, and emacs-xml-rpc 1.6.15, and GPL 3+. The local channel has no installable mentor/emacs-mentor definition (guix lint -L . mentor reports unknown package); its only relevant entry is the source snapshot skangas-mentor-source. Adding a new mentor or emacs-mentor deliverable unattended would duplicate/conflict with current Guix coverage. The issue snapshot's 2026-08-14 no-equivalent result is stale. The requested pinned tree is not byte-identical to the existing ELPA 0.5 archive: at ed42ae8333d801c841ecf80fb5e4957badb99b51 (GitHub HEAD metadata and codeload URL github.com/skangas/mentor@ed42ae8333), mentor.el, mentor-data.el, mentor-files.el, mentor-rpc.el, and README.org differ and mentor-trackers.el, test files, COPYING, Makefile, and test-rtorrent.py are present only in the pinned tree. Thus this is a possible update of the existing emacs-mentor package, not an unambiguous new package. Legal/source assessment is otherwise clear: the pinned repository has no .gitmodules or fetched submodules; COPYING at that exact commit is GNU GPL version 3, every shipped Elisp library carries the GPL notice, and mentor.el explicitly has SPDX-License-Identifier: GPL-3.0-or-later, so redistribution is granted under GPL-3.0-or-later. The direct runtime dependency origins are independently licensed at fixed revisions: emacs-async v1.9.9 resolves to commit 995fcab501c3bc44aa50cd805ed1bd11c3c42638 and its COPYING is GPLv3; emacs-url-scgi 0.9 is the fixed GNU ELPA url-scgi-0.9 archive (Guix base32 0mfbqr03302gk38aamlg1lgdznd6y3blcc3zizfb72ppb87j78mc; upstream tag url-scgi-0.9 resolves to ccf30c3647cd6a560cadc795bd92769c0a0c9de9) and url-scgi.el explicitly says GPL-3.0-or-later; emacs-xml-rpc 1.6.15 resolves to commit 8020ccd176986d8e49e0bb5dd9f4e756cf12eafc and its LICENSE is GPLv3. seq, cl-lib, dired, term, sort, and subr-x are Emacs libraries, not separately fetched package origins. If maintainers explicitly authorize superseding/updating the existing emacs-mentor identity to the pinned commit, the actionable module is (tay packages mentor), using emacs-build-system and skangas-mentor-source, installing mentor.el, mentor-data.el, mentor-files.el, mentor-rpc.el, and mentor-trackers.el plus COPYING, propagating the three existing Emacs libraries above, and not adding rtorrent as a build input. No wrapper is needed: at runtime M-x mentor uses executable-find "rtorrent" and starts it with a generated config under locate-user-emacs-file "mentor/", while mentor-rtorrent-external-rpc supports an existing SCGI/HTTP(S)/socket endpoint; the build must never invoke either path. The isolated smoke proof should run after the name/identity decision: guix lint -L . mentor (or the explicitly approved emacs-mentor name), guix build -L . mentor, then env -i with temporary HOME/XDG/TMPDIR/PATH, a private unshare --user --map-root-user --net --fork namespace, and Emacs --batch -Q loading the installed library and dependency paths; require mentor, assert the mentor command and feature, assert mentor-normalize-rpc-url converts /tmp/rtorrent.rpc to scgi:///tmp/rtorrent.rpc and leaves an HTTPS URL unchanged, call mentor-rtorrent-create-conf only on a temporary file and verify scgi_local and encoding.add lines, and run the two upstream ERT files. Do not call mentor, start rtorrent, or contact XML-RPC. Also fingerprint the installed output before/after and assert no installed file is writable. This is unblocked only when the maintainer confirms that the requested pinned revision should intentionally supersede/update current Guix emacs-mentor, or supplies a distinct package name and concrete non-duplicate rationale; the current missing Guix daemon prevented build/lint proof here, so those acceptance gates remain for the approved implementation ticket, not package proof. No commit or package-definition change was made.


Imported from GitHub comment. Originally posted by htayj on 2026-08-29T12:12:19Z.

<!-- goocastle-disposition:sequential-reviewer:166:1:blocked --> Goocastle recorded disposition: blocked. Blocked by an existing equivalent package identity that requires an explicit update-versus-duplicate decision. The authoritative Guix revision currently in use is e343ff040092cd3428f7d35423add6fdb2939f53 (guix describe; repository https://git.guix.gnu.org/guix.git). Its gnu/packages/emacs-xyz.scm:23328-23354 defines emacs-mentor 0.5, and guix show emacs-mentor reports the same Mentor rTorrent Emacs frontend, home page https://elpa.nongnu.org/nongnu/mentor.html, propagated inputs emacs-async 1.9.9, emacs-url-scgi 0.9, and emacs-xml-rpc 1.6.15, and GPL 3+. The local channel has no installable mentor/emacs-mentor definition (guix lint -L . mentor reports unknown package); its only relevant entry is the source snapshot skangas-mentor-source. Adding a new mentor or emacs-mentor deliverable unattended would duplicate/conflict with current Guix coverage. The issue snapshot's 2026-08-14 no-equivalent result is stale. The requested pinned tree is not byte-identical to the existing ELPA 0.5 archive: at ed42ae8333d801c841ecf80fb5e4957badb99b51 (GitHub HEAD metadata and codeload URL https://github.com/skangas/mentor/tree/ed42ae8333d801c841ecf80fb5e4957badb99b51), mentor.el, mentor-data.el, mentor-files.el, mentor-rpc.el, and README.org differ and mentor-trackers.el, test files, COPYING, Makefile, and test-rtorrent.py are present only in the pinned tree. Thus this is a possible update of the existing emacs-mentor package, not an unambiguous new package. Legal/source assessment is otherwise clear: the pinned repository has no .gitmodules or fetched submodules; COPYING at that exact commit is GNU GPL version 3, every shipped Elisp library carries the GPL notice, and mentor.el explicitly has SPDX-License-Identifier: GPL-3.0-or-later, so redistribution is granted under GPL-3.0-or-later. The direct runtime dependency origins are independently licensed at fixed revisions: emacs-async v1.9.9 resolves to commit 995fcab501c3bc44aa50cd805ed1bd11c3c42638 and its COPYING is GPLv3; emacs-url-scgi 0.9 is the fixed GNU ELPA url-scgi-0.9 archive (Guix base32 0mfbqr03302gk38aamlg1lgdznd6y3blcc3zizfb72ppb87j78mc; upstream tag url-scgi-0.9 resolves to ccf30c3647cd6a560cadc795bd92769c0a0c9de9) and url-scgi.el explicitly says GPL-3.0-or-later; emacs-xml-rpc 1.6.15 resolves to commit 8020ccd176986d8e49e0bb5dd9f4e756cf12eafc and its LICENSE is GPLv3. seq, cl-lib, dired, term, sort, and subr-x are Emacs libraries, not separately fetched package origins. If maintainers explicitly authorize superseding/updating the existing emacs-mentor identity to the pinned commit, the actionable module is (tay packages mentor), using emacs-build-system and skangas-mentor-source, installing mentor.el, mentor-data.el, mentor-files.el, mentor-rpc.el, and mentor-trackers.el plus COPYING, propagating the three existing Emacs libraries above, and not adding rtorrent as a build input. No wrapper is needed: at runtime M-x mentor uses executable-find "rtorrent" and starts it with a generated config under locate-user-emacs-file "mentor/", while mentor-rtorrent-external-rpc supports an existing SCGI/HTTP(S)/socket endpoint; the build must never invoke either path. The isolated smoke proof should run after the name/identity decision: guix lint -L . mentor (or the explicitly approved emacs-mentor name), guix build -L . mentor, then env -i with temporary HOME/XDG/TMPDIR/PATH, a private unshare --user --map-root-user --net --fork namespace, and Emacs --batch -Q loading the installed library and dependency paths; require mentor, assert the mentor command and feature, assert mentor-normalize-rpc-url converts /tmp/rtorrent.rpc to scgi:///tmp/rtorrent.rpc and leaves an HTTPS URL unchanged, call mentor-rtorrent-create-conf only on a temporary file and verify scgi_local and encoding.add lines, and run the two upstream ERT files. Do not call mentor, start rtorrent, or contact XML-RPC. Also fingerprint the installed output before/after and assert no installed file is writable. This is unblocked only when the maintainer confirms that the requested pinned revision should intentionally supersede/update current Guix emacs-mentor, or supplies a distinct package name and concrete non-duplicate rationale; the current missing Guix daemon prevented build/lint proof here, so those acceptance gates remain for the approved implementation ticket, not package proof. No commit or package-definition change was made. --- Imported from [GitHub comment](https://github.com/htayj/guix-channel/issues/166#issuecomment-5462348392). Originally posted by [htayj](https://github.com/htayj) on 2026-08-29T12:12:19Z.
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#166
No description provided.