[Guix packaging] skangas/mentor #166
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#166
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
ed42ae8333d801c841ecf80fb5e4957badb99b51(checked 2026-08-14)GPL-3.0(GNU General Public License v3.0). No GPL only-or-later term is inferred beyond the upstream evidence.Scope and blockers
Package the editor extension; do not contact an rTorrent instance during build.
Acceptance checks
guix lint -L . mentorguix build -L . mentorImported from GitHub issue/PR. Originally posted by htayj on 2026-08-14T13:18:09Z.
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.