all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kyle Meyer <kyle@kyleam.com>
To: zimoun <zimon.toutoune@gmail.com>
Cc: Declan Tsien <declantsien@riseup.net>,
	public@yoctocell.xyz, liliana.prikler@gmail.com,
	Andrew Tropin <andrew@trop.in>,
	58730@debbugs.gnu.org, Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: [bug#58730] [PATCH] Split emacs-piem and emacs-git-email
Date: Sat, 05 Nov 2022 01:22:01 -0400	[thread overview]
Message-ID: <87bkpm2cxy.fsf@kyleam.com> (raw)
In-Reply-To: <87leotb4xj.fsf@gmail.com>

zimoun writes:

> Kyle, are all the sub-packages of piem working independently?

-elfeed, -eww, -gnus, -notmuch, and -rmail are integration libraries
that, when their corresponding minor modes are enabled, wire themselves
up to piem.el hooks.  None of these libraries depend on each other, and
piem.el doesn't depend on any of them being present.

-lei is an integration library as well, though it's a bit more involved
because it provides an interface to public-inbox's lei (mostly just `lei
q' at the moment).  piem.el does bind a piem-lei command in
piem-dispatch, so that of course won't be found if piem-lei.el isn't
present, but otherwise things should be functional.

-b4 is a little different.  It implements b4 support of course, but it's
not an "integration library" like the ones referred to above.  b4 is the
main workhorse for applying patch series, regardless of whether that's
from Gnus or Notmuch or whatnot.  I know some people use piem.el without
b4, and I'm glad if that works for their needs, but in my view b4
support is a core part of piem.

> On dim., 23 oct. 2022 at 13:49, Declan Tsien <declantsien@riseup.net> wrote:
[...]
>> Subject: [PATCH 2/4] gnu: emacs-piem: Add build-info-manual phase.
>>
>> * gnu/packages/emacs-xyz.scm (emacs-piem): Add build-info-manual phase.
>> [native-inputs]: Add texinfo.
>> ---
>>  gnu/packages/emacs-xyz.scm | 8 +++++++-
>>  1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
>> index be6d4c6ba3..bc56067a7c 100644
>> --- a/gnu/packages/emacs-xyz.scm
>> +++ b/gnu/packages/emacs-xyz.scm
>> @@ -7151,9 +7151,15 @@ (define-public emacs-piem
>>                   (lambda* (#:key inputs #:allow-other-keys)
>>                     (emacs-substitute-variables "piem-b4.el"
>>                       ("piem-b4-b4-executable"
>> -                      (search-input-file inputs "/bin/b4"))))))))
>> +                      (search-input-file inputs "/bin/b4")))))
>> +               (add-after 'unpack 'build-info-manual
>> +                 (lambda _
>> +                   (invoke "make" "Documentation/piem.info")
>> +                   (rename-file "Documentation/piem.info" "piem.info"))))))
>
> Here, I would build the manual before the install phase instead after
> the unpack phase.

Declan, thanks, I appreciate you adding the manual.

>> Subject: [PATCH 3/4] gnu: emacs-piem: Split into multiple separated packages.
>>
>> emacs-piem currently bundles multiple lisp files with identical functionality
>> but for different tastes. Split into separated packages would avoid pulling
>> unnecessary dependencies into user profile.
>>
>> * gnu/packages/emacs-xyz.scm (emacs-piem): Split into multiple separated
>> packages.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-b4): New variable.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-elfeed): New variable.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-eww): New variable.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-gnus): New variable.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-notmuch): New variable.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-rmail): New variable.
>> * gnu/packages/emacs-xyz.scm (emacs-piem-lei): New variable.
>
> Personally, I am fine with several packages.  But we could also ask if
> several output would not fit the bill.  WDYT?

Yes, I also wondered about using multiple outputs instead.

Two comments on "avoid[ing] pulling in unnecessary dependencies":

 * -eww, -gnus, and -rmail use libraries that ship with Emacs, so
    splitting them out doesn't remove any dependencies.

 * -lei doesn't bring in any dependencies because public-inbox isn't
    listed as an input.




  reply	other threads:[~2022-11-05  5:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-23  5:49 [bug#58730] [PATCH] Split emacs-piem and emacs-git-email Declan Tsien
2022-10-25  1:15 ` Declan Tsien
2022-10-29  1:30 ` bug#58730: " Declan Tsien
2022-11-02 18:13 ` [bug#58730] " zimoun
2022-11-05  5:22   ` Kyle Meyer [this message]
2022-11-05  7:18   ` Declan Tsien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bkpm2cxy.fsf@kyleam.com \
    --to=kyle@kyleam.com \
    --cc=58730@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=declantsien@riseup.net \
    --cc=liliana.prikler@gmail.com \
    --cc=mail@nicolasgoaziou.fr \
    --cc=public@yoctocell.xyz \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.