Package: guix-patches;
Reported by: Declan Tsien <declantsien <at> riseup.net>
Date: Sun, 23 Oct 2022 05:51:02 UTC
Severity: normal
Tags: patch
Done: Declan Tsien <declantsien <at> riseup.net>
Bug is archived. No further changes may be made.
Message #16 received at 58730 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: Declan Tsien <declantsien <at> riseup.net>, 58730 <at> debbugs.gnu.org Cc: Kyle Meyer <kyle <at> kyleam.com>, public <at> yoctocell.xyz, liliana.prikler <at> gmail.com, Nicolas Goaziou <mail <at> nicolasgoaziou.fr>, Andrew Tropin <andrew <at> trop.in> Subject: Re: [bug#58730] [PATCH] Split emacs-piem and emacs-git-email Date: Wed, 02 Nov 2022 19:13:28 +0100
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 <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.