GNU bug report logs -
#50077
[PATCH 0/3] Various improvements to Notmuch
Previous Next
Reported by: Xinglu Chen <public <at> yoctocell.xyz>
Date: Mon, 16 Aug 2021 14:11:01 UTC
Severity: normal
Tags: patch
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
[ Debbugs wasn’t Cc’d in the previous message ]
On Mon, Aug 23 2021, Andrew Tropin wrote:
> On 2021-08-16 16:12, Xinglu Chen wrote:
>
>> * gnu/packages/mail.scm (notmuch)[outputs]: Add ‘emacs’ output
>> [arguments]<#:modules>: Add (guix build emacs-utils).
>> <#:phases>{configure}: Use the ‘emacs’ output.
>> {make-autoloads}: Modify the default ‘make-autoloads’ phase to use the ‘emacs’
>> output.
>> ---
>> gnu/packages/mail.scm | 16 +++++++++++++---
>> 1 file changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
>> index ccf44b7cf3..bbc616f6f5 100644
>> --- a/gnu/packages/mail.scm
>> +++ b/gnu/packages/mail.scm
>> @@ -1337,7 +1337,8 @@ invoking @command{notifymuch} from the post-new hook.")
>> (arguments
>> `(#:modules ((guix build gnu-build-system)
>> ((guix build emacs-build-system) #:prefix emacs:)
>> - (guix build utils))
>> + (guix build utils)
>> + (guix build emacs-utils))
>> #:imported-modules (,@%gnu-build-system-modules
>> (guix build emacs-build-system)
>> (guix build emacs-utils))
>> @@ -1355,7 +1356,8 @@ invoking @command{notifymuch} from the post-new hook.")
>> (setenv "CONFIG_SHELL" (which "sh"))
>>
>> (let* ((out (assoc-ref outputs "out"))
>> - (elisp (emacs:elpa-directory out)))
>> + (emacs (assoc-ref outputs "emacs"))
>> + (elisp (emacs:elpa-directory emacs)))
>> (invoke "./configure"
>> (string-append "--prefix=" out)
>> (string-append "--emacslispdir=" elisp)
>> @@ -1373,7 +1375,14 @@ invoking @command{notifymuch} from the post-new hook.")
>> (substitute* (find-files "test" "\\.sh$")
>> (("/bin/sh") (which "sh")))))
>> (add-after 'install 'make-autoloads
>> - (assoc-ref emacs:%standard-phases 'make-autoloads)))))
>> + (lambda* (#:key outputs inputs #:allow-other-keys)
>> + (let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
>> + (out (assoc-ref outputs "emacs"))
>> + (elpa-name-ver ((@@ (guix build emacs-build-system)
>> + store-directory->elpa-name-version) out))
>> + (elpa-name (package-name->name+version elpa-name-ver))
>> + (el-dir (emacs:elpa-directory out)))
>> + (emacs-generate-autoloads elpa-name el-dir)))))))
>> (native-inputs
>> `(("bash-completion" ,bash-completion)
>> ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests
>> @@ -1394,6 +1403,7 @@ invoking @command{notifymuch} from the post-new hook.")
>> ("talloc" ,talloc)
>> ("xapian" ,xapian)
>> ("zlib" ,zlib)))
>> + (outputs '("out" "emacs"))
>> (home-page "https://notmuchmail.org/")
>> (synopsis "Thread-based email index, search, and tagging")
>> (description
>
> The separate output is ok, but I think making a separate emacs-notmuch
> package looks more consistent. We can inherit it from notmuch package
> to be sure that the packages are built from the same source code.
Why would it be more consistent to make a separate package? Making a
separate package is usually used for packaging a slightly different
version of the “regular” package, e.g., ‘emacs-next-pgtk’ adds native
compilation and pure GTK support for Emacs., ‘emacs-no-x’ removes X
suport for ‘emacs’. ‘emacs-notmuch’ isn’t really a different version of
‘notmuch’, it’s just ‘notmuch’ but with all the non-Elisp stuff
removed. This is usually what using different outputs tries to achieve,
e.g., separate documentation from the main package, or in this case,
separate Elisp stuff from the main package.
The ‘notmuch’ package in Nixpkgs also uses multiple outputs[1], which I
think makes sense.
<https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/notmuch/default.nix>
>
> Thank you for working on this, the changes are good and useful!)
You are welcome! :-)
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 3 years and 312 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.