[PATCH] gnu: emacs-desktop-environment: Include runtime dependencies

  • Open
  • quality assurance status badge
Details
4 participants
  • Ludovic Courtès
  • Nicolas Goaziou
  • Reily Siegel
  • zimoun
Owner
unassigned
Submitted by
Reily Siegel
Severity
normal
R
R
Reily Siegel wrote on 27 Aug 2021 20:36
(address . guix-patches@gnu.org)
87pmtyrayf.fsf@reilysiegel.com
* gnu/packages/emacs-xyz.scm (emacs-desktop-environment): Include runtime
dependencies.
---
gnu/packages/emacs-xyz.scm | 9 +++++++++
1 file changed, 9 insertions(+)

Toggle diff (29 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7672168a0e..ed18692b29 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -160,6 +160,7 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages suckless)
#:use-module (gnu packages telephony)
#:use-module (gnu packages terminals)
#:use-module (gnu packages tex)
@@ -20259,6 +20260,14 @@ autosuggestions with:
(base32
"0s33jncjg8c2xlr90qjk1ishwmwxm9yg0z6n3kzilawcilpxidsh"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ `(("alsa-utils" ,alsa-utils)
+ ("brightnessctl" ,brightnessctl)
+ ("scrot" ,scrot)
+ ("slock" ,slock)
+ ("upower" ,upower)
+ ("tlp" ,tlp)
+ ("playerctl" ,playerctl)))
(home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
(synopsis "Control your GNU/Linux desktop environment from Emacs")
(description
--
2.32.0
N
N
Nicolas Goaziou wrote on 6 Sep 2021 11:17
(name . Reily Siegel)(address . mail@reilysiegel.com)(address . 50231@debbugs.gnu.org)
87h7eyawr4.fsf@nicolasgoaziou.fr
Hello,

Reily Siegel <mail@reilysiegel.com> writes:

Toggle quote (3 lines)
> * gnu/packages/emacs-xyz.scm (emacs-desktop-environment): Include runtime
> dependencies.

Thank you.
Toggle quote (9 lines)
> + (propagated-inputs
> + `(("alsa-utils" ,alsa-utils)
> + ("brightnessctl" ,brightnessctl)
> + ("scrot" ,scrot)
> + ("slock" ,slock)
> + ("upower" ,upower)
> + ("tlp" ,tlp)
> + ("playerctl" ,playerctl)))

I don't think we should propagate all of them. It's up to the user to
provide its own tools, which are not necessarily those.

WDYT?

Regards,
--
Nicolas Goaziou
R
R
Reily Siegel wrote on 7 Sep 2021 21:19
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 50231@debbugs.gnu.org)
87k0jsfb2s.fsf@reilysiegel.com
Hello,

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

Toggle quote (3 lines)
> I don't think we should propagate all of them. It's up to the user to
> provide its own tools, which are not necessarily those.

The emacs package can be configured to use other tools. However, unless
the package is specifically configured otherwise, it will not work when
installed. Without either these propagated inputs or special
configuration, this package cannot perform any of its functions. Perhaps
these could be included in a separate output?

Reily Siegel
N
N
Nicolas Goaziou wrote on 7 Sep 2021 22:15
(name . Reily Siegel)(address . mail@reilysiegel.com)(address . 50231@debbugs.gnu.org)
87a6ko9m68.fsf@nicolasgoaziou.fr
Hello,

Reily Siegel <mail@reilysiegel.com> writes:

Toggle quote (5 lines)
> The emacs package can be configured to use other tools. However, unless
> the package is specifically configured otherwise, it will not work when
> installed. Without either these propagated inputs or special
> configuration, this package cannot perform any of its functions.

I know, but this Emacs library is not supposed to provide the features
itself. I assume you use it on top of installed executables, as
explained in the package description:

The package depends on the availability of shell commands to do the
hard work for us.

Pulling all of them from an Emacs package sounds backward.

Toggle quote (2 lines)
> Perhaps these could be included in a separate output?

Outputs are distinct part of the package output. Here, propagated
executables are not part of the Emacs library, so the suggestion does
not hold.

Maybe Guix is missing a "suggested depedencies" flag, somehow.

Anyhow, I think the status quo is fine. WDY (and others) T?

Regards,
--
Nicolas Goaziou
Z
Z
zimoun wrote on 8 Sep 2021 11:33
(address . 50231@debbugs.gnu.org)
865yvbe7ir.fsf@gmail.com
Hi,

On Tue, 07 Sep 2021 at 22:15, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:

Toggle quote (5 lines)
>> The emacs package can be configured to use other tools. However, unless
>> the package is specifically configured otherwise, it will not work when
>> installed. Without either these propagated inputs or special
>> configuration, this package cannot perform any of its functions.

Indeed. However, “guix install emacs-foo” does not install the package
’emacs’, i.e., ’emacs-foo’ cannot perform any of its functions. ;-)

Toggle quote (9 lines)
> I know, but this Emacs library is not supposed to provide the features
> itself. I assume you use it on top of installed executables, as
> explained in the package description:
>
> The package depends on the availability of shell commands to do the
> hard work for us.
>
> Pulling all of them from an Emacs package sounds backward.

On the other side, I remember discussions about ’git’ as inputs in
’emacs-magit’. Or ’the-silver-searcher’ for ’emacs-ag’. Maybe it is
worth to improve section about Emacs packages in the manual. Rough
draft:

«The external tools required by the package are not included as inputs,
except if they are required at compile or test time.»

Well, I am sure someone will find a better wording. ;-)



Toggle quote (2 lines)
> Maybe Guix is missing a "suggested depedencies" flag, somehow.

Yeah, maybe.

One way should to add a ’properties’ as ’suggest’. Well, from my
experience with Debian, I am not convinced that this suggest field
really helps. Maybe for discovery.

The easiest way is to provide a sentence in the ’description’ field
about such.

Cheers,
simon
L
L
Ludovic Courtès wrote on 24 Sep 2021 13:56
Re: bug#50231: [PATCH] gnu: emacs-desktop-environment: Include runtime dependencies
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)
87zgs2nq5a.fsf_-_@gnu.org
Hi,

Nicolas Goaziou <mail@nicolasgoaziou.fr> skribis:

Toggle quote (16 lines)
> Reily Siegel <mail@reilysiegel.com> writes:
>
>> The emacs package can be configured to use other tools. However, unless
>> the package is specifically configured otherwise, it will not work when
>> installed. Without either these propagated inputs or special
>> configuration, this package cannot perform any of its functions.
>
> I know, but this Emacs library is not supposed to provide the features
> itself. I assume you use it on top of installed executables, as
> explained in the package description:
>
> The package depends on the availability of shell commands to do the
> hard work for us.
>
> Pulling all of them from an Emacs package sounds backward.

How about:

1. Providing only those tools for which there’s no choice, like
‘alsa-utils’ and ‘brightnessclt’.

2. Patching file names instead of propagating.

Thoughts?

Ludo’.
?