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: Pierre Neidhardt
Subject: Re: Missing pinentry-emacs for gpg-agent?
Date: Thu, 29 Mar 2018 14:14:44 +0530
User-agent: mu4e 1.0; emacs 25.3.1

Oleg Pykhalov <address@hidden> writes:

>>      > cp ~/.config/guix/latest/gnu/packages/gnupg.scm ~/.guix-packages/
>>      > chmod +w ~/.guix-packages/gnupg.scm
>> [...]
>> Then add the above the the file
>
> Sorry, I don't understand what do you mean.

I meant adding the ~(define-public ... (package...))~ I quoted to the
new gnupg.scm file.

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

No. For now I just wanted to do some out-of-tree hacking, as a first
step towards contributing to Guix.

What I had in mind:

1. Copy gnupg.scm.
2. Modify it to add the new recipe plus the new use-module requirements.
3. Build.

I understand it's not how Guix is meant to be patched, I'll go on with a
proper checkout next.

That said, the new ~define-module~ is as follows:


        (define-module (gnu packages gnupg)
          #:use-module ((guix licenses) #:prefix license:)
          #:use-module (gnu packages)
          #:use-module (gnu packages emacs) ; NEW
    ...

>> 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) …)

So ~(define-module (gnu packages gnupg)...)~ means the package must lie
in a "gnu/packages/gnupg.scm" file.  Did not know that, I assumed the
namespace was detached from

> [2]  
> https://www.gnu.org/software/guile/manual/html_node/Using-the-Guile-Module-System.html

The manual you linked shows examples of paths linked to the namespaces.
But I can't seem to find where it states that it is a requirement.

I always thought this requirement on path-linked namespaces (that we
find in many languages) to be redundant.

> 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.

Will do just now.
Thanks a lot for your help.

--
Pierre Neidhardt

Attachment: signature.asc
Description: PGP signature


reply via email to

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