Package: guix-patches;
Reported by: "Jorge P. de Morais Neto" <jorge+git <at> disr.it>
Date: Fri, 8 Jul 2022 16:40:03 UTC
Severity: normal
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: "Jorge P. de Morais Neto" <jorge+git <at> disr.it> Subject: bug#56455: closed (Re: bug#56455: gnu: Drop emacs-transient, emacs-project input from four packages) Date: Sat, 16 Jul 2022 03:31:01 +0000
[Message part 1 (text/plain, inline)]
Your bug report #56455: gnu: Drop emacs-transient, emacs-project input from four packages which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 56455 <at> debbugs.gnu.org. -- 56455: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56455 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: "Jorge P. de Morais Neto" <jorge+git <at> disr.it> Cc: 56455-done <at> debbugs.gnu.org Subject: Re: bug#56455: gnu: Drop emacs-transient, emacs-project input from four packages Date: Fri, 15 Jul 2022 23:30:09 -0400Hi Jorge, "Jorge P. de Morais Neto" <jorge+git <at> disr.it> writes: > Hi. I apologize for any mistakes and welcome feedback. This is my > first patch to Guix; let's hope that many others will follow! I see low > hanging fruits: including the several other Emacs packages still > unnecessarily pulling emacs-transient, emacs-project and other Elisp > libraries that are now builtin. Thanks for this first patch of yours :-). > I have been using these modified packages. I have also checked this > patch with ~guix lint~ and ~guix build --check~. The four packages > build well; the only warning messages were: > > In git-timemachine-completing-read-fn: > git-timemachine.el:101:8: Warning: docstring wider than 80 characters > > In git-timemachine--find-new-current-line: > git-timemachine.el:259:8: Warning: docstring wider than 80 characters > > In git-timemachine--get-cursor-position: > git-timemachine.el:294:8: Warning: docstring wider than 80 characters > > In git-timemachine--set-cursor-position: > git-timemachine.el:300:8: Warning: docstring wider than 80 characters > git-timemachine.el:347:1: Warning: ‘define-transient-command’ is an obsolete > alias (as of Transient 0.3.0); use ‘transient-define-prefix’ instead. > > In end of data: > git-timemachine.el:247:19: Warning: the function ‘erm-reset-buffer’ is not > known to be defined. > > geiser-autodoc.el:69:12: Warning: ‘eldoc-message’ is an obsolete function (as > of eldoc-1.1.0); use ‘eldoc-documentation-functions’ instead. > > git-commit-pkg.el:1:2: Warning: the function ‘define-package’ is not known to > be defined. I suppose they run fine as well? The patch seems reasonable to me. I'll offer a few cosmetic comments below to adjust for some conventions. >>From a0a682e6e4b53282e9e45703c870132310764f3c Mon Sep 17 00:00:00 2001 > From: "Jorge P. de Morais Neto" <jorge+git <at> disr.it> > Date: Fri, 8 Jul 2022 09:23:29 -0300 > Subject: [PATCH] gnu: Drop emacs-transient, emacs-project input from four > packages > > Drop emacs-transient (and emacs-project) propagated input from: > - emacs-git-timemachine > - emacs-ytdl > - emacs-geiser > - emacs-magit > > I use Guix package manager (manually installed) atop Debian bullseye. My > Emacs is from Guix package emacs-next with a package transformation option to > pull from current Git master. When trying to use the new emoji commands on > the "C-x 8e" prefix, I got an error message about transient. I solved it by > modifying Guix recipes to not pull emacs-transient as propagated input of some > Emacs packages I installed via Guix. > > Guix packages Emacs 28.1 and emacs-next 29.0.50, and both have Transient > built-in. Therefore, pulling transient external package it as propagated > input of other packages is wasteful redundancy, and, worse, causes errors. > >>From emacs-geiser also drop emacs-project (also builtin on Emacs 28.1). > > For emacs-ytdl also add the required emacs-dash dependency. > > See email message ID 87sfnhalvo.fsf <at> disr.it on guix-devel mailing list. > > Several other unnecessary dependencies on builtin Emacs libraries (including > transient and project) probably remain on emacs-xyz. If you look at other git logs using "git log" on the repository, you'll see that most changes are authored in the GNU ChangeLog style, which is summarily described in the GNU standards document, which can be installed with 'guix install gnu-standards' and consulted with info "(standards) Change Logs". > --- > gnu/packages/emacs-xyz.scm | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm > index 2e259287b8..b68a15bc4a 100644 > --- a/gnu/packages/emacs-xyz.scm > +++ b/gnu/packages/emacs-xyz.scm > @@ -278,8 +278,6 @@ (define-public emacs-geiser > "-o" "geiser.info" "geiser.texi"))))))) > (native-inputs > (list texinfo)) > - (propagated-inputs > - (list emacs-project emacs-transient)) > (home-page "https://www.nongnu.org/geiser/") > (synopsis "Collection of Emacs modes for Scheme hacking") > (description > @@ -1005,7 +1003,7 @@ (define-public emacs-magit > (inputs > (list git perl)) > (propagated-inputs > - (list emacs-dash emacs-transient emacs-with-editor)) > + (list emacs-dash emacs-with-editor)) > (home-page "https://magit.vc/") > (synopsis "Emacs interface for the Git version control system") > (description > @@ -4646,8 +4644,6 @@ (define-public emacs-git-timemachine > (base32 > "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n")))) > (build-system emacs-build-system) > - (propagated-inputs > - (list emacs-transient)) > (home-page "https://gitlab.com/pidu/git-timemachine") > (synopsis "Step through historic versions of Git-controlled files") > (description "This package enables you to step through historic versions > @@ -23308,7 +23304,7 @@ (define-public emacs-ytdl > (inputs > (list youtube-dl)) > (propagated-inputs > - (list emacs-async emacs-transient)) > + (list emacs-async emacs-dash)) > (home-page "https://gitlab.com/tuedachu/ytdl") > (synopsis "Emacs interface for youtube-dl") > (description Packaging changes in Guix are usually prepared per package, that is, one commit per package touched, something like this: --8<---------------cut here---------------start------------->8--- gnu: emacs-geiser: Use builtin project and transient libraries. These libraries are now included in Emacs 28. * gnu/packages/emacs-xyz.scm (emacs-geiser)[propagated-inputs]: Delete field. 1 file changed, 2 deletions(-) gnu/packages/emacs-xyz.scm | 2 -- modified gnu/packages/emacs-xyz.scm @@ -278,8 +278,6 @@ (define-public emacs-geiser "-o" "geiser.info" "geiser.texi"))))))) (native-inputs (list texinfo)) - (propagated-inputs - (list emacs-project emacs-transient)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Collection of Emacs modes for Scheme hacking") (description --8<---------------cut here---------------end--------------->8--- and: --8<---------------cut here---------------start------------->8--- gnu: emacs-magit: Use builtin transient library. The transient library is now included in Emacs 28. * gnu/packages/emacs-xyz.scm (emacs-magit) [propagated-inputs]: Delete emacs-transient. Signed-off-by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) gnu/packages/emacs-xyz.scm | 2 +- modified gnu/packages/emacs-xyz.scm @@ -1008,7 +1008,7 @@ (define-public emacs-magit (inputs (list git perl)) (propagated-inputs - (list emacs-dash emacs-transient emacs-with-editor)) + (list emacs-dash emacs-with-editor)) (home-page "https://magit.vc/") (synopsis "Emacs interface for the Git version control system") (description --8<---------------cut here---------------end--------------->8--- etc. I've made these adjustments for you since it's your first commit, and pushed the master branch; you can see your change partitioned as 4 commits with: --8<---------------cut here---------------start------------->8--- $ git log 6ff3fe86b5f72c982b59cd4c8b7fc3295961a9a7^..82fa1a38e7fab036c62ca9cfc396286ca007e456 --8<---------------cut here---------------end--------------->8--- Thank you for this first contribution! I look forward to see more :-). Maxim
[Message part 3 (message/rfc822, inline)]
From: "Jorge P. de Morais Neto" <jorge+git <at> disr.it> To: guix-patches <at> gnu.org Subject: gnu: Drop emacs-transient, emacs-project input from four packages Date: Fri, 08 Jul 2022 09:54:21 -0300[Message part 4 (text/plain, inline)]Hi. I apologize for any mistakes and welcome feedback. This is my first patch to Guix; let's hope that many others will follow! I see low hanging fruits: including the several other Emacs packages still unnecessarily pulling emacs-transient, emacs-project and other Elisp libraries that are now builtin. I have been using these modified packages. I have also checked this patch with ~guix lint~ and ~guix build --check~. The four packages build well; the only warning messages were: In git-timemachine-completing-read-fn: git-timemachine.el:101:8: Warning: docstring wider than 80 characters In git-timemachine--find-new-current-line: git-timemachine.el:259:8: Warning: docstring wider than 80 characters In git-timemachine--get-cursor-position: git-timemachine.el:294:8: Warning: docstring wider than 80 characters In git-timemachine--set-cursor-position: git-timemachine.el:300:8: Warning: docstring wider than 80 characters git-timemachine.el:347:1: Warning: ‘define-transient-command’ is an obsolete alias (as of Transient 0.3.0); use ‘transient-define-prefix’ instead. In end of data: git-timemachine.el:247:19: Warning: the function ‘erm-reset-buffer’ is not known to be defined. geiser-autodoc.el:69:12: Warning: ‘eldoc-message’ is an obsolete function (as of eldoc-1.1.0); use ‘eldoc-documentation-functions’ instead. git-commit-pkg.el:1:2: Warning: the function ‘define-package’ is not known to be defined.[0001-gnu-Drop-emacs-transient-emacs-project-input-from-fo.patch (text/x-diff, inline)]From a0a682e6e4b53282e9e45703c870132310764f3c Mon Sep 17 00:00:00 2001 From: "Jorge P. de Morais Neto" <jorge+git <at> disr.it> Date: Fri, 8 Jul 2022 09:23:29 -0300 Subject: [PATCH] gnu: Drop emacs-transient, emacs-project input from four packages Drop emacs-transient (and emacs-project) propagated input from: - emacs-git-timemachine - emacs-ytdl - emacs-geiser - emacs-magit I use Guix package manager (manually installed) atop Debian bullseye. My Emacs is from Guix package emacs-next with a package transformation option to pull from current Git master. When trying to use the new emoji commands on the "C-x 8e" prefix, I got an error message about transient. I solved it by modifying Guix recipes to not pull emacs-transient as propagated input of some Emacs packages I installed via Guix. Guix packages Emacs 28.1 and emacs-next 29.0.50, and both have Transient built-in. Therefore, pulling transient external package it as propagated input of other packages is wasteful redundancy, and, worse, causes errors. From emacs-geiser also drop emacs-project (also builtin on Emacs 28.1). For emacs-ytdl also add the required emacs-dash dependency. See email message ID 87sfnhalvo.fsf <at> disr.it on guix-devel mailing list. Several other unnecessary dependencies on builtin Emacs libraries (including transient and project) probably remain on emacs-xyz. --- gnu/packages/emacs-xyz.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2e259287b8..b68a15bc4a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -278,8 +278,6 @@ (define-public emacs-geiser "-o" "geiser.info" "geiser.texi"))))))) (native-inputs (list texinfo)) - (propagated-inputs - (list emacs-project emacs-transient)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Collection of Emacs modes for Scheme hacking") (description @@ -1005,7 +1003,7 @@ (define-public emacs-magit (inputs (list git perl)) (propagated-inputs - (list emacs-dash emacs-transient emacs-with-editor)) + (list emacs-dash emacs-with-editor)) (home-page "https://magit.vc/") (synopsis "Emacs interface for the Git version control system") (description @@ -4646,8 +4644,6 @@ (define-public emacs-git-timemachine (base32 "1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n")))) (build-system emacs-build-system) - (propagated-inputs - (list emacs-transient)) (home-page "https://gitlab.com/pidu/git-timemachine") (synopsis "Step through historic versions of Git-controlled files") (description "This package enables you to step through historic versions @@ -23308,7 +23304,7 @@ (define-public emacs-ytdl (inputs (list youtube-dl)) (propagated-inputs - (list emacs-async emacs-transient)) + (list emacs-async emacs-dash)) (home-page "https://gitlab.com/tuedachu/ytdl") (synopsis "Emacs interface for youtube-dl") (description -- 2.36.1[Message part 6 (text/plain, inline)]Cheers! -- - Many people hate injustice but few check the facts; this causes more injustice. Ask me about <https://stallmansupport.org> - Please adopt free/libre formats like PDF, Org, LaTeX, ODF, Opus, WebM and 7z. - Libre apps for AOSP (Replicant, LineageOS, etc.) and Android: F-Droid - https://www.gnu.org/philosophy/free-sw.html "What is free software?"
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.