unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56455] gnu: Drop emacs-transient, emacs-project input from four packages
@ 2022-07-08 12:54 Jorge P. de Morais Neto
  2022-07-08 17:16 ` ( via Guix-patches via
  2022-07-16  3:30 ` bug#56455: " Maxim Cournoyer
  0 siblings, 2 replies; 3+ messages in thread
From: Jorge P. de Morais Neto @ 2022-07-08 12:54 UTC (permalink / raw)
  To: 56455

[-- Attachment #1: Type: text/plain, Size: 1504 bytes --]

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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Drop-emacs-transient-emacs-project-input-from-fo.patch --]
[-- Type: text/x-diff, Size: 3082 bytes --]

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


[-- Attachment #3: Type: text/plain, Size: 364 bytes --]


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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#56455] gnu: Drop emacs-transient, emacs-project input from four packages
  2022-07-08 12:54 [bug#56455] gnu: Drop emacs-transient, emacs-project input from four packages Jorge P. de Morais Neto
@ 2022-07-08 17:16 ` ( via Guix-patches via
  2022-07-16  3:30 ` bug#56455: " Maxim Cournoyer
  1 sibling, 0 replies; 3+ messages in thread
From: ( via Guix-patches via @ 2022-07-08 17:16 UTC (permalink / raw)
  To: Jorge P. de Morais Neto, 56455

FYI, it's usually best to include your patches inline with `git
send-email` :) An explanation of the command:
<https://git-send-email.io>
    -- (




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#56455: gnu: Drop emacs-transient, emacs-project input from four packages
  2022-07-08 12:54 [bug#56455] gnu: Drop emacs-transient, emacs-project input from four packages Jorge P. de Morais Neto
  2022-07-08 17:16 ` ( via Guix-patches via
@ 2022-07-16  3:30 ` Maxim Cournoyer
  1 sibling, 0 replies; 3+ messages in thread
From: Maxim Cournoyer @ 2022-07-16  3:30 UTC (permalink / raw)
  To: Jorge P. de Morais Neto; +Cc: 56455-done

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




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-16  3:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-08 12:54 [bug#56455] gnu: Drop emacs-transient, emacs-project input from four packages Jorge P. de Morais Neto
2022-07-08 17:16 ` ( via Guix-patches via
2022-07-16  3:30 ` bug#56455: " Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).