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

Hi,

CC: emacs team


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

Xinglu, are all the sub-packages of emacs-git-email working
independently?


On dim., 23 oct. 2022 at 13:49, Declan Tsien <declantsien@riseup.net> wrote:

> Subject: [PATCH 1/4] gnu: emacs-git-email: Fix makeinfo.
>
> * gnu/packages/emacs-xyz.scm (emacs-git-email): Fix makeinfo.
> ---
>  gnu/packages/emacs-xyz.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

LGTM.


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



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


> ---
>  gnu/packages/emacs-xyz.scm | 139 +++++++++++++++++++++++++++++--------
>  1 file changed, 109 insertions(+), 30 deletions(-)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index bc56067a7c..3f62e92116 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -7134,45 +7134,124 @@ (define-public emacs-piem
>    (package
>      (name "emacs-piem")
>      (version "0.4.0")
> -    (source
> -     (origin
> -       (method git-fetch)
> -       (uri (git-reference
> -             (url "https://git.kyleam.com/piem")
> -             (commit (string-append "v" version))))
> -       (file-name (string-append name "-" version "-checkout"))
> -       (sha256
> -        (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://git.kyleam.com/piem")
> +                    (commit (string-append "v" version))))
> +              (file-name (string-append name "-" version "-checkout"))
> +              (sha256
> +               (base32
> +                "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))

Why this cosmetic change?


>      (build-system emacs-build-system)
>      (arguments
> -     (list #:phases
> -           #~(modify-phases %standard-phases
> -               (add-after 'unpack 'configure
> -                 (lambda* (#:key inputs #:allow-other-keys)
> -                   (emacs-substitute-variables "piem-b4.el"
> -                     ("piem-b4-b4-executable"
> -                      (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"))))))
> -    (inputs
> -     (list b4))
> -    (native-inputs
> -     (list texinfo))
> -    (propagated-inputs
> -     (list emacs-elfeed
> -           emacs-notmuch
> -           emacs-transient))
> -    (home-page "https://docs.kyleam.com/piem")
> +     (list #:exclude #~(cons* "^piem-b4.el"
> +                              "^piem-elfeed.el"
> +                              "^piem-eww.el"
> +                              "^piem-gnus.el"
> +                              "^piem-lei.el"
> +                              "^piem-notmuch.el"
> +                              "^piem-rmail.el"
> +                              %default-exclude)
> +           #:phases #~(modify-phases %standard-phases
> +                        (add-after 'unpack 'build-info-manual
> +                          (lambda _
> +                            (invoke "make" "Documentation/piem.info")
> +                            (rename-file "Documentation/piem.info" "piem.info"))))))

LGTM.


> +    (native-inputs (list texinfo))

Why this cosmetic change?

> +    (propagated-inputs (list emacs-transient))
> +    (home-page "https://docs.kyleam.com/piem/")
>      (synopsis "Glue for working with public-inbox archives")
> -    (description "This packages provides a collection of Emacs libraries for
> +    (description
> +     "This package provides a collection of Emacs libraries for

Idem.

  

> +(define-public emacs-piem-b4

[...]

> +(define-public emacs-piem-elfeed

[...]

> +(define-public emacs-piem-eww

[...]

> +(define-public emacs-piem-gnus

[...]

> +(define-public emacs-piem-notmuch

[...]

> +(define-public emacs-piem-rmail

[...]

> +(define-public emacs-piem-lei

[...]

All LGTM although I have not checked if all packages are working
independently.

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build $(./pre-inst-env guix search emacs-piem | recsel -CP name) --no-grafts
/gnu/store/15gghkyq9wr2qjnlxnq5pb9k5cggcyzv-emacs-git-email-piem-0.2.0-0.b5ebade
/gnu/store/hqdv1hc8vdcym59dzfyp9s49sbjzsa37-emacs-piem-b4-0.4.0
/gnu/store/p0f8q5swvb16w3f8709643gm6f7pj6wn-emacs-piem-elfeed-0.4.0
/gnu/store/1abb0k30igcyg2vgi3w6hnmszkx1yxmc-emacs-piem-eww-0.4.0
/gnu/store/8v2vn6qdiza1lj19frf1flb7h3s3r1s3-emacs-piem-gnus-0.4.0
/gnu/store/18pbym3hwyg8m2arnin58r3vyrx4f781-emacs-piem-lei-0.4.0
/gnu/store/qsibcac82cls2r2jvnxkvc1iajja5mqg-emacs-piem-notmuch-0.4.0
/gnu/store/s6xzxjy7wsi7q5c50qxvg7mbmz1i10v0-emacs-piem-rmail-0.4.0
/gnu/store/zyy8c2q56299s510lndzmi0lk26m4wh6-emacs-piem-0.4.0
--8<---------------cut here---------------end--------------->8---



> Subject: [PATCH 4/4] gnu: emacs-git-email: Split into multiple separated
>  packages.
>
> emacs-git-email 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-git-email): Split into multiple separated
> packages.
> * gnu/packages/emacs-xyz.scm (emacs-git-email-gnus): New Variable.
> * gnu/packages/emacs-xyz.scm (emacs-git-email-magit): New Variable.
> * gnu/packages/emacs-xyz.scm (emacs-git-email-mu4e): New Variable.
> * gnu/packages/emacs-xyz.scm (emacs-git-email-notmuch): New Variable.
> * gnu/packages/emacs-xyz.scm (emacs-git-email-piem): New Variable.
> ---
>  gnu/packages/emacs-xyz.scm | 115 +++++++++++++++++++++++++++++--------
>  1 file changed, 90 insertions(+), 25 deletions(-)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 3f62e92116..0bbae04f08 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -17405,39 +17405,104 @@ (define-public emacs-git-email
>      (package
>        (name "emacs-git-email")
>        (version (git-version "0.2.0" revision commit))
> -      (source
> -       (origin
> -         (method git-fetch)
> -         (uri (git-reference
> -               (url "https://git.sr.ht/~yoctocell/git-email")
> -               (commit commit)))
> -         (patches
> -          (search-patches "emacs-git-email-missing-parens.patch"))
> -         (file-name (git-file-name name version))
> -         (sha256
> -          (base32 "1lk1yds7idgawnair8l3s72rgjmh80qmy4kl5wrnqvpmjrmdgvnx"))))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://git.sr.ht/~yoctocell/git-email")
> +                      (commit commit)))
> +                (file-name (git-file-name name version))
> +                (sha256
> +                 (base32
> +                  "1lk1yds7idgawnair8l3s72rgjmh80qmy4kl5wrnqvpmjrmdgvnx"))))

Idem about cosmetic change?  The rest LGTM.



> +(define-public emacs-git-email-gnus

[...]

> +(define-public emacs-git-email-magit

[...]

> +(define-public emacs-git-email-mu4e
> +  (package
> +    (inherit emacs-git-email)
> +    (name "emacs-git-email-mu4e")
> +    (propagated-inputs (list emacs-git-email mu))
> +    (inputs (list `("emacs-git-email-mu4e-patch" ,(car (search-patches
> +                                                        "emacs-git-email-missing-parens.patch")))))

Usually, ’match’ is preferred over ’car’; for instance,

        ,(match (search-patches
                 "emacs-git-email-missing-parens.patch")
           ((head tail ...) head))


> +(define-public emacs-git-email-notmuch

[...]

> +(define-public emacs-git-email-piem

[...]


All LGTM although I have not checked if all packages are working
independently.

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build $(./pre-inst-env guix search emacs-git-email | recsel -CP name) 
/gnu/store/qpll3r2mj17klmlij939fd576zzspnyp-emacs-git-email-gnus-0.2.0-0.b5ebade
/gnu/store/aw7v8mwgnk8qf2mhwzsrp4y38b35yl98-emacs-git-email-magit-0.2.0-0.b5ebade
/gnu/store/w84d3c2w6r1f1jk0izz72kgz9p2942ab-emacs-git-email-mu4e-0.2.0-0.b5ebade
/gnu/store/saw1nnjsn8j5kxmnrnnbn2zqp9hs7iv2-emacs-git-email-notmuch-0.2.0-0.b5ebade
/gnu/store/15gghkyq9wr2qjnlxnq5pb9k5cggcyzv-emacs-git-email-piem-0.2.0-0.b5ebade
/gnu/store/kl1q1kc140v8kmx4g4564z3nx83vm5h7-emacs-git-email-0.2.0-0.b5ebade
--8<---------------cut here---------------end--------------->8---


Cheers,
simon




  parent reply	other threads:[~2022-11-02 18:41 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 ` zimoun [this message]
2022-11-05  5:22   ` [bug#58730] " Kyle Meyer
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=87leotb4xj.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=58730@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=declantsien@riseup.net \
    --cc=kyle@kyleam.com \
    --cc=liliana.prikler@gmail.com \
    --cc=mail@nicolasgoaziou.fr \
    --cc=public@yoctocell.xyz \
    /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.