help-guix
[Top][All Lists]
Advanced

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

Re: Missing pinentry-emacs for gpg-agent?


From: Oleg Pykhalov
Subject: Re: Missing pinentry-emacs for gpg-agent?
Date: Thu, 29 Mar 2018 10:23:26 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Pierre Neidhardt <address@hidden> writes:

[…]

> What about a separate package?  E.g.
>
>       (define-public pinentry-emacs
>         (package
>          (inherit pinentry-tty)
>          (name "pinentry-emacs")
>          (inputs
>           `(("emacs" ,emacs)
>             ,@(package-inputs pinentry-tty)))
>          (arguments
>           `(#:configure-flags '("--enable-pinentry-emacs")))
>          (description
>           "Pinentry provides a console and an Emacs interface that allows 
> users to
>       enter a passphrase when required by @code{gpg} or other software.")))

Looks like what ‘pinentry-gtk2’, ‘pinentry-gnome3’, ‘pinentry-qt’ do.

I think it's a way to go.

> I haven't delved into packaging so far.  I have read the manual but I'm
> unsure about the best practice for local hacking.

To prepare a patch you should have a Guix from a Git checkout [1].

You could still just send a package recipe in plain text.

> I have set GUIX_PACKAGE_PATH=~/.guix-packages, then
>
>       > cp ~/.config/guix/latest/gnu/packages/gnupg.scm ~/.guix-packages/
>       > chmod +w ~/.guix-packages/gnupg.scm
                                    ^^^^^^^^^
You probably mean this.  ;-)

> Then add the above the the file

Sorry, I don't understand what do you mean.

Do you mean ‘#:use-module (gnu packages gnupg)’?

[…]

> Now if I do
>
>       > guix package -s pinentry-emacs
>       guix package: warning: failed to load '(gnupg)':
>       no code for module (gnupg)
>       name: pinentry-emacs
>       version: 1.1.0
>       outputs: out
>       systems: x86_64-linux i686-linux armhf-linux aarch64-linux 
> mips64el-linux
>       dependencies: emacs-25.3 libassuan-2.5.1 libsecret-0.18.5 
> ncurses-6.0-20170930
>       + pkg-config-0.29.2
>       location: /home/ambrevar/.guix-packages/gnupg.scm:991:2
>       homepage: https://gnupg.org/aegypten2/
>       license: GPL 2+
>       synopsis: GnuPG's interface to passphrase input  
>       description: Pinentry provides a console and an Emacs interface that 
> allows users to enter a
>       + passphrase when required by `gpg' or other software.
>       relevance: 4
>
> Notive the error at th beginning:
>
>       guix package: warning: failed to load '(gnupg)':
>       no code for module (gnupg)
>
> I don't understand this.

You want to name your Guile module properly [2].  In case of
‘GUIX_PACKAGE_PATH=$HOME/.guix-packages’:

    (define-module (gnupg) …)

> That said, is this the commended way to proceed?  

Sorry, I don't fully understand the question.  As far as I understand,
the answer is you could use ‘GUIX_PACKAGE_PATH’ to have recipes that
cannot be in Guix package collection for some reason, e.g. customized
for own purpose recipes.  It's not the case of ‘pinentry-emacs’.  ;-)

> Or should I work from a local checkout of guix?

Local checkout allows you prepare patches and use ‘guix’ without ‘guix
pull’.  If you plan to contribute more it's definitely worth to have it.

[…]

[1]  https://www.gnu.org/software/guix/manual/html_node/Building-from-Git.html
[2]  
https://www.gnu.org/software/guile/manual/html_node/Using-the-Guile-Module-System.html

Thanks,
Oleg.

Attachment: signature.asc
Description: PGP signature


reply via email to

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