Subject: [bug#63645] [PATCH] gnu: swaynotificationcenter: Update to 0.8.0

From: Brian Cully <[email-masked]>
Date: Fri, 16 Jun 2023 19:12:25 -0400

Brian Cully <[email-masked]> writes:

> Christopher Baines <[email-masked]> writes:
>
>>>      (inputs
>>> -     (list json-glib
>>> +     (list bash-completion
>>> +           fish
>>> +           json-glib
>>>             glib
>>>             gtk+
>>>             gtk-layer-shell
>>>             libhandy
>>> +           libgee
>>> +           pulseaudio
>>>             wayland-protocols))
>>
>> Regarding these new inputs, what's you're reasoning for adding 
>> them?
>
> In general: so that configure would find everything it was 
> looking
> for. I believe the only new hard requirement is libgee and 
> json-glib
> (I can test a build without them and see how far I get, but 
> it'll have
> to wait until I have a bit more time).

I re-ran the build today, and the output from the configure phase 
does specify that ‘libgee’, ‘json-glib’, and ‘pulseaudio’ are 
runtime dependencies:

--8<---------------cut here---------------start------------->8---
Run-time dependency json-glib-1.0 found: YES 1.6.2
[…]
Run-time dependency gee-0.8 found: YES 0.20.5
Run-time dependency libpulse found: YES 16.1
Run-time dependency libpulse-mainloop-glib found: YES 16.1
--8<---------------cut here---------------end--------------->8---

> The others — bash-completion and fish — are for command 
> completion, I
> believe. Do those better belong in native-inputs just so the can 
> be
> detected during configure-time?

But maybe ‘Run-time dependency’ is a mis-labelling. Compiling 
without the ‘bash-completion’ or ‘fish’ inputs generates the 
complaints:

--8<---------------cut here---------------start------------->8---
Run-time dependency bash-completion found: NO (tried pkgconfig and 
cmake)
Run-time dependency fish found: NO (tried pkgconfig and cmake)
--8<---------------cut here---------------end--------------->8---

But it still installs the completion files:

--8<---------------cut here---------------start------------->8---
Installing 
/tmp/guix-build-swaynotificationcenter-0.8.0.drv-0/source/completions/zsh/_swaync 
to 
/gnu/store/5v2p9n53ivj7cmq7m442gy6yvzqn9vbz-swaynotificationcenter-0.8.0/share/zsh/site-functions
Installing 
/tmp/guix-build-swaynotificationcenter-0.8.0.drv-0/source/completions/zsh/_swaync-client 
to 
/gnu/store/5v2p9n53ivj7cmq7m442gy6yvzqn9vbz-swaynotificationcenter-0.8.0/share/zsh/site-functions
Installing 
/tmp/guix-build-swaynotificationcenter-0.8.0.drv-0/source/completions/bash/swaync 
to 
/gnu/store/5v2p9n53ivj7cmq7m442gy6yvzqn9vbz-swaynotificationcenter-0.8.0/share/bash-completion/completions
Installing 
/tmp/guix-build-swaynotificationcenter-0.8.0.drv-0/source/completions/bash/swaync-client 
to 
/gnu/store/5v2p9n53ivj7cmq7m442gy6yvzqn9vbz-swaynotificationcenter-0.8.0/share/bash-completion/completions
Installing 
/tmp/guix-build-swaynotificationcenter-0.8.0.drv-0/source/completions/fish/swaync.fish 
to 
/gnu/store/5v2p9n53ivj7cmq7m442gy6yvzqn9vbz-swaynotificationcenter-0.8.0/share/fish/vendor_completions.d
Installing 
/tmp/guix-build-swaynotificationcenter-0.8.0.drv-0/source/completions/fish/swaync-client.fish 
to 
/gnu/store/5v2p9n53ivj7cmq7m442gy6yvzqn9vbz-swaynotificationcenter-0.8.0/share/fish/vendor_completions.d
--8<---------------cut here---------------end--------------->8---

Note also that ‘zsh’ gets completions as well, even though it's 
not being checked for in the configuration phase.

Starting a shell with fish:

--8<---------------cut here---------------start------------->8---
/pre-inst-env guix shell -CP coreutils fish bash 
swaynotificationcenter -- fish
--8<---------------cut here---------------end--------------->8---

Yields completion candidates for ‘swaync’ and ‘swaync-client’, 
even though I've removed those inputs, so it seems they're not 
necessary.

I'll submit a v2 without the ‘fish’ and ‘bash’ inputs shortly.

-- 
-bjc