Subject: Re: bug#53187: emacs-shroud propagates the wrong gnupg

From: Maxime Devos <[email-masked]>
Date: Tue, 11 Jan 2022 16:15:43 +0100

Efraim Flashner schreef op di 11-01-2022 om 15:46 [+0200]:
> guix package: error:   first entry:
> [email-masked] /gnu/store/0snfzd41n430ddpq316j9v2z5fn2y62m-gnupg-2.2.30
> guix package: error:    ... propagated from [email-masked]
> guix package: error:   second entry:
> [email-masked] /gnu/store/75122spwjdkxxgd32gkkil3n7ifax8i5-gnupg-2.2.32
> guix package: error:    ... propagated from
> [email-masked]
> hint: Try upgrading both `emacs-shroud' and `emacs-pinentry', or
> remove one of them from the profile.
> ```
> 
> Note, that while the above error message is complaining about
> emacs-pinentry, it still barfs even if I remove emacs-pinentry and
> just
> install gnupg directly since the current gnupg is 2.2.32.
> 
> Can whoever is maintaining the emacs-shroud package please update it
> to
> [email-masked], so it can be installed again?

Instead of working around the limitations of propagation, why not
unpropagate?

I took a look at emacs-shroud's source code, and I don't see it calling
gnupg anywhere, so maybe propagating gnupg from emacs-shroud isn't
necessary?  The dependency 'shroud' hardcodes the GPG binary location,
so I don't see why 'gpg' was included in 'propagated-inputs'. 

I made the following change in emacs-shroud

    (propagated-inputs
     (list emacs-bui
           emacs-dash
           emacs-f
           emacs-s
           #;gnupg ;; <--- changed line
           shroud)),

set ~/.shroud according to https://dthompson.us/projects/shroud.html

ran "./pre-inst-env guix shell --pure emacs shroud emacs-shroud -- emacs"
and evaluated the following S-exps:
(require 'shroud) ;; why is this required? e.g. emacs-magit
(shroud--init)    ;; require things like this.

Then did "M-x shroud-bui" but nothing happened (a bug?),
so I couldn't test the change.