emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#56455: closed (gnu: Drop emacs-transient, emacs-project input from f


From: GNU bug Tracking System
Subject: bug#56455: closed (gnu: Drop emacs-transient, emacs-project input from four packages)
Date: Sat, 16 Jul 2022 03:31:01 +0000

Your message dated Fri, 15 Jul 2022 23:30:09 -0400
with message-id <871qulspj2.fsf@gmail.com>
and subject line Re: bug#56455: gnu: Drop emacs-transient, emacs-project input 
from four packages
has caused the debbugs.gnu.org bug report #56455,
regarding gnu: Drop emacs-transient, emacs-project input from four packages
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
56455: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56455
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: gnu: Drop emacs-transient, emacs-project input from four packages Date: Fri, 08 Jul 2022 09:54:21 -0300
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.

>From a0a682e6e4b53282e9e45703c870132310764f3c Mon Sep 17 00:00:00 2001
From: "Jorge P. de Morais Neto" <jorge+git@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@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

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?"

--- End Message ---
--- Begin Message --- Subject: Re: bug#56455: gnu: Drop emacs-transient, emacs-project input from four packages Date: Fri, 15 Jul 2022 23:30:09 -0400 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)
Hi Jorge,

"Jorge P. de Morais Neto" <jorge+git@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@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@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@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


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]