[PATCH 0/3] Various improvements to Notmuch

DoneSubmitted by Xinglu Chen.
Details
6 participants
  • Andrew Tropin
  • Carlo Zancanaro
  • Liliana Marie Prikler
  • Nicolas Goaziou
  • Xinglu Chen
  • zimoun
Owner
unassigned
Severity
normal
X
X
Xinglu Chen wrote on 16 Aug 16:10 +0200
(address . guix-patches@gnu.org)
cover.1629122681.git.public@yoctocell.xyz
Adding an extra ‘emacs’ output would allow one to propagate notmuch.elwithout propagating the Notmuch executable and libnotmuch. This wasmentioned in https://issues.guix.gnu.org/49457#2.
Xinglu Chen (3): gnu: notmuch: Add separate 'emacs' output. gnu: notmuch: Build Info manual. gnu: notmuch: Use 'cc-for-target' instead of hardcoding 'gcc'.
gnu/packages/mail.scm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-)

base-commit: 0fa49fd2a8f0d1d2c37ea276cc44d0d5adcea701-- 2.32.0
X
X
Xinglu Chen wrote on 16 Aug 16:12 +0200
[PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.
(address . 50077@debbugs.gnu.org)
dd24f426b72a1c590cbd71d2eaa66a75b559a9e7.1629122681.git.public@yoctocell.xyz
* 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(-)
Toggle diff (50 lines)diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scmindex 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-- 2.32.0
X
X
Xinglu Chen wrote on 16 Aug 16:12 +0200
[PATCH 2/3] gnu: notmuch: Build Info manual.
(address . 50077@debbugs.gnu.org)
cb4ecb82546420a6a991a7f13f77a903cc93dbde.1629122681.git.public@yoctocell.xyz
* gnu/packages/mail.scm (notmuch)[native-inputs]: Add 'texinfo'.--- gnu/packages/mail.scm | 1 + 1 file changed, 1 insertion(+)
Toggle diff (14 lines)diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scmindex bbc616f6f5..66e0d2482d 100644--- a/gnu/packages/mail.scm+++ b/gnu/packages/mail.scm@@ -1390,6 +1390,7 @@ invoking @command{notifymuch} from the post-new hook.") ("python" ,python) ("python-docutils" ,python-docutils) ("sphinx" ,python-sphinx)+ ("texinfo" ,texinfo) ;; The following are required for tests only. ("which" ,which)-- 2.32.0
X
X
Xinglu Chen wrote on 16 Aug 16:12 +0200
[PATCH 3/3] gnu: notmuch: Use 'cc-for-target' instead of hardcoding 'gcc'.
(address . 50077@debbugs.gnu.org)
6ce89bf8646d07c68dc5b27b0795de45030b4adc.1629122681.git.public@yoctocell.xyz
* gnu/packages/mail.scm (notmuch)[arguments]<#:phases>: Use 'cc-for-target' instead of 'gcc'.--- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (24 lines)diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scmindex 66e0d2482d..2c2d740f9b 100644--- a/gnu/packages/mail.scm+++ b/gnu/packages/mail.scm@@ -1352,7 +1352,7 @@ invoking @command{notifymuch} from the post-new hook.") (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys)- (setenv "CC" "gcc")+ (setenv "CC" ,(cc-for-target)) (setenv "CONFIG_SHELL" (which "sh")) (let* ((out (assoc-ref outputs "out"))@@ -1370,7 +1370,7 @@ invoking @command{notifymuch} from the post-new hook.") (("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0")))) (add-before 'check 'prepare-test-environment (lambda _- (setenv "TEST_CC" "gcc")+ (setenv "TEST_CC" ,(cc-for-target)) ;; Patch various inline shell invocations. (substitute* (find-files "test" "\\.sh$") (("/bin/sh") (which "sh")))))-- 2.32.0
X
X
Xinglu Chen wrote on 28 Aug 12:34 +0200
Re: [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.
(name . Andrew Tropin)(address . andrew@trop.in)(address . 50077@debbugs.gnu.org)
87r1edvown.fsf@yoctocell.xyz
[ Debbugs wasn’t Cc’d in the previous message ]
On Mon, Aug 23 2021, Andrew Tropin wrote:
Toggle quote (64 lines)> 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 aseparate package is usually used for packaging a slightly differentversion of the “regular” package, e.g., ‘emacs-next-pgtk’ adds nativecompilation and pure GTK support for Emacs., ‘emacs-no-x’ removes Xsuport for ‘emacs’. ‘emacs-notmuch’ isn’t really a different version of‘notmuch’, it’s just ‘notmuch’ but with all the non-Elisp stuffremoved. 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 Ithink makes sense.
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/notmuch/default.nix
Toggle quote (3 lines)>> Thank you for working on this, the changes are good and useful!)
You are welcome! :-)
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmEqESgVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5kZcP/RTgDyBP+weLceLnv5Xo6z4wvR1ympqjSSoz7xEKazB7JGNkjKx+1Xcz15AcC1VOAyGUPJdBUGTbHtp1jSIMcmwCY5XbdNUlv+aGXZzQdKzMw2lTRxe4JPKq6fbIZN9aIhezCAX8oojDI8LIuRK4H6onZzktNijrdN09oYkfEsHTDXdoDu/EZNV25MH3MAW4lVQKnpwZIDqj6m3A46Z/2jvMFeoHHaXQUD6ZJc4zN1n1tklds09hYyHeR+0ijBG33HmZ8KQloaOx+9J2k9AO326i3R2YEvjqt1DL3RoaCMqwSXIsxKBZmJj84YJZm2MxmZz8wGWdxf5AzpFzdmWl4svaPS2TnCRrjf3M0PvW+eNUagLAnF186p3alC9incQqq/o9aOeri7YggHkoxQL/drHFlEik93589LuGBa+cyaXIjV4t9hD7O47/sZyudT5kwIsDnyo+QZMTeMH/Mo9fPN7YhORm0Am3niBcEMc0lZ6zNWQyupU4UdtLrgOcltJYYOH29wA5DrSb5WlM9rQZTu6O4PkDHLlsa75O4e9OiENSllJClA/lM3dSmPp+VCWH08I5i1yduDaJ28EbF45Dwxh1BgxxP4LgB6XhBdGcsi2AFnF+worHqIv9qshfwBzLU10Qcxy3rvFTC+HDZ41JZtIlYPhK2EdnAyHscS2FFONS=kd3P-----END PGP SIGNATURE-----
A
A
Andrew Tropin wrote on 30 Aug 09:14 +0200
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 50077@debbugs.gnu.org)
87lf4j8kux.fsf@trop.in
On 2021-08-28 12:34, Xinglu Chen wrote:
Toggle quote (3 lines)> [ Debbugs wasn’t Cc’d in the previous message ]>
Oops)
Toggle quote (78 lines)>> 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.>
Almost all elisp packages in Guix have a emacs- prefix, so as a user Iexpect to find notmuch*.el in emacs-notmuch package and notmuch binaryin notmuch package, despite the fact that upstream distributes thesource code for both of them in one tarball. Moreover, withemacs-notmuch and notmuch packages it's possible to use different buildsystems, which helps in automated package modification, for example Iwant to native compile all emacs packages or generate some additionalmetainformation, I just find all packages in my profile withemacs-build-system and modify phases accordingly. Yes, it's possible todo such modification for other packages manually, but it feels hacky andinconvinient.
The separate output can work, but a separate package looks better to me.
P.S. I know that there are some emacs packages in Guix already, whichdoesn't use emacs-build-system, but I think we should keep that numberas low as possible and ideally to make it equal to 0 =)
Toggle quote (9 lines)> > 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! :-)
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmEshWYACgkQIgjSCVjB3rBY5A/9Fb5hO8de8DXW+b3JXdba0EiIvzo8FItr6Vl25iW5y6RQSBDAAwHyq7oE+ej2oC/5o0GnC5ECYsxirHP3HTtRyG7DIQaw/MX2T9CVoCMa3sL2TaYfiqCfC074tJJCMbTQ77P9ng3ZQNtAAzf3qn/sRgmPKPcmEsX+khY5J5sqtPD7FGo0j8R+wDvzW/9vdMpkvnQP1poBvZ2MSz+AQI9+iJo8cZjeX/zl2L1eUZLE+UYlHKe/77rSRqUGx5JHmoRTOO/1Qrg8XxcF0XVVWAPVsBTP2QwEnCTm2Pz4zUxNv9zl9xUThsztoWIJu57dMiQIOae21DmWvQPZFEfBaeXGgs7feglCoxXiLzAtqLst7cSQXpRnU24cyLWWMElOtDq4B36XFOO9/ennf2hecyOgX36plZ62694h7wwxf2ha3iKVJtOUtlYgBhq8W8p6cnNv1S0L+JGp8fC3xd/vxLc3w2sMFhmYqq/wH7Cv/exhM1/0X2v66QocB39yprvSOWqiLQ15nEkobB7xtjtxq1jVStTTAZWQKPPd6YlYn8p1NBI8UKYCeHK7GjP18Y5XUldymU0BgimzgqrQC/Aw+v1Jy+f27xz4z/v9iupYHFUiz42RMk8kLB/qgk/1EjHswkGE/hotsbkYZvhlztUtEMZuVSkzjsQ5xuDS82uZXpv22B8==vYqN-----END PGP SIGNATURE-----
X
X
Xinglu Chen wrote on 30 Aug 15:33 +0200
Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.)
(name . Andrew Tropin)(address . andrew@trop.in)(address . 50077@debbugs.gnu.org)
87r1ebm503.fsf@yoctocell.xyz
On Mon, Aug 30 2021, Andrew Tropin wrote:
Toggle quote (16 lines)>> 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.>>>> Almost all elisp packages in Guix have a emacs- prefix, so as a user I> expect to find notmuch*.el in emacs-notmuch package and notmuch binary> in notmuch package, despite the fact that upstream distributes the> source code for both of them in one tarball.
Good point, however, If we were to have separate ‘emacs-’ packages forthe packages that also contain Elisp stuff, should those packages stillinclude the Emacs package in their output, i.e., should the ‘notmuch’package still include notmuch.el, or should the Elisp stuff only be in‘emacs-notmuch’?
Toggle quote (8 lines)> Moreover, with emacs-notmuch and notmuch packages it's possible to use> different build systems, which helps in automated package> modification, for example I want to native compile all emacs packages> or generate some additional metainformation, I just find all packages> in my profile with emacs-build-system and modify phases accordingly.> Yes, it's possible to do such modification for other packages> manually, but it feels hacky and inconvinient.
This sounds like an interesting use-case, but I don’t know how usefulthis will be for most people.
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmEs3iwVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5LCEQAJhsIHTuXqy8Wo69MC3D3nnv//SXax6sRTEg/rgElWEzKxNo6ren+Srk9p9pZCMn8NUgbRtPQsksd6X1jtjwxikFrpUpP4e5gMTDF/EytPGZRG7KmocueqMELa2MAc7WOrZMI5Dhe4sTB1q0O1C+/47d/nKYfNMK+ZHH7IhErzUNQ8bxcfXWFnsJ3XLa6cUSQ0qMKoWC7hHuPexIJjleM31IUg4/zmp9SsZSyc7VpNg3wXX15vd5O8s8HkyfgeM/4Pd5dxer39xChZwvMujA8ZVFsak3KOuCVdL37dYK2Bin8+o61EWZ4GffHUPRKNCL5slajOCVbb2z2JL7qu4JMT5BK7B9yXvjiYqTwrtBpGejv6FoWRlwY2Dnx6Gpoteur3fa4XaY9pYvTC3L1ZZfvfqMbqXvnFto9nkeixuvhyQYAe3QBAiOxg77GkhpOcXZIttLPs9Zu/672/pf5EuJRpO3pfneeEpWbkldhwfoNc1zCdD151zNbhGjfcKvuCWY0exlrY70QyrC1swVlQOs89wyN+eB5h4q6ydBA91m8nFahb4HmbyJ8TXcmgLm+fFXIZBaYnjOVj2MQwdETZhPgBwV1myxYqUmdZEgKGI1H7CRSVDyaLB2QGcCJupP7bk5HL9C7LonoVyGvbmnpOS2uCwEPTGU/ANxAlOx+lOYfDP2=3x6X-----END PGP SIGNATURE-----
A
A
Andrew Tropin wrote on 1 Sep 11:50 +0200
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 50077@debbugs.gnu.org)
8735qozkt0.fsf@trop.in
On 2021-08-30 15:33, Xinglu Chen wrote:
Toggle quote (25 lines)> On Mon, Aug 30 2021, Andrew Tropin wrote:>>>> 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.>>>>>>> Almost all elisp packages in Guix have a emacs- prefix, so as a user I>> expect to find notmuch*.el in emacs-notmuch package and notmuch binary>> in notmuch package, despite the fact that upstream distributes the>> source code for both of them in one tarball.>> Good point, however, If we were to have separate ‘emacs-’ packages for> the packages that also contain Elisp stuff, should those packages still> include the Emacs package in their output, i.e., should the ‘notmuch’> package still include notmuch.el, or should the Elisp stuff only be in> ‘emacs-notmuch’?>
IMO, notmuch package should not include Elisp stuff, at least I don'tsee use cases, where it can be useful, but see where it can be harmful.
Toggle quote (12 lines)>>> Moreover, with emacs-notmuch and notmuch packages it's possible to use>> different build systems, which helps in automated package>> modification, for example I want to native compile all emacs packages>> or generate some additional metainformation, I just find all packages>> in my profile with emacs-build-system and modify phases accordingly.>> Yes, it's possible to do such modification for other packages>> manually, but it feels hacky and inconvinient.>> This sounds like an interesting use-case, but I don’t know how useful> this will be for most people.
Even if there are not so many people, who do it right now or even insome future, it's very likely that some derivative distribution withconsiderable amount of users will appear, which will be utilizing suchcapabilities.
Actually, the exact use case doesn't matter so much, but the wholepicture, where you need to track every package, which picks some phasesof one build system to make sure that your transformation of packagelist works correctly is. More regular and consistent packagedefinitions are, the easier and simplier to transform themprogrammatically.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmEvTOsACgkQIgjSCVjB3rDU+Q//Z701kZCQDE2DIV2PwjbaPDr23uyLOoF+7a9Begci6tFoG4v+/ZORKmvnlwx2Hjf6qQCWbxW9CYUVwwmHmXpfHexUpz4rwHLBRfCK632i42IdF/X8+NjkqHZPxNbafRf83q0sxP82oM88mQcv+qVVbPR+WgHLM5IaMNxInXxncoZRm5cCiRQT2UjEztJhWeUBu9ng9JJqKBbEv9vs40D7SZaEdCeM3ScOF0AvsK6lc3OcTAt52UlU+Mdq0AbG7/ZJ3GmGL16Vj9HmvF/VBSmnXbqInDXoB1RUVUqyjtOwyuT3wgrLVODL4l9Msl5560B3RVEBmNdaq77Cxgp4FIHYooqzgbXc2FqgHcHTuXirDHM2ZlyP7UqXMm5pj9Ev+56ZqWxJn6gh95TvpflCPzDThkDN6rRkLOQpVyq6lyRHcf3TDF0IdTGVrcm7AvJB2K+J8KviSdrPFB84Iv+wu+eqL6tV/cRXpTQv4z8HUqU5PllUP73QP8qLN+39CsnnvYrkP9HfzZZHpyfNaAqJDT5vPagkGy9n0C6tdW9Lp8wKv7KAIzPZy7Cilq9y2W7YC33511seXQz5rfB818Y+0JklLMNq/xtqCKKDf1f4QmmDxCtYN+ou7C9inaaeyCCPMXNasJy6sSfP8/OPsDa/lYF7oAqCpQr99wy74rQW8t2M158==vjxh-----END PGP SIGNATURE-----
X
X
Xinglu Chen wrote on 1 Sep 14:05 +0200
Re: [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.)
(name . Andrew Tropin)(address . andrew@trop.in)
874kb4lcvf.fsf@yoctocell.xyz
On Wed, Sep 01 2021, Andrew Tropin wrote:
Toggle quote (31 lines)> On 2021-08-30 15:33, Xinglu Chen wrote:>>> On Mon, Aug 30 2021, Andrew Tropin wrote:>>>>>> 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.>>>>>>>>>> Almost all elisp packages in Guix have a emacs- prefix, so as a user I>>> expect to find notmuch*.el in emacs-notmuch package and notmuch binary>>> in notmuch package, despite the fact that upstream distributes the>>> source code for both of them in one tarball.>>>> Good point, however, If we were to have separate ‘emacs-’ packages for>> the packages that also contain Elisp stuff, should those packages still>> include the Emacs package in their output, i.e., should the ‘notmuch’>> package still include notmuch.el, or should the Elisp stuff only be in>> ‘emacs-notmuch’?>>>> IMO, notmuch package should not include Elisp stuff, at least I don't> see use cases, where it can be useful, but see where it can be> harmful.
Should this apply to other packages that contains Elisp stuff too, or isit specific to ‘notmuch’?
Cc’ing guix-devel to see what other people think before we startbreaking people’s setups. :-)
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmEvbJQVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x56t8P/2kqL4vYvy0B4xBoUNey+oW24dCj5FDMDgdn8aPYzuwBIoU6P68tRL6dTu3QOVxTwosJxs6/pR0GpiK/CgJLhBlVFgSrpRIZRUB53YUv2m8vjmUTm4ImwDGAzqCaTPINQlkq6IDKBgn709A951IUs15dXBGQU3Skb5GwLM5BK2Em9ZHhVz6K/x5U5GF/RLqkQFftqRhl9i8pavWGFbJq3YKUeyB8qdGbxM+TLOmR0c63JEhqtmXnS918PYJREaNSJF79dBSsEp6BGyz/mm6dXPzlLSJ2zhfjDcBqL5CyIyuHidV+WeqrqjZ3DGVeqBe6foTfTIqcXqe6Kka95CEJtbs+OochrdoHJSTF+ITogaWd8T+HxwR9QjBv8eZZM2gv4I/GRsq/HsB5rrGssb2tKupM1pJm+BZ5ZfC1C08KAvMxYWrrxPQ8So8B/oEVSo7p72ZD09bfS7x9xxQzH8Lvf9H7o26mavkqVlLjhehprCYWsrrUFcsuJu3ukEGXotvHp64L+2Ij9hBORekqPKXzR/nZAVEAPN8FVLh2pxtkv+qOcRE5Kof4eS7uudPgUH4w2bLZ9n2zjvzrPuYmpvrkv67IbNcmQV7V4kdPP4AVAIUE30txDRewLtSa0cbeq+GpnDZDDA+miB2wGGyyxxj1H4vmmcctCE7hFP54QN9/ietW=uNAt-----END PGP SIGNATURE-----
L
L
Liliana Marie Prikler wrote on 1 Sep 14:48 +0200
456243eca955ecc83b26663ed4e7e22d5170f03d.camel@student.tugraz.at
Am Mittwoch, den 01.09.2021, 14:05 +0200 schrieb Xinglu Chen:
Toggle quote (9 lines)> > IMO, notmuch package should not include Elisp stuff, at least I> > don't see use cases, where it can be useful, but see where it can> > be harmful.> > Should this apply to other packages that contains Elisp stuff too, or> is it specific to ‘notmuch’?> > Cc’ing guix-devel to see what other people think before we start> breaking people’s setups. :-)
In my personal opinion providing a separate package (perhaps one usingemacs-build-system) is to be preferred as per the principle of leastsurprise. However, in some situations we might want to hold back onthat, e.g. if providing an extra emacs package would entail propagatingthe original package just because.
On current master, there's quite a number of packages that requiremixing emacs-build-system into something else. Reducing this numberwould make changes to emacs-build-system cause less breakages, some ofwhich we've seen in the past and some of which could possibly happen inthe future, if e.g. post native-compilation we realize that we need anextra phase to deal with <insert stuff here>.
TL;DR: I'm generally in favor of branching emacs support packages off,even if origins are to be inherited.
Regards
Z
Z
zimoun wrote on 1 Sep 15:52 +0200
86mtowo132.fsf@gmail.com
Hi,
On Wed, 01 Sep 2021 at 14:05, Xinglu Chen <public@yoctocell.xyz> wrote:
Toggle quote (3 lines)> Cc’ing guix-devel to see what other people think before we start> breaking people’s setups. :-)
I agree with this Andrew’s comment:
P.S. I know that there are some emacs packages in Guix already, which doesn't use emacs-build-system, but I think we should keep that number as low as possible and ideally to make it equal to 0 =) http://issues.guix.gnu.org/issue/50077#5
If I do:
guix install emacs-next notmuch
then there is no guarantee that “M-x notmuch” will work. Because’notmuch.el’ is byte-compiled using ’emacs-no-x’. The issue is thatsome Emacs packages rely on ’emacs-minimal’, others on ’emacs-no-x’ asinput, others on other Emacs VM variant, therefore the transformation
guix build -m manifest.scm --with-input=emacs-minimal=emacs-next
will not work, as pointed by Nicolas here [1]. Well, you will tell methat ’outputs’ does not change much the issue. :-) For sure, but IMHOhaving Emacs packages using ’emacs-build-system’ eases the write ofgeneric transformation. Well, there is enough corner cases with Emacspackages using ’emacs-build-system’ which rewriting their ’#:emacs’argument. Other speaking about Emacs packages using other buildsystems.
Another point is, if I want to build ’notmuch’ but I am not an Emacsuser, then:
guix environment notmuch
will download ’emacs-no-x’ for nothing. When my network is poor, I amunhappy. Although, it is already the case. :-) Well, this is somethingknown, see:
https://git.savannah.gnu.org/cgit/guix.git/tree/TODO#n37
I am not convinced that several outputs help. And generally speaking,personally, I tend to prefer package inherit over several outputs.Matter of taste I guess. :-)
Without speaking about cross-compilation. ;-)
From my point of view, I would split the package ’notmuch’ and propagatethis new ’notmuch’ package with a new ’emacs-notmuch’ (if ’notmuch.el’requires it). Well, from my point of view, it would be how to improvethe situation. :-)

All the best,simon
1: http://issues.guix.gnu.org/41732#14
C
C
Carlo Zancanaro wrote on 2 Sep 01:25 +0200
(name . Liliana Marie Prikler)(address . leo.prikler@student.tugraz.at)
87sfynq2xm.fsf@zancanaro.id.au
On Wed, Sep 01 2021, Liliana Marie Prikler wrote:
Toggle quote (3 lines)> TL;DR: I'm generally in favor of branching emacs support > packages off, even if origins are to be inherited.
This is my preference, and there is precedent for this in Guix already. I know of emacs-protobuf-mode and emacs-erlang which are separate packages, but which reference the source of an existing package (with (package-source protobuf) and (package-source erlang), respectively).
I like how easy it is to discover Emacs packages by looking for the emacs- prefix. Mu and notmuch already violate that prefix expectation, moving their elisp into a separate output would be further hiding the Emacs modes.
Carlo
X
X
Xinglu Chen wrote on 3 Sep 18:14 +0200
87lf4diqkt.fsf@yoctocell.xyz
On Thu, Sep 02 2021, Carlo Zancanaro wrote:
Toggle quote (17 lines)> On Wed, Sep 01 2021, Liliana Marie Prikler wrote:>> TL;DR: I'm generally in favor of branching emacs support >> packages off, even if origins are to be inherited.>> This is my preference, and there is precedent for this in Guix > already. I know of emacs-protobuf-mode and emacs-erlang which are > separate packages, but which reference the source of an existing > package (with (package-source protobuf) and (package-source > erlang), respectively).>> I like how easy it is to discover Emacs packages by looking for > the emacs- prefix. Mu and notmuch already violate that prefix > expectation, moving their elisp into a separate output would be > further hiding the Emacs modes.>> Carlo
Looks like there is consensus on the matter, unless someone objects, Iwill send an updated series that adds ‘emacs-notmuch’ instead of addingan extra output to ‘notmuch’. :-)
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmEySfIVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x575YQAK807vIrOhJHCl6J932RmRV5JMVkHSGo/Aajbicxt0Mib3rezqmokqwEkXNnD9/G8oTWHeiRdHSLMXz1keGXm4QE3fznL0bIbEq+Z/zQutD019753p1on09qo7hW5Dj+iAVf/+izq5smToY77q3E5YbD5tIy0+9Y6TBhccCCUWnoNM3zNX9uXnhyVxCxgrs8aoPTrnVAYTbKXqEBNkFiNPR5YGP16uitxyLCuJKWrUd2tiyq+8qHEFjIY8ABBZXfwKGxshcOCN+5E3Oj34D0H+KX4M72hVTaBxbhCl+zaL90/OqKrCP1f46gr+sWcmSQAlbCQigislbG1YCS319vyH5Vj4FARFyU+kZGkOsQa4SGs5+b4mTvaAXJR745a1Y6haR15bcZ1OOPHpHDfPM3m80Bda4Vmf1NWTuNEuktTm/sgulW/9Jib0VnGFiVGBn589Z9JyKlYhmc0IeHwTPeL/eJqJiL15VO9TLAO3SsG4K5NbHpz2gBOo5/z3QBwQemlS96W8qHVFheMYTDjfVCoH6mop2UD8q9AGFIUslNoq5frE8mKHc11b1xIzVd3kdLIgODhItybjXDbexScUQHOay/KZNKZg5qu4+frn95T/RbaSSgm9o5lu/IGYVe/T8UIHhWwlHenGmQixw12BLRsyQVWqpT2x84MPsGRrHrXNKt=uOBD-----END PGP SIGNATURE-----
X
X
Xinglu Chen wrote on 4 Sep 11:41 +0200
[PATCH v2 0/3] Improvements to Notmuch
(address . 50077@debbugs.gnu.org)(name . Andrew Tropin)(address . andrew@trop.in)
cover.1630748355.git.public@yoctocell.xyz
Changes since v1:
* Add separate ‘emacs-notmuch’ package instead of ‘emacs’ output, and adjust other Emacs packages accordingly.
Xinglu Chen (3): gnu: notmuch: Build Texinfo manual. gnu: notmuch: Make cross-compilable. gnu: Add emacs-notmuch.
gnu/packages/emacs-xyz.scm | 8 ++++-- gnu/packages/mail.scm | 57 +++++++++++++++++++++++--------------- 2 files changed, 40 insertions(+), 25 deletions(-)

base-commit: 9540323458de87b0b8aa421e449a4fe27af7c393-- 2.33.0
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmEzP0IVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5psoP/0/2qZ00ExPAZRgUvFHuBOTmGSSrVCaD3zeXvScyLYJcIYuOBljGrzfw2kAEOcsDztNmJ+tUXdSOz/zy6XF/sMEprpPJBYhxUc3HIkQS3qaGZyMaUsC/A9yigaKlWc4rAYeernC1JHdzxHAy4EMxorp5TagNzmXcwvPRWAAjGXxlDp2oLGhSEgulEWH6lmrHjkcZq7HIigcM8pMdrH0ICemXOpd0+8vSjyG8oBX9sJoCGyNEyAVAKQP7FZwZWaLcnCdJ0V/Q5N1q0mV0mAaUF84ZbAySZY2nJSife5YN+VsBX8PKnnXGVFDxfpgRdZD/DRBC21cCBAxZcMVtaZncmvAdbve/TydLLXi4/6cFipAKoK8yF2POD92Gju19F33H2b2mwOG+qRWHpcZzHmpxWwF35arjm5rKBYFq3qDwfBmDJgrYijtA9ZMYbaKs9pUquNDPx9H2HZr/tUuocfU//VkzS4xyjxBdU375A5yzwOLulx1oDp4D0YX5Rld9USSm7jacD6IbZ7IaI0eJYVnxeTmamQwobuJMb78rkQoaOXmThjISh0JCIkbk4gUVG6ir/ladaJnBqLeeIbq6mJPfAdLpiFWeUcQUQDIUoTnFn9udacnkEvOsNZRuOGkvysabTdqAaMe5EmR5KhOLXj5LW4OxHlaSSRCeW6826zR/+svp=RSHY-----END PGP SIGNATURE-----
X
X
Xinglu Chen wrote on 4 Sep 11:41 +0200
[PATCH v2 1/3] gnu: notmuch: Build Texinfo manual.
(address . 50077@debbugs.gnu.org)
c2f9baa46b4c6b504949e76141e1912a3f498f54.1630748355.git.public@yoctocell.xyz
* gnu/packages/mail.scm (notmuch)[native-inputs]: Add 'texinfo'.--- gnu/packages/mail.scm | 1 + 1 file changed, 1 insertion(+)
Toggle diff (14 lines)diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scmindex 87094cb9eb..eb141c5984 100644--- a/gnu/packages/mail.scm+++ b/gnu/packages/mail.scm@@ -1388,6 +1388,7 @@ invoking @command{notifymuch} from the post-new hook.") ("python" ,python) ("python-docutils" ,python-docutils) ("sphinx" ,python-sphinx)+ ("texinfo" ,texinfo) ;; The following are required for tests only. ("which" ,which)-- 2.33.0
X
X
Xinglu Chen wrote on 4 Sep 11:41 +0200
[PATCH v2 2/3] gnu: notmuch: Make cross-compilable.
(address . 50077@debbugs.gnu.org)
a04bd166f196170238fc255d8c4edc10fe4b71f8.1630748355.git.public@yoctocell.xyz
* gnu/packages/mail.scm (notmuch)[arguments]<#:phases>: Use 'cc-for-target' instead of 'gcc'.--- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (24 lines)diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scmindex eb141c5984..173982cb12 100644--- a/gnu/packages/mail.scm+++ b/gnu/packages/mail.scm@@ -1358,7 +1358,7 @@ invoking @command{notifymuch} from the post-new hook.") (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys)- (setenv "CC" "gcc")+ (setenv "CC" ,(cc-for-target)) (setenv "CONFIG_SHELL" (which "sh")) (let* ((out (assoc-ref outputs "out"))@@ -1375,7 +1375,7 @@ invoking @command{notifymuch} from the post-new hook.") (("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0")))) (add-before 'check 'prepare-test-environment (lambda _- (setenv "TEST_CC" "gcc")+ (setenv "TEST_CC" ,(cc-for-target)) ;; Patch various inline shell invocations. (substitute* (find-files "test" "\\.sh$") (("/bin/sh") (which "sh")))))-- 2.33.0
X
X
Xinglu Chen wrote on 4 Sep 11:42 +0200
[PATCH v2 3/3] gnu: Add emacs-notmuch.
(address . 50077@debbugs.gnu.org)(name . Andrew Tropin)(address . andrew@trop.in)
a9fb50394ef7ee48836a808ed2b3fc7d7aeb92e0.1630748355.git.public@yoctocell.xyz
* gnu/packages/mail.scm (notmuch)[arguments]: Remove Emacs-related stuff.* gnu/packages/emacs-xyz.scm (emacs-consult-notmuch)[propagated-inputs]: Add‘emacs-notmuch’.(emacs-counsel-notmuch)[propagated-inputs]: Use ‘emacs-notmuch’ instead of‘notmuch’.(emacs-helm-notmuch): Likewise.(emacs-notmuch-maildir): Likewise.--- gnu/packages/emacs-xyz.scm | 8 +++--- gnu/packages/mail.scm | 52 +++++++++++++++++++++++--------------- 2 files changed, 37 insertions(+), 23 deletions(-)
Toggle diff (144 lines)diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scmindex 030809f5ac..67ba8bf523 100644--- a/gnu/packages/emacs-xyz.scm+++ b/gnu/packages/emacs-xyz.scm@@ -8304,7 +8304,7 @@ list of candidates.") (build-system emacs-build-system) (propagated-inputs `(("emacs-consult" ,emacs-consult)- ("notmuch" ,notmuch)))+ ("emacs-notmuch" ,emacs-notmuch))) (home-page "https://codeberg.org/jao/consult-notmuch") (synopsis "Search and preview Notmuch emails using Consult") (description@@ -9490,6 +9490,8 @@ queries using counsel.") `(("emacs-counsel" ,emacs-counsel) ("notmuch" ,notmuch) ("emacs-s" ,emacs-s)))+ (propagated-inputs+ `(("emacs-notmuch" ,emacs-notmuch))) (home-page "https://github.com/fuxialexander/counsel-notmuch") (synopsis "Search emails in Notmuch asynchronously with Ivy") (description@@ -23952,7 +23954,7 @@ workspaces with a LSP-compliant server running.") (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm)- ("notmuch" ,notmuch)))+ ("emacs-notmuch" ,emacs-notmuch))) (synopsis "Search emails with Emacs Notmuch and Helm") (description "This package can be used to search emails in Emacs, searching result@@ -23975,7 +23977,7 @@ real search.") "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q")))) (build-system emacs-build-system) (propagated-inputs- `(("notmuch" ,notmuch)))+ `(("emacs-notmuch" ,emacs-notmuch))) (home-page "https://git.sr.ht/~tarsius/notmuch-maildir") (synopsis "Visualize maildirs as a tree") (descriptiondiff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scmindex 173982cb12..729e47cb95 100644--- a/gnu/packages/mail.scm+++ b/gnu/packages/mail.scm@@ -167,6 +167,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system guile)+ #:use-module (guix build-system emacs) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python)@@ -1342,31 +1343,18 @@ invoking @command{notifymuch} from the post-new hook.") "1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf")))) (build-system gnu-build-system) (arguments- `(#:modules ((guix build gnu-build-system)- ((guix build emacs-build-system) #:prefix emacs:)- (guix build utils))- #:imported-modules (,@%gnu-build-system-modules- (guix build emacs-build-system)- (guix build emacs-utils))- #:make-flags+ `(#:make-flags (list "V=1" ; verbose test output "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines #:phases (modify-phases %standard-phases- (add-after 'unpack 'patch-notmuch-lib.el- (lambda _- (substitute* "emacs/notmuch-lib.el"- (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (setenv "CC" ,(cc-for-target)) (setenv "CONFIG_SHELL" (which "sh"))-- (let* ((out (assoc-ref outputs "out"))- (elisp (emacs:elpa-directory out)))+ (let* ((out (assoc-ref outputs "out"))) (invoke "./configure" (string-append "--prefix=" out)- (string-append "--emacslispdir=" elisp)- (string-append "--emacsetcdir=" elisp)))))+ "--without-emacs")))) (add-before 'check 'disable-failing-tests ;; FIXME: Investigate why these tests are failing, ;; and try removing this for notmuch versions > 0.31.@@ -1378,12 +1366,9 @@ invoking @command{notifymuch} from the post-new hook.") (setenv "TEST_CC" ,(cc-for-target)) ;; Patch various inline shell invocations. (substitute* (find-files "test" "\\.sh$")- (("/bin/sh") (which "sh")))))- (add-after 'install 'make-autoloads- (assoc-ref emacs:%standard-phases 'make-autoloads)))))+ (("/bin/sh") (which "sh")))))))) (native-inputs `(("bash-completion" ,bash-completion)- ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests ("pkg-config" ,pkg-config) ("python" ,python) ("python-docutils" ,python-docutils)@@ -1391,6 +1376,7 @@ invoking @command{notifymuch} from the post-new hook.") ("texinfo" ,texinfo) ;; The following are required for tests only.+ ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests ("which" ,which) ("dtach" ,dtach) ("gnupg" ,gnupg)@@ -1409,6 +1395,32 @@ invoking @command{notifymuch} from the post-new hook.") ing, and tagging large collections of email messages.") (license license:gpl3+))) +(define-public emacs-notmuch+ (package+ (inherit notmuch)+ (name "emacs-notmuch")+ (build-system emacs-build-system)+ (native-inputs '())+ (inputs+ `(("notmuch" ,notmuch)))+ (arguments+ `(#:exclude (cons* "make-deps.el" "rstdoc.el" %default-exclude)+ #:phases+ (modify-phases %standard-phases+ (add-after 'unpack 'chdir+ (lambda _+ (chdir "emacs")))+ (add-after 'chdir 'patch-paths+ (lambda* (#:key inputs #:allow-other-keys)+ (let ((notmuch (assoc-ref inputs "notmuch")))+ (substitute* "notmuch-lib.el"+ (("\"notmuch\"")+ (string-append "\"" notmuch "/bin/notmuch\"")))))))))+ (synopsis "Run Notmuch within Emacs")+ (description+ "This package provides an Emacs-based interface to the Notmuch mail+system.")))+ (define-public notmuch-addrlookup-c (package (name "notmuch-addrlookup-c")-- 2.33.0
N
N
Nicolas Goaziou wrote on 14 Sep 09:05 +0200
Re: [bug#50077] [PATCH v2 0/3] Improvements to Notmuch
(name . Xinglu Chen)(address . public@yoctocell.xyz)
87a6kf63hm.fsf@nicolasgoaziou.fr
Hello,
Xinglu Chen <public@yoctocell.xyz> writes:
Toggle quote (5 lines)> Xinglu Chen (3):> gnu: notmuch: Build Texinfo manual.> gnu: notmuch: Make cross-compilable.> gnu: Add emacs-notmuch.
Applied. Thank you.
Regards,-- Nicolas Goaziou
Closed
A
A
Andrew Tropin wrote on 14 Sep 09:22 +0200
Re: [PATCH v2 3/3] gnu: Add emacs-notmuch.
878rzzmxir.fsf@trop.in
On 2021-09-04 11:42, Xinglu Chen wrote:
Toggle quote (147 lines)> * gnu/packages/mail.scm (notmuch)[arguments]: Remove Emacs-related stuff.> * gnu/packages/emacs-xyz.scm (emacs-consult-notmuch)[propagated-inputs]: Add> ‘emacs-notmuch’.> (emacs-counsel-notmuch)[propagated-inputs]: Use ‘emacs-notmuch’ instead of> ‘notmuch’.> (emacs-helm-notmuch): Likewise.> (emacs-notmuch-maildir): Likewise.> ---> gnu/packages/emacs-xyz.scm | 8 +++---> gnu/packages/mail.scm | 52 +++++++++++++++++++++++---------------> 2 files changed, 37 insertions(+), 23 deletions(-)>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm> index 030809f5ac..67ba8bf523 100644> --- a/gnu/packages/emacs-xyz.scm> +++ b/gnu/packages/emacs-xyz.scm> @@ -8304,7 +8304,7 @@ list of candidates.")> (build-system emacs-build-system)> (propagated-inputs> `(("emacs-consult" ,emacs-consult)> - ("notmuch" ,notmuch)))> + ("emacs-notmuch" ,emacs-notmuch)))> (home-page "https://codeberg.org/jao/consult-notmuch")> (synopsis "Search and preview Notmuch emails using Consult")> (description> @@ -9490,6 +9490,8 @@ queries using counsel.")> `(("emacs-counsel" ,emacs-counsel)> ("notmuch" ,notmuch)> ("emacs-s" ,emacs-s)))> + (propagated-inputs> + `(("emacs-notmuch" ,emacs-notmuch)))> (home-page "https://github.com/fuxialexander/counsel-notmuch")> (synopsis "Search emails in Notmuch asynchronously with Ivy")> (description> @@ -23952,7 +23954,7 @@ workspaces with a LSP-compliant server running.")> (build-system emacs-build-system)> (propagated-inputs> `(("emacs-helm" ,emacs-helm)> - ("notmuch" ,notmuch)))> + ("emacs-notmuch" ,emacs-notmuch)))> (synopsis "Search emails with Emacs Notmuch and Helm")> (description> "This package can be used to search emails in Emacs, searching result> @@ -23975,7 +23977,7 @@ real search.")> "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))> (build-system emacs-build-system)> (propagated-inputs> - `(("notmuch" ,notmuch)))> + `(("emacs-notmuch" ,emacs-notmuch)))> (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")> (synopsis "Visualize maildirs as a tree")> (description> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm> index 173982cb12..729e47cb95 100644> --- a/gnu/packages/mail.scm> +++ b/gnu/packages/mail.scm> @@ -167,6 +167,7 @@> #:use-module (guix build-system gnu)> #:use-module (guix build-system go)> #:use-module (guix build-system guile)> + #:use-module (guix build-system emacs)> #:use-module (guix build-system meson)> #:use-module (guix build-system perl)> #:use-module (guix build-system python)> @@ -1342,31 +1343,18 @@ invoking @command{notifymuch} from the post-new hook.")> "1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf"))))> (build-system gnu-build-system)> (arguments> - `(#:modules ((guix build gnu-build-system)> - ((guix build emacs-build-system) #:prefix emacs:)> - (guix build utils))> - #:imported-modules (,@%gnu-build-system-modules> - (guix build emacs-build-system)> - (guix build emacs-utils))> - #:make-flags> + `(#:make-flags> (list "V=1" ; verbose test output> "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines> #:phases (modify-phases %standard-phases> - (add-after 'unpack 'patch-notmuch-lib.el> - (lambda _> - (substitute* "emacs/notmuch-lib.el"> - (("/bin/sh") (which "sh")))))> (replace 'configure> (lambda* (#:key outputs #:allow-other-keys)> (setenv "CC" ,(cc-for-target))> (setenv "CONFIG_SHELL" (which "sh"))> -> - (let* ((out (assoc-ref outputs "out"))> - (elisp (emacs:elpa-directory out)))> + (let* ((out (assoc-ref outputs "out")))> (invoke "./configure"> (string-append "--prefix=" out)> - (string-append "--emacslispdir=" elisp)> - (string-append "--emacsetcdir=" elisp)))))> + "--without-emacs"))))> (add-before 'check 'disable-failing-tests> ;; FIXME: Investigate why these tests are failing,> ;; and try removing this for notmuch versions > 0.31.> @@ -1378,12 +1366,9 @@ invoking @command{notifymuch} from the post-new hook.")> (setenv "TEST_CC" ,(cc-for-target))> ;; Patch various inline shell invocations.> (substitute* (find-files "test" "\\.sh$")> - (("/bin/sh") (which "sh")))))> - (add-after 'install 'make-autoloads> - (assoc-ref emacs:%standard-phases 'make-autoloads)))))> + (("/bin/sh") (which "sh"))))))))> (native-inputs> `(("bash-completion" ,bash-completion)> - ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests> ("pkg-config" ,pkg-config)> ("python" ,python)> ("python-docutils" ,python-docutils)> @@ -1391,6 +1376,7 @@ invoking @command{notifymuch} from the post-new hook.")> ("texinfo" ,texinfo)> > ;; The following are required for tests only.> + ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests> ("which" ,which)> ("dtach" ,dtach)> ("gnupg" ,gnupg)> @@ -1409,6 +1395,32 @@ invoking @command{notifymuch} from the post-new hook.")> ing, and tagging large collections of email messages.")> (license license:gpl3+)))> > +(define-public emacs-notmuch> + (package> + (inherit notmuch)> + (name "emacs-notmuch")> + (build-system emacs-build-system)> + (native-inputs '())> + (inputs> + `(("notmuch" ,notmuch)))> + (arguments> + `(#:exclude (cons* "make-deps.el" "rstdoc.el" %default-exclude)> + #:phases> + (modify-phases %standard-phases> + (add-after 'unpack 'chdir> + (lambda _> + (chdir "emacs")))> + (add-after 'chdir 'patch-paths> + (lambda* (#:key inputs #:allow-other-keys)> + (let ((notmuch (assoc-ref inputs "notmuch")))> + (substitute* "notmuch-lib.el"> + (("\"notmuch\"")> + (string-append "\"" notmuch "/bin/notmuch\"")))))))))
Not sure if we need to hardcode the path to notmuch binary (some peoplecan use guix for managing emacs packages, but not system), but I thinkit's a rare case and this default is reasonable and easily fixable bysimple `(setq notmuch-command "notmuch")` in the cases, when notmuchitslef provided by other package manager.
Toggle quote (9 lines)> + (synopsis "Run Notmuch within Emacs")> + (description> + "This package provides an Emacs-based interface to the Notmuch mail> +system.")))> +> (define-public notmuch-addrlookup-c> (package> (name "notmuch-addrlookup-c")
Overall, LGTM.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEKEGaxlA4dEDH6S/6IgjSCVjB3rAFAmFATcwACgkQIgjSCVjB3rAMtxAAjDBugwYXQcSSKHyDjBX6KA3JNErwJmL6HAS5MJZlsB8WaVZNdjizwk4GkeJrzTOam6SgfpUXCcsSJ2GjZG6aMN/2MXi7QrUdbx9FYQt2xr118hBdSu9nBaSlM01wuMM3PRFQg5l8Gbto6Lo3E/jVEIL3Xm4dU75ULY2s1DNos/ZMr3kNY+Kb3ILaQVqsYqhodbG/2kHKiFRdxWxnZHJ1x5wXcaqyjeHf5tl/xrqK6Qu3oSHhj+OWuWIJ/Ce9zBVsf5c7rTwcMuySH52guu2DxXrcMqWWNADnfqptE4PVcpaiQjBqUKiEXEC9nFJA9hEMeHES5ZU5JAmEk04cVFEI1RwHUHkP7B/JZD8wiJd7FAkyJyHeXnYSf3NLUj8/TGVCS7qKJvMf7ddj4IDLd23zc4EjyOAiU39sZiAI3/GUc7DFEto7+KhBzkwJYTWaXmrk2+QeN4cNXYGzicB3DnKzXLaS+AbeEldxnn/vEEutqe8//zxg8wiEjwqGR9DXsnnsP+V0LUVWwkxXtAFeS2UdqXzBgHJJcq4CAxXa/fBnOtuvVT5Ew36gqRHIQ04OnxgMqZE80SnkSK/ZLMa9mJAlmN3ckKBFniwEnk//0kbDAsQgaKW4WNNmCk9pxOe7eFCbHnJcq7yIemUbhfj05DsTrwXf2oUvQ630kDk9bHOYwIM==i949-----END PGP SIGNATURE-----
X
X
Xinglu Chen wrote on 14 Sep 17:29 +0200
Re: [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch.
87lf3ztbta.fsf@yoctocell.xyz
On Tue, Sep 14 2021, Andrew Tropin wrote:
Toggle quote (155 lines)> On 2021-09-04 11:42, Xinglu Chen wrote:>>> * gnu/packages/mail.scm (notmuch)[arguments]: Remove Emacs-related stuff.>> * gnu/packages/emacs-xyz.scm (emacs-consult-notmuch)[propagated-inputs]: Add>> ‘emacs-notmuch’.>> (emacs-counsel-notmuch)[propagated-inputs]: Use ‘emacs-notmuch’ instead of>> ‘notmuch’.>> (emacs-helm-notmuch): Likewise.>> (emacs-notmuch-maildir): Likewise.>> --->> gnu/packages/emacs-xyz.scm | 8 +++--->> gnu/packages/mail.scm | 52 +++++++++++++++++++++++--------------->> 2 files changed, 37 insertions(+), 23 deletions(-)>>>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm>> index 030809f5ac..67ba8bf523 100644>> --- a/gnu/packages/emacs-xyz.scm>> +++ b/gnu/packages/emacs-xyz.scm>> @@ -8304,7 +8304,7 @@ list of candidates.")>> (build-system emacs-build-system)>> (propagated-inputs>> `(("emacs-consult" ,emacs-consult)>> - ("notmuch" ,notmuch)))>> + ("emacs-notmuch" ,emacs-notmuch)))>> (home-page "https://codeberg.org/jao/consult-notmuch")>> (synopsis "Search and preview Notmuch emails using Consult")>> (description>> @@ -9490,6 +9490,8 @@ queries using counsel.")>> `(("emacs-counsel" ,emacs-counsel)>> ("notmuch" ,notmuch)>> ("emacs-s" ,emacs-s)))>> + (propagated-inputs>> + `(("emacs-notmuch" ,emacs-notmuch)))>> (home-page "https://github.com/fuxialexander/counsel-notmuch")>> (synopsis "Search emails in Notmuch asynchronously with Ivy")>> (description>> @@ -23952,7 +23954,7 @@ workspaces with a LSP-compliant server running.")>> (build-system emacs-build-system)>> (propagated-inputs>> `(("emacs-helm" ,emacs-helm)>> - ("notmuch" ,notmuch)))>> + ("emacs-notmuch" ,emacs-notmuch)))>> (synopsis "Search emails with Emacs Notmuch and Helm")>> (description>> "This package can be used to search emails in Emacs, searching result>> @@ -23975,7 +23977,7 @@ real search.")>> "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))>> (build-system emacs-build-system)>> (propagated-inputs>> - `(("notmuch" ,notmuch)))>> + `(("emacs-notmuch" ,emacs-notmuch)))>> (home-page "https://git.sr.ht/~tarsius/notmuch-maildir")>> (synopsis "Visualize maildirs as a tree")>> (description>> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm>> index 173982cb12..729e47cb95 100644>> --- a/gnu/packages/mail.scm>> +++ b/gnu/packages/mail.scm>> @@ -167,6 +167,7 @@>> #:use-module (guix build-system gnu)>> #:use-module (guix build-system go)>> #:use-module (guix build-system guile)>> + #:use-module (guix build-system emacs)>> #:use-module (guix build-system meson)>> #:use-module (guix build-system perl)>> #:use-module (guix build-system python)>> @@ -1342,31 +1343,18 @@ invoking @command{notifymuch} from the post-new hook.")>> "1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf"))))>> (build-system gnu-build-system)>> (arguments>> - `(#:modules ((guix build gnu-build-system)>> - ((guix build emacs-build-system) #:prefix emacs:)>> - (guix build utils))>> - #:imported-modules (,@%gnu-build-system-modules>> - (guix build emacs-build-system)>> - (guix build emacs-utils))>> - #:make-flags>> + `(#:make-flags>> (list "V=1" ; verbose test output>> "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines>> #:phases (modify-phases %standard-phases>> - (add-after 'unpack 'patch-notmuch-lib.el>> - (lambda _>> - (substitute* "emacs/notmuch-lib.el">> - (("/bin/sh") (which "sh")))))>> (replace 'configure>> (lambda* (#:key outputs #:allow-other-keys)>> (setenv "CC" ,(cc-for-target))>> (setenv "CONFIG_SHELL" (which "sh"))>> ->> - (let* ((out (assoc-ref outputs "out"))>> - (elisp (emacs:elpa-directory out)))>> + (let* ((out (assoc-ref outputs "out")))>> (invoke "./configure">> (string-append "--prefix=" out)>> - (string-append "--emacslispdir=" elisp)>> - (string-append "--emacsetcdir=" elisp)))))>> + "--without-emacs"))))>> (add-before 'check 'disable-failing-tests>> ;; FIXME: Investigate why these tests are failing,>> ;; and try removing this for notmuch versions > 0.31.>> @@ -1378,12 +1366,9 @@ invoking @command{notifymuch} from the post-new hook.")>> (setenv "TEST_CC" ,(cc-for-target))>> ;; Patch various inline shell invocations.>> (substitute* (find-files "test" "\\.sh$")>> - (("/bin/sh") (which "sh")))))>> - (add-after 'install 'make-autoloads>> - (assoc-ref emacs:%standard-phases 'make-autoloads)))))>> + (("/bin/sh") (which "sh"))))))))>> (native-inputs>> `(("bash-completion" ,bash-completion)>> - ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests>> ("pkg-config" ,pkg-config)>> ("python" ,python)>> ("python-docutils" ,python-docutils)>> @@ -1391,6 +1376,7 @@ invoking @command{notifymuch} from the post-new hook.")>> ("texinfo" ,texinfo)>> >> ;; The following are required for tests only.>> + ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests>> ("which" ,which)>> ("dtach" ,dtach)>> ("gnupg" ,gnupg)>> @@ -1409,6 +1395,32 @@ invoking @command{notifymuch} from the post-new hook.")>> ing, and tagging large collections of email messages.")>> (license license:gpl3+)))>> >> +(define-public emacs-notmuch>> + (package>> + (inherit notmuch)>> + (name "emacs-notmuch")>> + (build-system emacs-build-system)>> + (native-inputs '())>> + (inputs>> + `(("notmuch" ,notmuch)))>> + (arguments>> + `(#:exclude (cons* "make-deps.el" "rstdoc.el" %default-exclude)>> + #:phases>> + (modify-phases %standard-phases>> + (add-after 'unpack 'chdir>> + (lambda _>> + (chdir "emacs")))>> + (add-after 'chdir 'patch-paths>> + (lambda* (#:key inputs #:allow-other-keys)>> + (let ((notmuch (assoc-ref inputs "notmuch")))>> + (substitute* "notmuch-lib.el">> + (("\"notmuch\"")>> + (string-append "\"" notmuch "/bin/notmuch\"")))))))))>> Not sure if we need to hardcode the path to notmuch binary (some people> can use guix for managing emacs packages, but not system), but I think> it's a rare case and this default is reasonable and easily fixable by> simple `(setq notmuch-command "notmuch")` in the cases, when notmuch> itslef provided by other package manager.
Yeah, this default should work for most people, and as you said, peoplewho haven’t installed Notmuch via Guix can just set to the‘notmuch-command’ to the appropriate value. It’s Emacs after all... ;-)
Also, since there was a consensus that Emacs packages that were includedin “regular” packages should be packaged as separate ‘emacs-’ packages,I think it would be a good idea to add a paragraph about that in themanual.
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmFAv/EVHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5vxUQAJln8S5TpIM3sOU7jpy9pNS09LvskJHYMmZZo7h/n4dpRQjqtslGe+GgQKNOrjWVb9AXTYfCsU9X0CEN6zhir+LxCbxo2LcFUxcA9oGvWzj4iGOOotxOuASivFrDWpSMWL9j9TEe5dXoapYY5aj5VKO6v9ZHEbA4nd4pqw+945z3EDusnCA/8npWifyf0jeAEVw/xM6RHHVYkZGOpVn/rBeEBvRwbUSyqnQQ1qJOUP8r6odRowuCqzOi+wBmVpOjECyr2ITvKGRCT8JzANKBqgmkQT6EQkIeVWJbuAdd1nvETt/GIcWp09a+jWvXS2oxuJ4cmBt2nYIKGeXNdksM4Ak9r/m5LnEdGvVBCSSzi9vYINhSRyOk1j3N6h2O63Z6ckokjakXUCkL0KU5BHpLH8P74uPD+o3ORUPuBF7S+bZSgk1FTwXlev2Z0YEJlwSNUVwdu0dd56qphgqh5/lJA8QlIyP7Z4WK84nbtWhZGyzvfd57H6L1kzyxY9Jug536r92hkHEnGpFgl7qWyjiPN43/oO3DE/a4Uh8tVdF3gKBWST7x5ssPcOCC8ATpgSUDrNSo6RRH/A7R6a5Y4RZ38p4FpSP3dSfVzjZHHL4HRVJiwESOLoeO55nIIQZ2JD7yKwNVT07OefNTG3UbgMDQqoe6cGxLl2lhWdiNP3ZXal3X=WO/M-----END PGP SIGNATURE-----
Z
Z
zimoun wrote on 14 Sep 17:35 +0200
861r5rtbji.fsf@gmail.com
Hi,
On Tue, 14 Sep 2021 at 17:29, Xinglu Chen <public@yoctocell.xyz> wrote:
Toggle quote (18 lines)> On Tue, Sep 14 2021, Andrew Tropin wrote:>> On 2021-09-04 11:42, Xinglu Chen wrote:
>> Not sure if we need to hardcode the path to notmuch binary (some people>> can use guix for managing emacs packages, but not system), but I think>> it's a rare case and this default is reasonable and easily fixable by>> simple `(setq notmuch-command "notmuch")` in the cases, when notmuch>> itslef provided by other package manager.>> Yeah, this default should work for most people, and as you said, people> who haven’t installed Notmuch via Guix can just set to the> ‘notmuch-command’ to the appropriate value. It’s Emacs after all... ;-)>> Also, since there was a consensus that Emacs packages that were included> in “regular” packages should be packaged as separate ‘emacs-’ packages,> I think it would be a good idea to add a paragraph about that in the> manual.
I agree. For references, this question appears here:
http://issues.guix.gnu.org/issue/49457 http://issues.guix.gnu.org/issue/50231
so it seems something is missing in the manual. :-)

All the best,simon
X
X
Xinglu Chen wrote on 14 Sep 21:20 +0200
87y27zrmkg.fsf@yoctocell.xyz
On Tue, Sep 14 2021, zimoun wrote:
Toggle quote (28 lines)> Hi,>> On Tue, 14 Sep 2021 at 17:29, Xinglu Chen <public@yoctocell.xyz> wrote:>> On Tue, Sep 14 2021, Andrew Tropin wrote:>>> On 2021-09-04 11:42, Xinglu Chen wrote:>>>> Not sure if we need to hardcode the path to notmuch binary (some people>>> can use guix for managing emacs packages, but not system), but I think>>> it's a rare case and this default is reasonable and easily fixable by>>> simple `(setq notmuch-command "notmuch")` in the cases, when notmuch>>> itslef provided by other package manager.>>>> Yeah, this default should work for most people, and as you said, people>> who haven’t installed Notmuch via Guix can just set to the>> ‘notmuch-command’ to the appropriate value. It’s Emacs after all... ;-)>>>> Also, since there was a consensus that Emacs packages that were included>> in “regular” packages should be packaged as separate ‘emacs-’ packages,>> I think it would be a good idea to add a paragraph about that in the>> manual.>> I agree. For references, this question appears here:>> <http://issues.guix.gnu.org/issue/49457>> <http://issues.guix.gnu.org/issue/50231>>> so it seems something is missing in the manual. :-)
Just sent a patch for it. :-)
https://issues.guix.gnu.org/issue/50589
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmFA9f8VHHB1YmxpY0B5b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5ZwMQAKgQWfJIOhqPv1VmcGDnr5dRPeP3EL4tpHt4ippPE2qyA/LeXY0kAChuf3tXQqHRM1DxCIBoAu+i2/Wm9WHU147I+x1hPB8NRA6G5SigjP2p5paQpA6QhcRkvhA7fAlFNPwBXuc1cDKMlUdyF2BM+h0XoQWw3VfmqqFxp7oMUe/uuh3uqt1SYuaeHf/YUdUx3otsMUZJK6oe1oEmx/Mftg4+Gebj2pBmtU1GKnkXpHoqWm83JtXxhU94r5NFcXOJYi1aGtBmuaWiU+J3QAxDy3mWsowzBMkEyMk6z100b/9X5BnQ4ZB9G67LwklOCmH8vdDaONWQlYpwl38hoKzmN6LNAHy/BFPDIgc0F1jWw2n4vM6JD6tYWAGD1uyU1sl0Zmhhqmm6ebc4f6qZrR1LONkaX/3zK1+lqvMfiGQcRWSjkypyET36do6AxA7hZ3YRSe4n3iT96rMdCa/pzp64ZkjHWGHAL3632+0jIh+qy0PluD01cRI3WTOKgN/TK0cWnf1bU6nA46cgc1DDNR7PJRvnKPXQRrFqKIo1PnuyK/e5ZT16+KfVaz4YStzTksT+bAAA3NS6Mk6yEB4Y2+GBmb5NwYS7WGuRGwoupihkub0HjU8cL89DpIxUpBqLVZihbIXojOU2OrsGWtOlxCScwpYz2b5DQi9GMyGC3xDJiqNC=diJm-----END PGP SIGNATURE-----
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 50077@debbugs.gnu.org