* [bug#50077] [PATCH 0/3] Various improvements to Notmuch @ 2021-08-16 14:10 Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output Xinglu Chen ` (3 more replies) 0 siblings, 4 replies; 18+ messages in thread From: Xinglu Chen @ 2021-08-16 14:10 UTC (permalink / raw) To: 50077; +Cc: Nicolas Goaziou, Andrew Tropin Adding an extra ‘emacs’ output would allow one to propagate notmuch.el without propagating the Notmuch executable and libnotmuch. This was mentioned 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 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output. 2021-08-16 14:10 [bug#50077] [PATCH 0/3] Various improvements to Notmuch Xinglu Chen @ 2021-08-16 14:12 ` Xinglu Chen [not found] ` <87o89owoi0.fsf@trop.in> 2021-08-16 14:12 ` [bug#50077] [PATCH 2/3] gnu: notmuch: Build Info manual Xinglu Chen ` (2 subsequent siblings) 3 siblings, 1 reply; 18+ messages in thread From: Xinglu Chen @ 2021-08-16 14:12 UTC (permalink / raw) To: 50077; +Cc: Nicolas Goaziou, Andrew Tropin * 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 -- 2.32.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <87o89owoi0.fsf@trop.in>]
* [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output. [not found] ` <87o89owoi0.fsf@trop.in> @ 2021-08-28 10:34 ` Xinglu Chen 2021-08-30 7:14 ` Andrew Tropin 0 siblings, 1 reply; 18+ messages in thread From: Xinglu Chen @ 2021-08-28 10:34 UTC (permalink / raw) To: Andrew Tropin; +Cc: 50077 [-- Attachment #1: Type: text/plain, Size: 4571 bytes --] [ 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! :-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output. 2021-08-28 10:34 ` Xinglu Chen @ 2021-08-30 7:14 ` Andrew Tropin 2021-08-30 13:33 ` [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.) Xinglu Chen 0 siblings, 1 reply; 18+ messages in thread From: Andrew Tropin @ 2021-08-30 7:14 UTC (permalink / raw) To: Xinglu Chen; +Cc: 50077 [-- Attachment #1: Type: text/plain, Size: 5729 bytes --] On 2021-08-28 12:34, Xinglu Chen wrote: > [ Debbugs wasn’t Cc’d in the previous message ] > Oops) > > 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 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. 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. 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, 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 =) > > 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! :-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.) 2021-08-30 7:14 ` Andrew Tropin @ 2021-08-30 13:33 ` Xinglu Chen 2021-09-01 9:50 ` Andrew Tropin 0 siblings, 1 reply; 18+ messages in thread From: Xinglu Chen @ 2021-08-30 13:33 UTC (permalink / raw) To: Andrew Tropin; +Cc: 50077 [-- Attachment #1: Type: text/plain, Size: 1881 bytes --] 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’? > 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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.) 2021-08-30 13:33 ` [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.) Xinglu Chen @ 2021-09-01 9:50 ` Andrew Tropin [not found] ` <874kb4lcvf.fsf@yoctocell.xyz> 0 siblings, 1 reply; 18+ messages in thread From: Andrew Tropin @ 2021-09-01 9:50 UTC (permalink / raw) To: Xinglu Chen; +Cc: 50077 [-- Attachment #1: Type: text/plain, Size: 2703 bytes --] 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. > >> 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 in some future, it's very likely that some derivative distribution with considerable amount of users will appear, which will be utilizing such capabilities. Actually, the exact use case doesn't matter so much, but the whole picture, where you need to track every package, which picks some phases of one build system to make sure that your transformation of package list works correctly is. More regular and consistent package definitions are, the easier and simplier to transform them programmatically. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <874kb4lcvf.fsf@yoctocell.xyz>]
[parent not found: <456243eca955ecc83b26663ed4e7e22d5170f03d.camel@student.tugraz.at>]
[parent not found: <87sfynq2xm.fsf@zancanaro.id.au>]
* [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.) [not found] ` <87sfynq2xm.fsf@zancanaro.id.au> @ 2021-09-03 16:14 ` Xinglu Chen 0 siblings, 0 replies; 18+ messages in thread From: Xinglu Chen @ 2021-09-03 16:14 UTC (permalink / raw) To: Carlo Zancanaro, Liliana Marie Prikler; +Cc: 50077, guix-devel, Andrew Tropin [-- Attachment #1: Type: text/plain, Size: 960 bytes --] On Thu, Sep 02 2021, Carlo Zancanaro wrote: > 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, I will send an updated series that adds ‘emacs-notmuch’ instead of adding an extra output to ‘notmuch’. :-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH 2/3] gnu: notmuch: Build Info manual. 2021-08-16 14:10 [bug#50077] [PATCH 0/3] Various improvements to Notmuch Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output Xinglu Chen @ 2021-08-16 14:12 ` Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 3/3] gnu: notmuch: Use 'cc-for-target' instead of hardcoding 'gcc' Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen 3 siblings, 0 replies; 18+ messages in thread From: Xinglu Chen @ 2021-08-16 14:12 UTC (permalink / raw) To: 50077 * gnu/packages/mail.scm (notmuch)[native-inputs]: Add 'texinfo'. --- gnu/packages/mail.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH 3/3] gnu: notmuch: Use 'cc-for-target' instead of hardcoding 'gcc'. 2021-08-16 14:10 [bug#50077] [PATCH 0/3] Various improvements to Notmuch Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 2/3] gnu: notmuch: Build Info manual Xinglu Chen @ 2021-08-16 14:12 ` Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen 3 siblings, 0 replies; 18+ messages in thread From: Xinglu Chen @ 2021-08-16 14:12 UTC (permalink / raw) To: 50077 * 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(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 0/3] Improvements to Notmuch 2021-08-16 14:10 [bug#50077] [PATCH 0/3] Various improvements to Notmuch Xinglu Chen ` (2 preceding siblings ...) 2021-08-16 14:12 ` [bug#50077] [PATCH 3/3] gnu: notmuch: Use 'cc-for-target' instead of hardcoding 'gcc' Xinglu Chen @ 2021-09-04 9:41 ` Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 1/3] gnu: notmuch: Build Texinfo manual Xinglu Chen ` (3 more replies) 3 siblings, 4 replies; 18+ messages in thread From: Xinglu Chen @ 2021-09-04 9:41 UTC (permalink / raw) To: 50077; +Cc: Andrew Tropin [-- Attachment #1: Type: text/plain, Size: 517 bytes --] 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 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 1/3] gnu: notmuch: Build Texinfo manual. 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen @ 2021-09-04 9:41 ` Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 2/3] gnu: notmuch: Make cross-compilable Xinglu Chen ` (2 subsequent siblings) 3 siblings, 0 replies; 18+ messages in thread From: Xinglu Chen @ 2021-09-04 9:41 UTC (permalink / raw) To: 50077 * gnu/packages/mail.scm (notmuch)[native-inputs]: Add 'texinfo'. --- gnu/packages/mail.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 2/3] gnu: notmuch: Make cross-compilable. 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 1/3] gnu: notmuch: Build Texinfo manual Xinglu Chen @ 2021-09-04 9:41 ` Xinglu Chen 2021-09-04 9:42 ` [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch Xinglu Chen 2021-09-14 7:05 ` bug#50077: [PATCH v2 0/3] Improvements to Notmuch Nicolas Goaziou 3 siblings, 0 replies; 18+ messages in thread From: Xinglu Chen @ 2021-09-04 9:41 UTC (permalink / raw) To: 50077 * 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(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch. 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 1/3] gnu: notmuch: Build Texinfo manual Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 2/3] gnu: notmuch: Make cross-compilable Xinglu Chen @ 2021-09-04 9:42 ` Xinglu Chen 2021-09-14 7:22 ` Andrew Tropin 2021-09-14 7:05 ` bug#50077: [PATCH v2 0/3] Improvements to Notmuch Nicolas Goaziou 3 siblings, 1 reply; 18+ messages in thread From: Xinglu Chen @ 2021-09-04 9:42 UTC (permalink / raw) To: 50077; +Cc: Andrew Tropin * 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\""))))))))) + (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 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch. 2021-09-04 9:42 ` [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch Xinglu Chen @ 2021-09-14 7:22 ` Andrew Tropin 2021-09-14 15:29 ` Xinglu Chen 0 siblings, 1 reply; 18+ messages in thread From: Andrew Tropin @ 2021-09-14 7:22 UTC (permalink / raw) To: Xinglu Chen, 50077 [-- Attachment #1: Type: text/plain, Size: 7648 bytes --] 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. > + (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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch. 2021-09-14 7:22 ` Andrew Tropin @ 2021-09-14 15:29 ` Xinglu Chen 2021-09-14 15:35 ` zimoun 0 siblings, 1 reply; 18+ messages in thread From: Xinglu Chen @ 2021-09-14 15:29 UTC (permalink / raw) To: Andrew Tropin, 50077 [-- Attachment #1: Type: text/plain, Size: 8028 bytes --] On Tue, Sep 14 2021, Andrew Tropin wrote: > 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, 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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch. 2021-09-14 15:29 ` Xinglu Chen @ 2021-09-14 15:35 ` zimoun 2021-09-14 19:20 ` Xinglu Chen 0 siblings, 1 reply; 18+ messages in thread From: zimoun @ 2021-09-14 15:35 UTC (permalink / raw) To: Xinglu Chen, Andrew Tropin, 50077 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. :-) All the best, simon ^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch. 2021-09-14 15:35 ` zimoun @ 2021-09-14 19:20 ` Xinglu Chen 0 siblings, 0 replies; 18+ messages in thread From: Xinglu Chen @ 2021-09-14 19:20 UTC (permalink / raw) To: zimoun, Andrew Tropin, 50077 [-- Attachment #1: Type: text/plain, Size: 1342 bytes --] On Tue, Sep 14 2021, zimoun wrote: > 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> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 861 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#50077: [PATCH v2 0/3] Improvements to Notmuch 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen ` (2 preceding siblings ...) 2021-09-04 9:42 ` [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch Xinglu Chen @ 2021-09-14 7:05 ` Nicolas Goaziou 3 siblings, 0 replies; 18+ messages in thread From: Nicolas Goaziou @ 2021-09-14 7:05 UTC (permalink / raw) To: Xinglu Chen; +Cc: 50077-done, Andrew Tropin Hello, Xinglu Chen <public@yoctocell.xyz> writes: > Xinglu Chen (3): > gnu: notmuch: Build Texinfo manual. > gnu: notmuch: Make cross-compilable. > gnu: Add emacs-notmuch. Applied. Thank you. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2021-09-14 19:21 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-08-16 14:10 [bug#50077] [PATCH 0/3] Various improvements to Notmuch Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output Xinglu Chen [not found] ` <87o89owoi0.fsf@trop.in> 2021-08-28 10:34 ` Xinglu Chen 2021-08-30 7:14 ` Andrew Tropin 2021-08-30 13:33 ` [bug#50077] Separate ‘emacs’ output vs separate ‘emacs-’ package (was Re: [bug#50077] [PATCH 1/3] gnu: notmuch: Add separate 'emacs' output.) Xinglu Chen 2021-09-01 9:50 ` Andrew Tropin [not found] ` <874kb4lcvf.fsf@yoctocell.xyz> [not found] ` <456243eca955ecc83b26663ed4e7e22d5170f03d.camel@student.tugraz.at> [not found] ` <87sfynq2xm.fsf@zancanaro.id.au> 2021-09-03 16:14 ` Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 2/3] gnu: notmuch: Build Info manual Xinglu Chen 2021-08-16 14:12 ` [bug#50077] [PATCH 3/3] gnu: notmuch: Use 'cc-for-target' instead of hardcoding 'gcc' Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 0/3] Improvements to Notmuch Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 1/3] gnu: notmuch: Build Texinfo manual Xinglu Chen 2021-09-04 9:41 ` [bug#50077] [PATCH v2 2/3] gnu: notmuch: Make cross-compilable Xinglu Chen 2021-09-04 9:42 ` [bug#50077] [PATCH v2 3/3] gnu: Add emacs-notmuch Xinglu Chen 2021-09-14 7:22 ` Andrew Tropin 2021-09-14 15:29 ` Xinglu Chen 2021-09-14 15:35 ` zimoun 2021-09-14 19:20 ` Xinglu Chen 2021-09-14 7:05 ` bug#50077: [PATCH v2 0/3] Improvements to Notmuch Nicolas Goaziou
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).