all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* Re: Guix Days: Patch flow discussion
  @ 2024-02-15 17:19  6%                 ` Simon Tournier
  0 siblings, 0 replies; 37+ results
From: Simon Tournier @ 2024-02-15 17:19 UTC (permalink / raw)
  To: Felix Lechner, Clément Lassieur
  Cc: Maxim Cournoyer, Kyle Meyer, Ricardo Wurmus, Josselin Poiret,
	Hartmut Goebel, Suhail, guix-devel

Hi Felix,

On jeu., 15 févr. 2024 at 07:32, Felix Lechner via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org> wrote:

> To request a feature in Debbugs.el, please file a bug against the
> "debbugs.gnu.org" package on debbugs.gnu.org.

To be clear, my message [1] was not to report a “bug” or request for a
“feature” in debbugs.el.  My message was:

                          What appears to me “difficult” is that most of the
        tools as Email client are poorly supporting Message-ID.

        For instance,

And I took as one example the venerable debbugs.el for making my point:
most of the tools that deal with Emails poorly support one key of Email
heart: Message-ID.

Personally, I rely on the cool piem.el and some custom Emacs lisp
helpers, then for dealing with complex patch or bug thread, I inject and
process them with notmuch.el. :-)

Therefore, open a feature request is low on my list of TODO. ;-)

Cheers,
simon

1: Re: Guix Days: Patch flow discussion
Simon Tournier <zimon.toutoune@gmail.com>
Wed, 14 Feb 2024 16:48:07 +0100
id:87mss3kpxk.fsf@gmail.com
https://lists.gnu.org/archive/html/guix-devel/2024-02
https://yhetil.org/guix/87mss3kpxk.fsf@gmail.com


^ permalink raw reply	[relevance 6%]

* Re: Guix Days: Patch flow discussion
  @ 2024-02-08  2:39 12%     ` Kyle Meyer
    0 siblings, 1 reply; 37+ results
From: Kyle Meyer @ 2024-02-08  2:39 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: Josselin Poiret, Hartmut Goebel, Suhail, guix-devel

Hi Ricardo,

Ricardo Wurmus writes:

> Hi Josselin,

>> They both can co-exist with debbugs, and for now the patchwork instance
>> of QA is not usable for status tracking (because it is not meant to be
>> used as such for now).  One can already use both of them, but using both
>> supercedes debbugs, and gets rid of its limitations.  I've been using
>> b4/lei with the yhetil public-inbox instance, with piem.el as an
>> interface, and it's really useful.  With a properly configured b4, one
>> could simply run `b4 shazam some-msg-id` and it would automatically
>> apply the corresponding patchset.
>
> I’m interested in adopting this workflow.  Where can I find more
> information on how to configure this?

In 889a6204f8 (doc: Add some guidelines for reviewing, 2023-11-07),
Maxim added some b4 configuration to Guix's etc/git/gitconfig that
points at yhetil.org.  With that setup, running 'b4 shazam MESSAGE-ID'
from a Guix checkout should work.

You may have just be asking about configuring 'b4 shazam', but if you
(or others) are interested in configuring piem, read on :)


piem setup and use
==================

For piem, you need some custom setup in your Emacs config.

  https://docs.kyleam.com/piem/Registering-inboxes.html

piem-inboxes contains entries that provide info to help piem map from a
message (say in Notmuch or Gnus) to a public-inbox URL and to a local
checkout of the repo.

  (setq piem-inboxes
        '(("guix"
           :coderepo "/path/to/your/clone/of/guix/"
           :url "https://yhetil.org/guix/"
           :listid "bug-guix.gnu.org")))

Further setup depends on how (in Emacs) you read your messages.

  https://docs.kyleam.com/piem/Enabling-integration-libraries.html

For example, a Notmuch user would enable piem-notmuch-mode:

  (piem-notmuch-mode 1)

Or a debbugs.el user would enable piem-debbugs-mode (contributed by
Jelle Licht).  You can enable more than one integration library.

Once that's set up, the main entry point to b4 is the piem-b4-am
transient.  That transient in turn has the main command of interest,
piem-b4-am-from-mid.

  https://docs.kyleam.com/piem/Using-b4-to-apply-patches.html

Calling piem-b4-am-from-mid from, say, a Notmuch message with a patch
series will prepare the "am-ready" series, prompt you for the name of a
branch to create, and apply the series with 'git am' to the configured
repo.


piem-b4-am-from-mid vs b4 shazam
================================

piem-b4-am-from-mid (from Emacs) and 'b4 shazam' (from the shell
visiting Guix repo) are similar in spirit: use 'b4 am' to prepare an
am-ready mbox from a thread's full mbox and then use 'git am' apply it
to a repo.  A key difference is that, with piem, you start off in some
non-repository Emacs buffer containing a message and then piem knows how
to get to the repository (using the config above).

As a side note: 'b4 shazam' didn't exist when I wrote piem's b4
integration.  At some point, I plan to add 'b4 shazam' support to piem,
similar to how there is a piem command (piem-b4-am-ready-from-mid)
that's a direct interface to 'b4 am', without the extra handling of
piem-b4-am-from-mid.  This will allow callers that prefer to use shazam
invoke it from Emacs rather than the command line.


lei
===

There's also mention upthread of lei.  I don't think you're asking about
configuring that, but fwiw that's public-inbox's local command-line
client.  I gave a short (and incomplete) description of it here:

  https://yhetil.org/guix-devel/87a6izsoio.fsf@kyleam.com

piem currently has some basic support for lei, focused on searching
public-inbox instances and displaying the results in Emacs.


^ permalink raw reply	[relevance 12%]

* Re: Guix Days: Patch flow discussion
  @ 2024-02-07 13:41  7% ` Josselin Poiret
    0 siblings, 1 reply; 37+ results
From: Josselin Poiret @ 2024-02-07 13:41 UTC (permalink / raw)
  To: Suhail; +Cc: Hartmut Goebel, Suhail, guix-devel

[-- Attachment #1: Type: text/plain, Size: 2285 bytes --]

Hi Sunhail,

> Josselin Poiret <dev@jpoiret.xyz> writes:
>
>> One thing I would like to get rid of though is debbugs.  It causes a
>> lot of pain for everyone, eg. when sending patchsets, it completely
>> breaks modern email because it insists on rewriting DMARC-protected
>> headers, thus needing to also rewrite "From:" to avoid DMARC errors.
>
> Thank you for sharing (what seems to be) a technical limitation of
> Debbugs.  Could you please explain what the consequences of the above
> are?  Specifically, how does the rewriting of above headers affect the
> contributors' workflow?

Every reply to one of your mails ends up creating a new thread in my
mail client, because the In-Reply-To chain ends up being broken. 

>> b4/lei is a nice example (we already have yhetil.org as a back-end,
>> but maybe a more blessed one would be better) of a tool that lets you
>> completely automate applying a patchset to a branch.
>>
>> patchwork is a nice tool to gather up and track patchsets, with status
>> indicators like "under review", "accepted", etc.  Chris already
>> deploys one as part of QA, more integration with it would be nice.
>
> It seems (based on above) that "patchwork" can co-exist with debbugs.
> Is that also the case with b4/lei?  Specifically, are the
> users/reviewers able to benefit from using the above tools at present?
> Or are there some reasons (over and above their lack of familiarity with
> the above tools) that would prevent them from doing so?

They both can co-exist with debbugs, and for now the patchwork instance
of QA is not usable for status tracking (because it is not meant to be
used as such for now).  One can already use both of them, but using both
supercedes debbugs, and gets rid of its limitations.  I've been using
b4/lei with the yhetil public-inbox instance, with piem.el as an
interface, and it's really useful.  With a properly configured b4, one
could simply run `b4 shazam some-msg-id` and it would automatically
apply the corresponding patchset.

And before you ask why I'm so intent on getting rid of Debbugs, I
believe that mailing lists should be just that, mailing lists.
Anything that tries to rewrite incoming mail is asking for trouble
nowadays.

Best,
-- 
Josselin Poiret

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 682 bytes --]

^ permalink raw reply	[relevance 7%]

* sbcl-py4cl does not appear in --list-dependent output
@ 2023-11-29 13:27  2% jgart
  0 siblings, 0 replies; 37+ results
From: jgart @ 2023-11-29 13:27 UTC (permalink / raw)
  To: guix-devel; +Cc: Guillaume Le Vaillant

Hi Guixers,

Does anyone happen to know why sbcl-py4cl doesn't appear in this output?

guix refresh --list-dependent python-numpy

Building the following 1490 packages would ensure 3164 dependent packages are rebuilt: python-pytest-pudb@0.7.0 python-fpylll@0.5.7 python-flint@0.3.0 aoflagger@3.2.0 python-fitsio@1.2.1 audio-to-midi@2020.7 crossmap@0.6.1 rseqc@3.0.1 python-pyfit-sne@1.2.1 shorah@1.99.2 seqmagick@0.8.4 python-bcbio-gff@0.6.9 python-nose-randomly@1.2.6 python-tweepy@4.4.0 rtv@1.27.0 tuir@1.29.0 python-flask-oidc@1.4.0 python-google-auth-oauthlib@1.1.0 python-wsgi-intercept@1.2.2 python-google-api-client@2.102.0 ceph@17.2.5 r-cistopic@2.1.0 r-cistopic-next@0.3.0-1.04cecbb r-chromunity@0.0.2-1.712e56c feedgnuplot@1.60 python-django-bulk-update@2.2.0 python-django-simple-math-captcha@1.0.9 python-django-ninja@0.22.2 python-django-localflavor@3.1 python-django-taggit@1.3.0 python-django-contrib-comments@1.9.2 python-django-debug-toolbar-alchemy@0.1.5 python-django-sortedm2m@3.0.2 python-django-contact-form@1.9 python-django-override-storage@0.3.0 python-django-logging-json@1.15 python-django-assets@2.0 python-django-rq@2.7.0 python-django-url-filter@0.3.15 python-django-configurations@2.4.1 python-django-auth-ldap@4.1.0 python-django-netfields@1.3.0 python-django-statici18n@2.1.0 patchwork@3.1.1 postorius@1.3.6 python-openid-teams@1.1 python-openid-cla@1.2 dynaconf@3.1.7 python-django@4.2.5 python-haversine@2.7.0 r-snapatac@2.0 r-insol@1.2.2 r-rastervis@0.51.6 r-leaflet@2.2.1 r-mlrmbo@1.1.5.1 r-cicero-monocle3@1.3.2-1.fa2fb65 r-ggvenndiagram@1.2.3 r-rnaturalearth@0.3.4 r-bien@1.2.6 r-tmaptools@3.1-1 r-zonebuilder@0.0.2 r-ggpattern@1.0.1 r-sungeo@1.1.1 r-zoon@0.6.5 r-zonator@0.6.0 python-hyperkitty@1.3.5 postgis@3.2.1 osmium-tool@1.15.0 osm2pgsql@1.9.2 python-h3@4.0.0b2 gnome-plots@0.6.2 mypaint@2.0.1 rmlint@2.10.2 gbonds@2.0.3-1.3054ee2 transmission-remote-gtk@1.4.2 dia@0.97.3-4.b903dd8 five-or-more@3.32.3 vala-language-server@0.48.3 gnome-sudoku@42.0 libskk@1.0.5 snixembed@0.3.3 dnssec-trigger@0.17 gromit-mpx@1.4.2 nicotine+@3.2.1 gammastep@2.0.9 xfce4-statusnotifier-plugin@0.2.3 rust-notmuch@0.6.0 aerc@0.15.2 bower@1.0 alot@0.10 neomutt@20230517 notmuch-addrlookup-c@9 afew@3.0.1 emacs-consult-notmuch@0.8.1 emacs-piem@0.5.0 emacs-ol-notmuch@2.0.1 emacs-notmuch-maildir@0.2.2 emacs-helm-notmuch@1.2 emacs-wanderlust@2.15.9-803.3e8cf26 emacs-counsel-bbdb@0.0.5 emacs-counsel-notmuch@1.0-0.a4a1562 muchsync@7 emacs-treemacs-extra@3.1 emacs-mu4e-jump-to-list@1.0-1.358bba0 emacs-mu4e-dashboard@0.1.1-0.16ffbb2 emacs-git-email@0.2.0-0.b5ebade emacs-mu4e-alert@1.0-0.3c9af8c emacs-mu4e-conversation@0.0.1-5.98110bb emacs-helm-mu@20180513-1.77e6fea jj@2 mcabber@1.1.2 freetalk@4.2 createrepo-c@0.20.1 pam-u2f@1.0.8 book-sparc@1.1.0 solfege@3.23.5pre2 bluez-alsa@3.0.0 emacs-bluetooth@0.3.1 xmp@4.1.0 espeakup@0.90 emacspeak@53.0 snapcast@0.27.0 cava@0.8.3 libsoundio@2.0.0 csfml@2.5.1 mars@0.7.5-2.84664cd schiffbruch@1.2.1-0.e41916d extremetuxracer@0.8.2 marble-marcher@0-1.e580460 allegro@5.0.11 opensurge@0.6.0.3 cl-liballegro@0.2.15-1.49f632c ecl-cl-liballegro@0.2.15-1.49f632c minetest-mobs-animal@2021-11-14 minetest-basic-trains@1.0.1 minetest-unified-inventory@2021-12-26 minetest-mobs-monster@2022-12-10 minetest-mesecons@1.2.1-63.27c3c51 minetest-ethereal@1.29-0.7670c1d minetest-worldedit@1.3 minetest-oneblock@2022-09-01 minetest-coloredwood@2021-04-14-1 minetest-homedecor-modpack@2022-05-18 minetest-technic@2022-10-30 minetest-wielded-light@2022-06-24 minetest-throwing-arrows@1.1-0.059cc89 wasm4@2.5.4 csound@6.16.2 darkice@1.4 cli-visualizer@1.8 volctl@0.9.3 conky@1.19.6 aws-sdk-cpp@1.9.306 rust-libpulse-binding@2.28.1 rust-libpulse-simple-sys@1.21.1 rust-libpulse-simple-binding@2.28.1 rust-libpulse-sys@1.21.0 emacs-pulseaudio-control@0.1-0.34a6114 ecl-cl-raylib@0.0.1-0.985ceeb cl-raylib@0.0.1-0.985ceeb superstarfighter@0.6.5 kappanhang@1.3 praat@6.4 gnubg@1.07.001 linsmith@0.99.33 gnome-planner@0.14.6 ocaml4.07-utop@2.4.3 ocaml4.07-frontc@3.4.2 ocaml4.07-sqlite3@5.0.2 ocaml4.07-cstruct@5.1.1 ocaml4.07-base64@3.2.0 ocaml4.07-sedlex@2.1 ocaml4.07-uri@2.2.0 ocaml4.07-batteries@2.10.0 coq-ide@8.16.1 laby@0.7.0 usync@0-1.09a8059 ocaml5.0-merlin@4.7.1-500 ocaml5.0-eio-main@0.8.1 emacs-eval-in-repl-ocaml@0.9.7 ocaml-down@0.1.0 ocaml-ocb-stubblr@0.1.1 ocaml-mirage-bootvar-unix@0.1.0 ocaml-hmap@0.8.1 ocaml-markup@0.8.0 ocaml-mirage-time@3.0.0 ocaml-psq@0.2.1 ocaml-expect@0.0.6 frama-c@24.0 ocaml-mirage-logs@1.2.0 ocaml-ssl@0.5.13 ocaml-guile@1.0 ocaml-uring@0.5 ocaml-merlin@4.7-414 ocaml-sqlite3@5.1.0 ocaml-async@0.15.0 ocamlformat@0.24.1 ocaml-cohttp@5.0.0 ocaml-mirage-unix@5.0.1 ocaml-mirage-xen@8.0.1 ocaml-mirage@4.3.3 ocaml-digestif@1.1.3 bap@2.6.0-alpha-0.f995d28 guile-gnome@2.16.5 aisleriot@3.22.9 python-pycanberra@0.1.1 hexchat@2.16.1 rawtherapee@5.9 kitty@0.21.2 nerd-dictation-xdotool@0-1.0eb44b7 alure@1.2 ecl-radiance-contribs@1.0.0-1.710b3e1 cl-radiance-contribs@1.0.0-1.710b3e1 lingot@1.1.1 paprefs@1.2 pulsemixer@1.5.1 ponymix@5 noisetorch@0.12.2 sbcl-stumpwm-pamixer@0.1.1-1.aa82053 pavucontrol@5.0 calcmysky@0.3.1 fet@6.9.0 inspekt3d@0-0.703f52c valeronoi@0.2.0 qtlottie@6.5.2 pyotherside@1.6.0 qtremoteobjects@6.5.2 qsynth@0.9.9 tetzle@2.2.2 synthv1@0.9.32 drumkv1@0.9.32 padthv1@0.9.32 samplv1@0.9.32 qt-creator@11.0.1 qxlsx@1.4.6 glnemo2@1.21.0 qtractor@0.9.35 jacktrip@1.6.8 qjackrcd@1.2.2 lv2toweb@0.4 jalv-select@1.3 barrier@2.4.0 confclerk@0.6.4 avogadro2@1.93.0 cvassistant@3.1.0 qdirstat@1.8.1 inkbox@1.7 qtrvsim@0.9.5 qtmips@0.7.5 meshlab@2022.02 uefitool@0.28.0 heimdall@1.4.2 nextpnr-ice40@0.0.0-1.fbe486d leela-zero@0.17 mapnik@3.1.0-0.8110349 pinentry-qt@1.2.1 fcitx-configtool@0.4.10 fcitx5-anthy@5.1.2 fcitx5-rime@5.1.3 oxygen-icons@5.108.0 plasma-mobile-sounds@0.1 kapidox@5.108.0 qlogo@0.92 mcrl2@202206.1 samplebrain@0.18.5 scorep-openmpi@3.1 pumpa@0.9.3 wpa-supplicant-gui@2.10 bandage@0.8.1 cutter@1.12.0 librecad@2.2.0-rc2 kitsas@4.0.3 qpdfview@0.5.0 robocut@1.0.11 fritzing@0.9.6 qtserialbus@5.15.10 qtvirtualkeyboard@5.15.10 qtwebview@5.15.10 seer-gdb@1.16 qtpurchasing@5.15.10 materialdecoration@1.1.0-9.6a5de23 qtwebglplugin@5.15.10 android-file-transfer@4.2 alsa-modular-synth@2.2.0 qjackctl@0.9.8 kdiskmark@2.3.0 qbittorrent@4.5.5 qbittorrent-no-x@4.5.5 qbittorrent-enhanced-nox@4.5.5.10 qbittorrent-enhanced@4.5.5.10 cmst@2020.11.01 sddm@0.19.0 emacs-djvu3@1.0-0.37b675b pulseview@0.4.2 candle@1.2b-1.3f763bc librepcb@1.0.0 bitcoin-unlimited@2.0.0.0 monero-gui@0.18.3.1 bitcoin-core@25.1 flowee@2020.04.1 fulcrum@1.9.1 tiled@1.8.6 the-butterfly-effect@0.9.3.1 openorienteering-mapper@0.9.5 xygrib@1.2.6.1 gpxsee@11.1 brdf-explorer@1.0.0-1.5b2cd46f3 openrgb@0.9 ckb-next@0.4.4-0.967f440 ddcui@0.3.0 gmic-qt-krita@3.0.0 itk-snap@3.8.0 gmic-qt@3.0.0 scantailor-advanced@1.0.16-3d1e74e qview@5.0 converseen@0.11.0.0 flameshot@12.1.0 qelectrotech@0.9.0 fcitx5-configtool@5.1.2 leocad@21.06 screengrab@2.6.0 lxqt-archiver@0.8.0 lxqt-connman-applet@0.15.0-0.db1618d lxqt@1.3.0 compton-conf@0.16.0 xaos@4.2.1 mia@2.4.7 r-alphabeta@1.16.0 r-actcd@1.3-0 r-mlr3ordinal@0.1.0-9000-1.736e3a3 r-abn@3.0.3 r-accelmissing@1.4 r-gwastools@1.48.0 r-gqtlstats@1.21.3 r-tidyposterior@1.0.1 r-altmeta@4.1 r-scdd@1.26.0 r-semplot@1.1.6 r-mbess@4.9.3 r-ancombc@2.4.0 r-mbecs@1.6.0 r-partr2@0.9.1 r-sjplot@2.8.15 r-weights@1.0.4 r-projpred@2.7.0 r-mixedpower@2.0-2.b2b8706 r-effects@4.2-2 r-muscat@1.16.0 r-baalchip@1.28.0 r-rbamtools@2.16.17 r-ggpicrust2@1.7.3 r-mmuphin@1.16.0 r-fsa@0.9.5 r-r2glmm@0.1.2 r-ggstatsplot@0.12.1 r-radiant-data@1.6.2 r-ez@4.4-0 r-aer@1.2-10 r-longdat@1.1.2 r-adamgui@1.18.0 r-diffcyt@1.22.0 r-cytonorm@0.0.10-1.166f9ff r-bioconcotk@1.22.0 r-plsdabatch@0.2.3-1.4aadf3a r-seurat-utils@1.6.5-1.0b6f5b5 r-sccustomize@0.7.0-1.8414d1f r-rtcga@1.32.0 r-dae@3.2.19 r-mc2d@0.2.0 r-spectre@0.5.5-1.f6648ab r-shapforxgboost@0.1.3 r-catalyst@1.26.0 r-millefy@0.1.9-beta r-analytics@3.0 r-simr@1.0.7 r-reghelper@1.1.2 speedcrunch@0.12.0 qmidiarp@0.6.5 qmidiroute@0.4.0 rosegarden@23.06 hydrogen@1.2.0 muse-sequencer@4.1.0 vmpk@0.8.4 sonivox-eas@1.3.0 keepassxc@2.7.6 qtpass@1.3.2 diffpdf@2.1.3.1-1.ba68231 photoflare@1.6.10 gimagereader@3.4.1 poxml@23.04.3 kjsembed@5.108.0 plasma-phonebook@0.1 lightly@0.4.1 isoimagewriter@1.0.0 fielding@0.1-pre-1.6b3c5d6 kontrast@23.04.3 keysmith@23.04.3 kpmcore@23.04.3 musescore@4.1.1 qt5ct@1.5 kvantum@1.0.7 libsignon-glib@2.1 qtcolorwidgets@2.2.0 libqglviewer@2.7.2 dotherside@0.9.0 sqlitebrowser@3.12.2 gplates@2.3.01-beta.3 inspectrum@0.2.3 qdmr@0.11.2 rpi-imager@1.7.5 scribus@1.5.8 recoll@1.34.0 nitrokey-app@1.4.2 ausweisapp2@1.22.2 owncloud-client@2.9.0.5150 synergy@1.11.1 feathernotes@0.10.0 twinkle@1.10.2 phonesim@1.21 cool-retro-term@1.2.0 texmaker@5.0.4 lyx@2.3.7 texstudio@4.5.2 mogan@1.1.1 gnunet-scheme@0.3 qgit@2.10 otpclient@3.1.9 python-zbarlight@3.0 utox@0.18.1 bitmask@0.21.11 qjson@0.9.0 uim-qt@1.8.8 soapyaudio@0.1.1-0.79129c9 sdr++@1.1.0-1.b89fdba unixcw@3.6.0 fldigi@4.1.22 minimodem@0.24 multimon-ng@1.3.0 dream@2.2 qsstv@9.5.8 gens-gs@7 dosbox@0.74-3 sfxr@1.2.1 gzochi@0.13 pipewalker@0.9.4 azimuth@1.0.3 povray@3.7.0.10 libvisual-plugins@0.4.0 ecl-dufy@0.4.1 cl-dufy@0.4.1 kobodeluxe@0.5.1 vice@3.7.1 font-unscii@2.1 ghc-sdl-image@0.6.2.0 burgerspace@1.9.5 chromium-bsu@0.9.16.1 pokerth@1.1.2 abe@1.1 freegish@0-2.21977ee5f passage@4 meritous@1.5 ltris@1.2.6 armagetronad@0.2.9.1.1 ri-li@2.0.1 kiki@1.0.2 knights@025 gcompris@17.05 bennu-game-development-modules@353 pingus@0.7.6 freeciv@3.0.8 alienblaster@1.1.0 adanaxisgpl@1.2.5 gnujump@1.0.8 barrage@1.0.7 ghc-sdl-mixer@0.6.3.0 freedroidrpg@1.0 grafx2@2.4 fillets-ng@1.0.1 chroma@1.20 4dtris@0.4.3 hyperrogue@12.1a liquidwar6@0.6.3902 enigma@1.21 einstein@2.0 tuxpaint@0.9.23 tuxmath@2.0.3 slimevolley@2.4.2 prboom-plus@2.5.1.4 manaplus@1.9.3.23 foobillard++@3.43-r170 guile-sly@0.1 lush2@2.0.1 openshadinglanguage@1.11.16.0 imv@4.4.0 btanks@0.9.8083 libnsfb@0.2.2 wxwidgets@2.8.12 squeak-vm@4.10.2.2614 navit@0.5.6 ekho@8.6 brltty@6.6 godot@4.1.3 libtgvoip@2.4.4 mumble@1.4.287 avidemux@2.7.8 i3status@2.14 polybar@3.6.3 giac@1.9.0-45 python-pysox@1.4.2-0.3d00533 lierolibre@0.5 nerd-dictation-sox-ydotool@0-1.0eb44b7 nerd-dictation-sox-xdotool@0-1.0eb44b7 nerd-dictation-sox-wtype@0-1.0eb44b7 powertabeditor@2.0.0-alpha14 cdemu-client@3.2.5 frotz@2.54 mpc123@0.2.4 wavbreaker@0.15 aldo@0.7.7 snd@20.9 ecasound@2.9.3 ripit@3.9.0 abcde@2.9.3 asunder@3.0.1 emacs-emms-mode-line-cycle@0.2.5 emacs-org-emms@0.1-1.07a8917 emacs-helm-emms@1.3-3.37e5aa0 emacs-lemon@2.1.0 ripperx@2.8.0 orpheus@1.6 thermald@2.5.3 power-profiles-daemon@0.12 gnome-power-manager@3.32.0 wmbattery@2.54 usbguard@1.1.2 bolt@0.9.5 gnuais@0.3.3 florence@0.6.3 cbatticon@1.6.13 uget@2.2.1 emacs-alarm-clock@1.0.4 udiskie@2.4.2 icedove@102.15.0 icedove-minimal@102.15.0 volumeicon@0.5.1 pnmixer@0.7.2 swappy@1.4.0 pan@0.149 notifymuch@0.1-1.9d4aaf5 profanity@0.14.0 toxic@0.8.4 batsignal@1.6.4 tessen@2.2.1 pasystray@0.8.2 onedrive@2.4.25 syncthing-gtk@0.9.4.4-1.c46fbd8 dunst@1.9.2 grimshot@1.8.1 clipman@1.6.1 orage@4.18.0 xfce4-volumed-pulse@0.2.4 fprintd@1.94.2 gnome-multi-writer@3.35.90 grisbi@2.0.5 gedit@44.1 gitg@41 lepton-eda@1.9.18-20220529 workrave@1.10.50 u-boot-sandbox@2023.07.02 genimage@15-1.ec44ae0 blastem@0.6.2 higan@110 uxn@0.1.0-1.83237c9 desmume@0.9.13 mupen64plus-video-arachnoid@2.0.0 mupen64plus-video-z64@2.0.0 mupen64plus-rsp-z64@2.0.0 mednafen@1.29.0 bsnes@115 sameboy@0.15.8 emulation-station@2.0.1-1.9cc42ad nestopia-ue@1.51.1 mupen64plus-ui-console@2.5 libtcod@1.15.1 mrrescue@1.02e dhewm3@1.5.2 ioquake3@1.3.6-2.29b0cc3 vkquake@1.01.0 quakespasm@0.93.2 anarch@1.1d-1.2d78d0c fizmo@0.8.5 7kaa@2.15.6 openclonk@8.1 stepmania@5.1.0-b2 gzdoom@4.3.2 arx-libertatis@1.2.1 lugaru@1.2 astromenace@1.4.2 apricots@0.2.7 bzflag@2.4.26 freeorion@0.4.10.2 wesnoth-server@1.16.9 xonotic@0.8.6 yamagi-quake2@7.45 openrct2@0.3.3 paperview@0.0.1-1.9f8538e endless-sky@0.10.2 supertuxkart@1.4 warzone2100@4.3.5 openttd@13.4 exult@1.8 gimp-resynthesizer@2.0.3 gimp-fourier@0.4.3-2 gmic-qt-gimp@3.0.0 mygui@3.4.2 mrg@0.1.4 hashlink@1.12 ecl-harmony@2.0.0-0.0b57483 cl-virality@0.3.0-1.cdc19cc cl-trial@1.2.0-2.db4e98e milkytracker@1.04.00 schismtracker@20221201 ocaml-tsdl@0.9.9 kirogi@0.1-pre-1.73b009f aseba@1.6.0-0.3b35de8 easyrpg-player@0.7.0 frotz-sdl@2.45pre taisei@1.3.2 julius@1.7.0 odamex@0.9.5 augustus@3.2.0 python-pyxel@1.4.3-2.be75b72 tesseract-engine@20200615-2411 pinball@0.3.20230219 abbaye@2.0.1 pioneer@20220203 sdlpop@1.22 trigger-rally@0.6.6.1 falltergeist@0.3.1 red-eclipse@2.0.0 gource@0.51 libresprite@1.0 supertux@0.6.3 openriichi@0.2.1.1 naev@0.10.4 teeworlds@0.7.5 crawl-tiles@0.30.1 cdogs-sdl@1.5.0 raincat@1.2.1 cl-calm@0.0.35 ecl-calm@0.0.35 tsukundere@0.4.3 tome4@1.7.6 widelands@1.1 fheroes2@1.0.5 neverball@1.6.0-1.760a25d colobot@0.2.1-alpha wesnoth@1.16.9 edgar@1.36 flare-game@1.14 solarus-quest-editor@1.6.5 freedink@109.6 meandmyshadow@0.5a ufoai@2.6.0_dev-0.a542a87 python-kivymd@0.104.2 python-asynckivy@0.5.3 instead@3.3.5 unknown-horizons@2019.1 freerct@0.1 cataclysm-dda@0.G starfighter@2.4 plunder@1.0.0-1.026ded7 ecl-sketch@2017-11-1.4cc00b0 cl-sketch@2017-11-1.4cc00b0 python-pysdl2@0.9.11 guile-chickadee@0.10.0 guile2.2-sdl2@0.8.0 xmoto@0.6.2 openquest@0.2.1 blobwars@2.00 tennix@1.3.4 jumpnbump@1.61 dosbox-staging@0.80.1 bbcsdl@1.35a chocolate-doom@3.0.1 crispy-doom@5.8.0 barony@3.3.7 lite-xl@2.1.1 openboardview@9.95.0 mangohud@0.7.0 imgui@1.89.9 ultrastar-deluxe@2023.9.0 icecat-minimal@115.5.0-guix0-preview1 geierlein@0.9.13 blender@3.3.5 yle-dl@20230611 emacs-nyan-mode@1.1.3 lightspark@0.8.7 dsp@1.9 r-gganimate@1.0.8 emacs-telega-contrib@0.8.203-0.4f08c83 emacs-tmr@0.4.0 retroarch@1.16.0.3 renpy@8.1.0 corsix-th@0.67 vcmi@1.3.2 gmt@6.4.0 monado@21.0.0 pqiv@2.12 orca-music@0-1.e55b8fd ecl-fof@0.2.0-1.522879e cl-fof@0.2.0-1.522879e qtox@1.17.6 le-biniou@3.66.0 opustags@1.9.0 cmus@2.10.0 pianobar@2022.04.01 s7@23.3-0.a5b4bb4 readymedia@1.3.1 gerbera@1.12.1 orf-dl@0-1.2dbbe7e motion@4.5.1 svtplay-dl@4.17 you-get@0.4.1555 guvcview@2.0.8 gnome-arcade@0.240 emacs-ytdl@1.3.6-0.2ea3daf emacs-youtube-dl@1.0-2.af877b5 gpodder@3.11.1 instantmusic@1.0-1.300891d kodi-cli@1.1-1.104dc23 youtube-viewer@3.8.1 video-contact-sheet@1.13.4 emacs-waveform@0-0.ee52c6a emacs-yeetube@2.0.7 ytfzf@2.6.0 curseradio@0-1.1bd4bd0 smplayer@21.10.0 mpv-mpris@1.1 ffmpeg-normalize@1.27.7 ani-cli@4.6 vapoursynth@61 wf-recorder@0.3.0 gallery-dl@1.25.8 retux@1.6.1 endgame-singularity@1.00 bambam@1.2.1 seahorse-adventures@1.4 roguebox-adventures@3.0.1 impressive@0.13.1 frozen-bubble@2.2.1-1.d6a0291 theorafile@0.0.0-1.404b14d xarcan@0.6.1 arcan-sdl@0.6.2.1 x11vnc@0.9.16-0.3e4dc8e lagrange@1.16.7 stackistry@0.3.0 bs1770gain@0.7.0 ardour@8.0 dolphin-emu@5.0-13669.f9deb68 ppsspp@1.14.4 pcsxr@1.9.95 warsow-qfusion@2.5-1.c4de15d hedgewars@1.0.2 oshu@2.0.1 flightgear@2020.3.18 esmini@2.27.1 openmw@0.47.0 r-voltron@1.0.0-1.5057b70 fgallery@1.9.1 nomacs@3.16.224 libfreenect-opencv@0.6.2 julia-gr@0.69.5 julia-ffmpeg@0.4.1 kodi@19.5 kodi-wayland@19.5 msopenh264@1.2.1-0.88697cc mssilk@1.1.1-0.dd0f31e msamr@1.1.3-0.5ab5c09 linphone-desktop@5.0.14 mswebrtc@1.1.1-0.946ca70 demlo@3.8-0.fe9ec4c mixxx@2.3.6 hydra@9.5 siril@1.2.0 simplescreenrecorder@0.4.2 wlstream@0.0-1.182076a synfigstudio@1.4.4 ccextractor@0.94 moc@2.5.2 gnash@0.8.11-0.583ccbc libvideogfx@1.0.9 mcg@3.1 paulxstretch@1.6.0 meld@3.22.0 pipe-viewer@0.4.8 gtx@0.2.2 libgrss@0.7.0 gdl@3.40.0 lightdm-gtk-greeter@2.0.8 nemo@5.6.5 mate-screensaver@1.26.2 xfce4-screensaver@4.18.2 markets@0.5.4 seahorse@42.0 gtranslator@42.0 swaynotificationcenter@0.8.0 gramps@5.1.4 zeitgeist@1.0.4 krb5-auth-dialog@3.26.1 hw-probe@1.6.5 nm-tray@0.5.0 blueman@2.3.4 gnome-latex@3.44.0 faudio@22.11 rust-gstreamer-audio@0.18.7 rust-gstreamer-app-sys@0.18.0 rust-gstreamer-audio-sys@0.18.3 rust-gstreamer-app@0.18.7 enlightenment@0.25.4 terminology@1.13.0 rage@0.4.0 edi@0.8.0 ephoto@1.6.0 econnman@1.1 epour@0.7.0 evisum@0.6.0 pinentry-efl@1.2.1 eovim@0.2.0 libdmapsharing@3.9.10 quadrapassel@40.2 gnome-2048@3.38.2 gthumb@3.12.2 guile-g-golf@0.8.0-a.1 xfdashboard@1.0.0 byzanz@0.2-1.f7af3a5 soundconverter@3.0.2 guile-gnunet@0.0-1.d12167a gnunet-gtk@0.19.0 dataparksearch@4.54-0.8efa28f gamine@1.6 parlatype@3.1 sound-juicer@3.40.0 gst123@0.3.5 unoconv@0.9.0 beets-bandcamp@0.1.4 pragha@1.3.4 strawberry@1.0.21 clementine@1.4.0rc1-450-g2725ef99d qpwgraph@0.6.0 ungoogled-chromium-wayland@112.0.5615.165-1 xdg-desktop-portal-wlr@0.7.0 mpd@0.23.14 musikcube@3.0.1 obs-looking-glass@B6 obs-wlrobs@1.1 obs-vkcapture@1.3.0 looking-glass-client@B6 waybar@0.9.20 waybar-experimental@0.9.20 entangle@3.0 pencil2d@0.6.6 papagayo@2.0b1-1.e143684b3 gcompris-qt@3.2 mgba@0.10.2 openscad@2021.01 maliit-keyboard@2.3.1 cockatrice@2.9.0 q5go@2.1.3 drawpile@2.1.17-1.ed1a75deb quassel@0.14.0 plasmatube@23.01.0 quaternion@0.0.95.1 cantata@2.5.0 audacious@4.3.1 fmit@1.2.14 stellarium@23.3 emacs-ob-sclang@0.1-1.cd3f3c8 ecl-cl-collider@2018.7.15-0.a469088 cl-collider@2018.7.15-0.a469088 zeal@0.6.1-1.1cfa7c6 qolibri@2.1.4 openboard@1.7-dev-0.47a96e1 fcitx5-chinese-addons@5.1.2 qmapshack@1.16.1 luminance-hdr@2.6.0 movim-desktop@0.14.0-3.83d583b kiwix-desktop@2.3.1 chessx@1.5.6 kdebugsettings@23.04.3 kronometer@2.3.0 kcharselect@23.04.3 kcolorchooser@23.04.3 atelier@0.1-pre-1.93d7d44 kxstitch@2.2.0 kwave@23.04.3 ffmpegthumbs@23.04.3 kid3@3.9.4 kaffeine@2.0.18 kblog@20.04.3 ksystemlog@23.04.3 sweeper@23.04.3 keurocalc@1.3.0-1.a760d8a kmag@23.04.3 zeroconf-ioslave@22.04.3 kfind@23.04.3 kommit@1.0.2 krita@5.1.5 kompare@23.04.3 massif-visualizer@0.7.0 kcachegrind@23.04.3 kolourpaint@23.04.3 marble-qt@23.04.3 kmplayer@0.12.0b-1.88e8530 plasma-nano@5.27.7 plasma-redshift-control@0.1-pre-1.d9f38a5 plasma-pass@1.2.1 plasma-active-window-control@1.7.3-1.0b1c091 kate@23.04.3 ktouch@21.12.2 audiocd-kio@23.04.3 labplot@2.9.0 okteta@0.26.12 elisa@23.04.3 kaccounts-providers@23.04.3 plasma-mobile-settings@22.02 filelight@23.04.3 falkon@23.04.3 khelpcenter@23.04.3 ark@23.04.3 krdc@23.04.3 kget@23.04.3 choqok@1.7.0 konversation@23.04.3 ktorrent@23.04.3 k3b@23.04.3 kamoso@23.04.3 dragon@23.04.3 juk@23.04.3 kmix@23.04.3 itinerary@23.04.3 kwrited@5.27.7 calindori@23.01.0 ksysguard@5.22.0 kongress@23.01.0 plasma-mobile@5.24.3 plasma-phone-components@5.23.4 latte-dock@0.10.9 yakuake@23.04.3 dolphin-plugins@23.04.3 krfb@23.04.3 kcalc@23.04.3 basket@2.49-1.e23a8b3 smb4k@3.1.3 krusader@2.8.0 rsibreak@0.12.14 kbackup@23.04.3 francis@0.1-pre-1.d2c762a print-manager@23.04.3 wacomtablet@3.2.0 kmousetool@23.04.3 kdialog@23.04.3 kdevelop@23.04.3 kdf@23.04.3 ktimer@23.04.3 gwenview@23.04.3 kdenlive@23.04.2 kaidan@0.9.0 copyq@7.0.0 kopete@23.04.3 kgpg@23.04.3 knotes@23.04.3 korganizer@23.04.3 kaddressbook@23.04.3 kleopatra@23.04.3 kmail@23.04.3 kalendar@23.04.3 akregator@23.04.3 kdepim-runtime@23.04.3 kmouth@23.04.3 okular@23.04.3 lmms@1.2.2 python-pymol@2.5.0 hplip@3.23.8 toutenclic@7.00 kde-games@23.04.3 picard@2.10 frescobaldi@3.3.0 flyer-composer@1.0rc2 rapid-photo-downloader@0.9.18 python-woob@3.0 pyzo@4.13.3 offlate@0.6.1 anki@2.1.16 openmolar@1.0.15-gd81f9e5 python-setools@4.4.0 plover@4.0.0.dev12 manuskript@0.15.0 qutebrowser@2.5.4 hydrus-network@495 psi-plus@1.5.1484 kochmorse@3.5.1 jtdx@2.2.158 wsjtx@2.6.1 sdrangel@7.17.0 welle-io@2.4 js8call@2.2.0 wfview@1.62 ghostwriter@2.1.4 mkvtoolnix@52.0.0 openshot@3.1.1 kristall@0.3-1.204b08a tipp10@3.3.0 jami@20230323.0 wireshark@4.0.7 python-pyside-6@6.5.2 shotcut@23.09.29 virt-viewer@11.0 handbrake@1.5.1 dxvk@1.5.5 wine64@8.18 xfburn@0.7.0 parole@4.18.0 python-pyvips@2.2.1 nip2@8.7.1 vinagre@3.22.0 sawfish@1.13.0 vmware-open-vm-tools-gtk@12.3.0 gpredict@2.2.1 ocrfeeder@0.8.5 at-spi2-core@2.45.90 pcb-rnd@3.1.1 fcitx5-gtk4@5.1.0 darktable@4.4.2 gcolor3@2.4.0 purple-mattermost@1.2-0.158ce20 telegram-purple@1.4.7 purple-lurch@0.7.0 pidgin-otr@4.0.2 bitlbee-purple@3.6 libgnome-games-support@2.0.0 ghex@42.3 vte-with-gtk4@0.70.2 network-manager-fortisslvpn@1.4.0 network-manager-vpnc@1.2.8 dconf-editor@43.0 network-manager-openconnect@1.2.8 denemo@2.6.0 portfolio@1.0.0 polari@42.1 d-spy@1.4.0 raider@1.3.1 deja-dup@43.4 gpaste@42.2 dialect@2.1.1 network-manager-openvpn@1.10.2 gnome-mahjongg@3.38.3-0.e9e73e5 lvtk@2-0.a73feab transmission@4.0.4 lxi-tools@2.5 ibus-libpinyin@1.15.2 ibus-speech-to-text@0.4.0 ibus-anthy@1.5.15 ibus-libhangul@1.5.3 ibus-table-others@1.3.16 ibus-rime@1.5.0 i3status-rust@0.20.1 cl-gtk4@1.0.0-1.d116905 ecl-cl-gtk4@1.0.0-1.d116905 dino@0.4.3 zrythm@1.0.0-beta.4.9.1 sequeler@0.8.2 cozy@1.2.1 pantheon-calculator@2.0.2 capypdf@0.6.0 giara@1.0.1 textpieces@3.2.0 celluloid@0.25 show-me-the-key@1.8.0 xfce4-whiskermenu-plugin@2.7.3 tuba@0.4.1 nheko@0.11.3 quodlibet@4.5.0 cawbird@1.4.2 blanket@0.5.0 gaupol@1.12 gfeeds@2.2.0 wpewebkit@2.40.5 eog-plugins@42.1 claws-mail@4.1.1 lxde@0.99.2 geeqie@2.0.1 spacefm@1.0.6 thunar-archive-plugin@0.5.1 thunar-shares-plugin@0.3.2 thunar-vcs-plugin@0.2.0 thunar-media-tags-plugin@0.3.0 thunarx-python@0.5.2 gnome-recipes@2.0.4 cambalache@0.12.1 devhelp@43.0 emacs-eweouz@0.12 geary@43.0 numix-gtk-theme@2.6.7 endeavour@43.0 evolution@3.46.4 mazo@1.1.0 gnome-mines@40.1 easytag@2.4.3 lollypop@1.4.35 shotwell@0.31.5 nomad@0.2.0-alpha-199-g3e7a475 guile2.2-gi@0.3.2 guile-gi@0.3.2 cl-webkit@3.5.10 ecl-cl-webkit@3.5.10 balsa@2.6.4 ctrlr@5.5.9-1.8aa00d8 gsequencer@6.1.3 rednotebook@2.22 telegram-desktop@4.8.1 remmina@1.4.32 emacs-nyxt@0.1.0 rust-webkit2gtk-sys@0.12.0 rust-webview-sys@0.6.2 rust-web-view@0.7.3 emacs-xwidgets@29.1 emacs-next-pgtk-xwidgets@30.0.50-1.9d27b95 emacs-pgtk-xwidgets@29.1 fontmanager@0.8.7 setzer@0.4.8 chatty@0.6.7 apostrophe@2.6.3 memphis@0.2.3 gnucash@5.3 emacsy@0.4.1 astroid@0.16 pdfpc@4.5.0 alfis@0.6.10 surf@2.1 sugar-help-activity@20-1.492531e sugar-terminal-activity@47-1.a1f92b9 sugar-browse-activity@207 sugar-typing-turtle-activity@32 sugar-read-activity@123-1.25f69e4 sugar-write-activity@101-1.dd854c0 sugar-log-activity@42-1.0c45118 sugar-block-party-activity@11-1.a49e68e sugar-jukebox-activity@36-1.e11f40c sugar-maze-activity@31 sugar@0.120 liferea@1.13.4 gp-saml-gui@0.0.0-1.258f47c luakit@2.3.3 midori@9.0 vimb@3.6.0 phd2@2.6.11 audacity@3.3.3 tenacity@1.3-beta2 boinc-client@7.22.2 xchm@1.35 audmes@20220420 elixir@1.14.0 rebar3-raw-deps@2.0.0 erlang-covertool@2.0.4 erlang-jsx@3.1.0 erlang-certifi@2.9.0 erlang-eunit-formatters@0.5.0 erlang-ssl-verify-fun@1.1.6 erlang-yamerl@0.10.0 erlang-jsone@1.7.0 erlang-cth-readable@1.5.1 erlang-parse-trans@3.4.1 erlang-providers@1.9.0 erlang-relx@4.6.0 erlang-lfe@2.1.2 erlang-hex-core@0.8.4 slade@3.2.1 golly@4.2 0ad@0.0.26-alpha freedink-dfarc@3.14 spatialite-gui@2.1.0-beta1 saga@8.2.1 wxmaxima@22.12.0 aria-maestosa@1.4.13 pwsafe@3.60.0 hugin@2021.0.0 poedit@2.2.4 dvdstyler@3.0.4 perl-alien-wxwidgets@0.69 sooperlooper@1.7.8 amule@2.3.3 aegisub@3.2.2 imppg@0.6.5 prusa-slicer@2.5.2 filezilla@3.62.2 megaglest@3.13.0 opencpn@5.6.2 ulauncher@6.0.0 gnome-boxes@43.3 eiciel@0.9.13.1 gnome-shell-extension-gsconnect@50 gnome-terminal@3.44.1 gnome-tweaks@40.10 rhythmbox@3.4.7 virt-manager@4.1.0 piper@0.7 malcontent@0.11.1 xdg-desktop-portal-gtk@1.14.1 gnome-builder@42.1 sideload@6.2.1 pantheon-terminal@6.1.2 nextcloud-client@3.8.2 tilix@1.9.5-0.8726e9e plasma-bigscreen@5.27.7 plasma@5.27.7 arc-theme@20221218 xfce@4.18.3 hackneyed-x11-cursors@0.8.2 cl-py4cl@0.0.0-2.2f2a008 ecl-py4cl@0.0.0-2.2f2a008 r-keras@2.13.0 guile-aiscm@0.25.2 shogun@6.1.3 python-cmaes@0.9.1 python-autograd@0.0.0-0.442205d python-cma@3.3.0 python-sacrebleu@2.3.1 optizelle@1.3.0-0.ed4160b python-blis@0.9.1 boolector@3.2.2 coda@2.19 coccinelle@1.1.1-0.6608e45 python-pyopencl@2021.2.6 python-libfreenect@0.6.2 texlive-scheme-full@66594 texlive-scheme-medium@66594 abjad-ext-rmakers@3.4 abjad-ext-nauert@3.4 onionshare@2.6 python-robotframework-seleniumscreenshots@0.9.5 python-mastodon-py@1.5.1 python-pydicom@2.3.0 python-mgatk@0.6.7 python-cgatcore@0.6.15 taxtastic@0.9.2 python-ta-lib@0.4.21 python-tdda@2.0.9 trytond-account-statement-aeb43@6.2.1 python-robotframework-datadriver@1.6.1 python-feather-format@0.4.1 python-pyhull@2015.2.1 authenticator@3.32.2 python-clickhouse-connect@0.6.1 python-pubmed-parser@0.3.1 rdkit@2022.03.5 graphite-web@1.1.10 python-roifile@2020.11.28 python-hdf4@0.9 python-qnorm@0.8.1 python-genomepy@0.15.0 python-grandalf@0.7 python-vaex-core@4.13.0 synapse@1.29.0 python-pudb@2023.1 python-textdistance@4.2.1 repeat-masker@4.1.2-p1 python-ont-fast5-api@4.0.0 python-scdamandtools@1.0 reprotest@0.7.26 veusz@3.3.1 bitshuffle@0.3.5 python-activepapers@0.2.2 python-lfdfiles@2021.2.22 python-miio@0.5.12 python-capablerobot-usbhub@0.5.0 secrets@6.5 electron-cash@4.3.1 trezor-agent@0.14.7 python-duckdb@0.8.1 r128gain@1.0.7 python-dm-tree@0.1.8 bibata-cursor-theme@2.0.3 python-omero-py@5.13.1 python-pygmsh@7.1.17 python-emcee@3.1.4 websockify@0.11.0 kicad@7.0.9 qgis@3.30.1 python-slamdunk@0.4.3 python-peaks2utr@1.2.0 pigx-sars-cov-2@0.0.9 python-illumina-utils@2.12 python-logomaker@0.8 repo2docker@2021.08.0 jami-docs@0.0.0-1.ff466eb freecad@0.21.1 python-beziers@0.5.0 python-faiss@1.5.0 labelme@4.5.13 openfoam-com@2212 openfoam-org@10.20230119 julia-pyplot@2.10.0 python-brian2tools@0.3 mygnuhealth@1.0.5 python-pynbody@1.4.2 python-cmseq@1.0.4 python-plastid@0.6.0 python-ete3@3.1.3 umi-tools@1.0.0 variant-tools@3.1.2 python-pairtools@1.0.2 python-hclust2@1.0.0 python-vireosnp@0.5.7 checkm@1.1.3 python-graph-tool@2.57 nanopolish@0.14.0 python-velocyto@0.17.17 ciri-long@1.0.2 tbsp@1.0.0-2.dc30c03 python-biofluff@3.0.4 perl-cworld-dekker@1.01 python-iced@0.5.8 clipper@2.0.1 tadbit@1.0.1-1.5c4c1dd python-scikit-rebate@0.62 python-xgboost@1.5.2 python-mapie@0.7.0 python-bbknn@1.5.1 python-fasttext@0.9.2 lightgbm@2.0.12 python-scikit-allel@1.3.5 python-deepdish@0.3.7 python-scanorama@1.7.2 python-scikit-fem@8.1.0 python-scikit-fuzzy@0.4.2 python-pysnptools@0.4.11 font-cozette@1.13.0 nototools@0.2.16 gnome@42.4 mate@1.26.1 python-statmake@0.6.0 font-amiri@1.000 weasyprint@56.1 cnvkit@0.9.9 python-pydub@0.25.1 qspectrumanalyzer@2.1.0 nanovna-saver@0.5.3 python-salib@1.4.7 python-modin@0.15.1 python-pyts@0.12.0 python-tspex@0.6.2 python-upsetplot@0.6.0 python-pyvista@0.42.3 python-pyani@0.2.12 python-demuxem@0.1.7 python-phylophlan@3.0.3 instrain@1.5.4 stpipeline@1.8.1 python-statannot@0.2.3 python-git-hammer@0.3.1 fanc@0-1.354401e python-cooltools@0.5.1 python-fanc@0.9.25 python-metpy@1.5.1 python-osmnx@1.1.2 python-rasterio@1.3.7 python-pyls-black@0.4.7 python-matplotlib-venn@0.11.5 pigx@0.0.3 python-gpy@1.10.0 fdroidserver@1.1.9 python-asdf@3.0.1 python-tslearn@0.6.2 python-astroalign@2.5.1 python-spectral-cube@0.6.3 python-jwst@1.12.5 python-biom-format@2.1.12 python-iml@0.6.2 python-slurm-magic@0.0-0.73dd1a2 python-pytest-exploratory@0.5 python-enoslib@8.0.1 pgcli@3.2.0 python-ipdb@0.13.9 autokey@0.96.0 python-telethon@1.17.5 python-pyfuse3@3.3.0 emacs-calibredb@2.12.0 vorta@0.8.7 cura@4.13.1 komikku@1.17.0 caja-extensions@1.26.1 python-harmony@0.7.1 gourmet@0.17.4-0.8af29c8 python-swiftclient@4.0.1 dbxfs@1.0.63 linuxdcpp@1.1.0 ikiwiki@3.20200202.3 breezy@3.2.2 vembrane@0.13.2 aerich@0.7.2 python-nanopb@0.4.6.4 python-pynixutil@0.5.0 yubikey-manager-qt@1.2.5 yubikey-oath-dmenu@0.13.0 openconnect-sso@0.8.0 qtile@0.18.1 electrum@4.4.6 pantalaimon@0.10.5 weechat-matrix@0.3.0 python-pyee@9.0.4 python-psycopg@3.1.10 trytond-stock-package-shipping-dpd@6.2.3 trytond-currency-rs@6.2.0 trytond-stock-package-shipping-mygls@6.2.1 python-ajsonrpc@1.2.0 snakemake@6.15.5 python-baltica@1.1.2 python-spacy@3.5.3 python-scm-sr-ht@0.22.23 python-mailman-hyperkitty@1.2.0 python-falcon-cors@1.1.7 python-sunpy@5.0.1 python-fastapi-csrf-protect@0.3.1 datasette@0.64.2 python-rollbar@1.0.0 twitchy@3.4-1.9beb36d python-hicexplorer@3.7.2 python-bash-kernel@0.7.2 xeus@2.4.1 python-scikit-rf@0.29.1 r-torch@0.11.0 llama-cpp@0.0.0-0.f31b539 python-deepxde@1.10.0 python-gpytorch@1.11 python-pytorch-lightning@2.0.2 python-cleanlab@2.2.0 python-pari-jupyter@1.4.1 r-nbconvertr@1.3.2 python-jupytext@1.14.4 python-nbdime@3.1.1 python-sparqlkernel@1.3.0 python-ipympl@0.9.1 python-ipydatawidgets@4.2.0 nikola@8.2.2 python-pytest-check-links@0.3.0 python-clinguin@1.0.0-beta python-ipython-cluster-helper@0.6.4 orange@3.32.0 r-irkernel@1.3.2 python-cellbender@0.2.2 python-captum@0.6.0 abjad-ext-ipython@3.3 guix-jupyter@0.2.2 rfcat@1.9.6 ruby-iruby@0.3 python-jupyter-sphinx@0.3.2 python-altair@5.0.1 flair@1.6.4 nanosv@1.2.4 tombo@1.5.1 archivebox@0.6.2 python-numpy-documentation@1.23.2 python-ipython-documentation@8.5.0 python-cantools@37.0.7 gr-satellites@4.6.0 urh@2.9.4 gnss-sdr@0.0.17 gqrx@2.17.3 gr-dsd@1.0.0-0.f9b9936 python-commonroad-route-planner@2022.3 python-vedo@2022.2.0 python-dolfin-adjoint@2019.1.0 python-funsor@0.4.5 python-ikarus@0.0.2 r-doubletcollection@1.1.0-1.c0d62f1 python-multivelo@0.1.2 python-episcanpy@0.4.0 scregseg@0.1.3 python-goatools@1.3.1 python-poliastro@0.17.0 python-bulkvis@2.0.0-2.00a82a9 python-liana-py@0.1.9 python-pingouin@0.5.2 python-openturns@1.21.1 python-pymc@5.9.1 pitivi@2022.06.0 python-matplotlib-documentation@3.5.2 chirp@0.4.0-1.f59b5b2 xpra@5.0.3


^ permalink raw reply	[relevance 2%]

* Re: Is this a bug in guix refresh with respect to Common Lisp packages?
  @ 2023-10-07 13:08  3%   ` jgart
  0 siblings, 0 replies; 37+ results
From: jgart @ 2023-10-07 13:08 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: Guillaume Le Vaillant, guix-devel

> These are the 7 packages:

I didn't get that output from `./pre-inst-env guix refresh -l sbcl-enhanced-eval-when`

I get the following:

[jgart@fedora guix]$ guix refresh -l sbcl-enhanced-eval-when
Building the following 1 package would ensure 7 dependent packages are rebuilt: cl-definitions-systems@2.0.1

I realize that those are all the dependents it just doesn't print from refresh -l for me for the said package.

It works for python-requests though:

[jgart@fedora guix]$ guix refresh -l sbcl-enhanced-eval-when
Building the following 1 package would ensure 7 dependent packages are rebuilt: cl-definitions-systems@2.0.1
[jgart@fedora guix]$ guix refresh -l python-requests
Building the following 633 packages would ensure 1362 dependent packages are rebuilt: sdkmanager@0.6.5 r128gain@1.0.7 borgmatic@1.7.12 patman@2023.07.02 python-canopen@2.0.0 python-behave-web-api@1.0.6 xenon@0.9.0 pwntools@4.4.0 trydiffoscope@67.0.1 greaseweazle-host-tools@1.12 docker-compose@1.29.2 cozy@1.2.1 anki@2.1.16 beancount@2.3.5 electron-cash@4.3.1 renpy@8.1.0 qgis@3.30.1 python-geoip2@2.9.0 nerd-dictation-sox-ydotool@0-1.0eb44b7 nerd-dictation-xdotool@0-1.0eb44b7 nerd-dictation-sox-wtype@0-1.0eb44b7 nerd-dictation-sox-xdotool@0-1.0eb44b7 toot@0.38.1 units@2.22 instantmusic@1.0-1.300891d curseradio@0-1.1bd4bd0 gandi.cli@1.6 pass-rotate@0.1 python-pytest-services@1.3.1 trytond-authentication-sms@6.2.0 trytond-user-role@6.2.0 trytond-ldap-authentication@6.2.1 trytond-party-relationship@6.2.0 trytond-dashboard@6.2.0 trytond-gis@6.2.0 trytond-google-maps@6.2.0 trytond-marketing-automation@6.2.1 trytond-marketing-email@6.2.0 gpodder@3.11.1 python-flask-markdown@0.3 python-flask-restx@0.5.1 python-flask-assets@2.0 python-flask-multistatic@1.0 python-flask-misaka@1.0.0 python-flask-principal@0.4.0 python-flask-oidc@1.4.0 python-flask-restful-swagger@0.20.1 python-flask-htpasswd@0.3.1 python-flask-migrate@3.1.0 python-flask-htmlmin@1.2 python-flask-seasurf@1.1.1 dynaconf@3.1.7 buku-run@0.1.1 python-flask-login@0.6.0 python-qtsass@0.4.0 python-rauth@0.7.3 python-pyega3@3.4.1 zulip-term@0.5.2 conda@22.9.0 python-flask-combo-jsonapi@1.1.0 python-wsgiproxy2@0.4.6 python-beren@0.7.0 python-pynetbox@7.2.0 python-pywinrm@0.4.1 whoogle-search@0.8.2 python-google-api-client@1.12.8 python-requests-ftp@0.3.1 python-pyfxa@0.6.0 magic-wormhole@0.12.0 python-wsgi-intercept@1.2.2 grip@4.6.1 httpie@3.2.1 hydrus-network@495 python-openai@0.28.1 python-woob@3.0 dosage@2.17 python-consul@0.6.1 nbss-upload@0.1 trytond-account-rule@6.2.1 trytond-account-move-line-grouping@6.2.0 trytond-account-de-skr03@6.2.0 trytond-account-fr@6.2.0 trytond-account-dunning-email@6.2.0 trytond-project-plan@6.2.0 trytond-party-avatar@6.2.0 trytond-attendance@6.2.0 trytond-product-price-list-parent@6.2.0 trytond-stock-location-sequence@6.2.0 trytond-stock-split@6.2.0 trytond-account-dunning-fee@6.2.0 trytond-stock-quantity-issue@6.2.1 trytond-production-split@6.2.0 trytond-stock-lot-unit@6.2.0 trytond-stock-assign-manual@6.2.0 trytond-stock-quantity-early-planning@6.2.2 trytond-account-be@6.2.0 trytond-account-invoice-correction@6.2.0 trytond-account-invoice-defer@6.2.2 trytond-account-tax-cash@6.2.0 trytond-account-statement-ofx@6.2.0 trytond-account-statement-coda@6.2.0 trytond-account-statement-aeb43@6.2.1 trytond-account-invoice-history@6.2.0 trytond-account-deposit@6.2.0 trytond-stock-product-location@6.2.0 trytond-product-classification-taxonomic@6.2.0 trytond-customs@6.2.0 trytond-product-price-list-dates@6.2.1 trytond-sale-shipment-grouping@6.2.0 trytond-sale-shipment-tolerance@6.2.0 trytond-sale-complaint@6.2.1 trytond-stock-lot-sled@6.2.0 trytond-product-image-attribute@6.2.0 trytond-sale-gift-card@6.2.0 trytond-sale-extra@6.2.0 trytond-notification-email@6.2.2 trytond-commission-waiting@6.2.1 trytond-stock-inventory-location@6.2.0 trytond-account-stock-landed-cost-weight@6.2.0 trytond-sale-secondary-unit@6.2.0 trytond-sale-discount@6.2.1 trytond-account-stock-shipment-cost@6.2.1 trytond-carrier-subdivision@6.2.0 trytond-sale-subscription-asset@6.2.0 trytond-product-cost-warehouse@6.2.1 trytond-sale-supply-production@6.2.1 trytond-analytic-sale@6.2.0 trytond-project-invoice@6.2.3 trytond-purchase-invoice-line-standalone@6.2.0 trytond-sale-stock-quantity@6.2.0 trytond-production-outsourcing@6.2.0 trytond-production-work-timesheet@6.2.0 trytond-stock-location-move@6.2.0 trytond-stock-supply-forecast@6.2.0 trytond-carrier-percentage@6.2.0 trytond-carrier-weight@6.2.0 trytond-purchase-secondary-unit@6.2.0 trytond-product-kit@6.2.2 trytond-stock-supply-day@6.2.0 trytond-analytic-purchase@6.2.0 trytond-stock-consignment@6.2.0 trytond-account-cash-rounding@6.2.0 trytond-purchase-price-list@6.2.1 trytond-purchase-amendment@6.2.1 trytond-account-tax-rule-country@6.2.0 trytond-sale-credit-limit@6.2.0 trytond-incoterm@6.2.0 trytond-account-es@6.2.0 trytond-account-payment-sepa-cfonb@6.2.0 trytond-analytic-budget@6.2.1 trytond-account-payment-braintree@6.2.0 python-caniusepython3@7.2.0 python-warcio@1.7.4-0.aa702cb python-pytelegrambotapi@3.7.4 trytond-web-shop-vue-storefront-stripe@6.2.0 python-boto@2.49.0 python-cookiecutter@1.7.3 python-misskey@4.1.0 python-asynckivy@0.5.3 python-kivymd@0.104.2 python-ubelt@1.0.1 wfetch@0.1-pre-1.e1cfa37 python-xyzservices@2022.4.0 python-duckdb@0.8.1 python-dns-lexicon@2.4.0 python-pubmed-parser@0.3.1 python-h3@4.0.0b2 python-telingo@2.1.1 python-mgatk@0.6.7 searx@1.0.0 solaar@1.0.7 temper-exporter@0-0.a87bbab jack-select@1.5.0 kodi-wayland@19.5 touchegg@2.0.14 synthpod@0.1.6507 velox@0-1.fcc0412 show-me-the-key@1.8.0 wacomtablet@3.2.0 wla-dx@10.5 u-boot-documentation@2023.07.02 gromacs@2022.4 keepalived@2.0.19 siril@1.0.6 mudskipper@0.1.0 rust-crates-index-5@0.5.1 mapnik@3.1.0-0.8110349 xffm+@0.94 raider@1.3.1 lxi-tools@2.5 wavbreaker@0.15 ctrlr@5.5.9-1.8aa00d8 pantheon-calculator@2.0.2 entangle@3.0 texlive-scheme-medium@66594 texlive-scheme-full@66594 python-symengine@0.10.0 shrinkwrap@0.1.0 tigervnc-server@1.12.0-0.b484c22 chromium-embedded-framework@103.0.9 python-pylibmc@1.6.3 python-sphinxcontrib-asyncio@0.3.0 rmlint@2.10.2 libabigail@2.0 emacs-ag@0.48 emacs-elpy@1.35.0-2.7ff8ffa xmoto@0.6.2 saga@8.2.1 guile-cv@0.2.1 unoconv@0.9.0 hugin@2021.0.0 babeltrace@2.0.5 srain@1.5.0 python-cffi-documentation@1.15.1 hw-probe@1.6.5 swineherd@0.0.1 btrbk@0.32.6 distrobox@1.4.2.1 buildah@1.29.1 udiskie@2.4.2 lxde@0.99.2 geeqie@2.0.1 thunarx-python@0.5.2 thunar-vcs-plugin@0.2.0 thunar-shares-plugin@0.3.2 thunar-media-tags-plugin@0.3.0 thunar-archive-plugin@0.5.1 xfce@4.18.3 gnome-multi-writer@3.35.90 rapid-photo-downloader@0.9.18 r-biocdockermanager@1.11.0 bees@0.10 compsize@1.5 btrfs-progs-static@6.3.3 spacefm@1.0.6 skopeo@1.2.3 lxd@4.24 ganeti-instance-guix@0.8 linux-libre-documentation@6.4.16 rust-notmuch@0.6.0 aerc@0.15.2 alot@0.10 astroid@0.16 muchsync@7 notifymuch@0.1-1.9d4aaf5 bower@1.0 notmuch-addrlookup-c@9 afew@3.0.1 emacs-git-email@0.2.0-0.b5ebade emacs-ol-notmuch@2.0.1 emacs-counsel-notmuch@1.0-0.a4a1562 emacs-notmuch-maildir@0.2.2 emacs-consult-notmuch@0.8.1 emacs-helm-notmuch@1.2 neomutt@20230517 poezio@0.14 zabbix-cli@2.3.1 mpd-mpc@0.34 ncmpc@0.49 qpwgraph@0.5.3 ungoogled-chromium-wayland@112.0.5615.165-1 xdg-desktop-portal-gtk@1.14.1 xdg-desktop-portal-wlr@0.7.0 cambalache@0.12.1 gpaste@42.2 numix-gtk-theme@2.6.7 arc-theme@20221218 plasma-mobile@5.24.3 plasma-phone-components@5.23.4 plasma@5.27.7 plasma-bigscreen@5.27.7 krfb@23.04.3 mpd@0.23.13 musikcube@3.0.1 telegram-desktop@4.8.1 obs-wlrobs@1.1 obs-looking-glass@B5 obs-vkcapture@1.3.0 looking-glass-client@B6 waybar@0.9.20 waybar-experimental@0.9.20 google-chrome-beta@116.0.5845.50 google-chrome-stable@116.0.5845.110 google-chrome-unstable@119.0.6034.6 firefox-wayland@118.0.1 firefox-esr-wayland@115.3.1esr zathura-ps@0.2.7 zathura-pdf-mupdf@0.4.0 zathura-pdf-poppler@0.3.1 zathura-cb@0.1.10 zathura-djvu@0.2.9 python-ovh@1.1.0 le-biniou@3.66.0 python-git-review@2.1.0 python-os-client-config@1.12.0 python-doc8@0.8.0 python-omero-py@5.13.1 pwclient@1.3.0 presentty@0.2.1 python-oslosphinx@4.18.0 python-tempest@31.1.0 vdirsyncer@0.19.2 mbed-tools@7.53.0 python-mastodon-py@1.5.1 python-pyzabbix@1.2.1 python-canvasapi@3.2.0 python-locust@2.15.1 deja-dup@43.4 python-cachecontrol@0.11.7 ccwl@0.2.0 trezor-agent@0.14.7 keepkey-agent@0.9.0 ledger-agent@0.9.0 python-qstylizer@0.1.10 bpython@0.24 audio-to-midi@2020.7 gdc-client@1.6.0 python-vaex-core@4.13.0 python-fpylll@0.5.7 python-cypari2@2.1.2 python-jaraco-packaging@6.1 xapers@0.8.2 sugar@0.120 python-sphinx-cloud-sptheme@1.10.1 python-sphinx-theme-builder@0.2.0b1 python-guzzle-sphinx-theme@0.7.11 agda-1lab@0.0-1.47ca1d2 agda-cubical@0.5 agda-categories@0.1.7.2 cedille@1.1.2 guile-gnunet@0.0-1.d12167a gnunet-gtk@0.19.0 rdkit@2022.03.5 graphite-web@1.1.10 python-illumina-utils@2.12 python-peaks2utr@1.2.0 python-slamdunk@0.4.3 python-logomaker@0.8 pigx-sars-cov-2@0.0.9 freecad@0.21.1 python-faiss@1.5.0 labelme@4.5.13 julia-pyplot@2.10.0 python-brian2tools@0.3 mygnuhealth@1.0.5 python-tspex@0.6.2 python-pynbody@1.3.1 python-cmseq@1.0.4 checkm@1.1.3 variant-tools@3.1.2 python-plastid@0.6.0 python-ete3@3.1.3 python-pairtools@1.0.2 python-hclust2@1.0.0 umi-tools@1.0.0 python-vireosnp@0.5.7 python-graph-tool@2.57 python-fasttext@0.9.2 python-iced@0.5.8 tbsp@1.0.0-2.dc30c03 tadbit@1.0.1-1.5c4c1dd python-velocyto@0.17.17 clipper@2.0.1 perl-cworld-dekker@1.01 nanopolish@0.14.0 ciri-long@1.0.2 python-biofluff@3.0.4 python-xgboost@1.5.2 python-bbknn@1.5.1 python-mapie@0.7.0 python-scikit-rebate@0.62 python-keras@2.3.1 lightgbm@2.0.12 python-scanorama@1.7.2 python-scikit-allel@1.3.5 python-pyts@0.12.0 python-deepdish@0.3.7 python-scikit-fuzzy@0.4.2 python-pydub@0.25.1 font-cozette@1.13.0 nototools@0.2.16 mate@1.26.1 font-amiri@1.000 python-statmake@0.6.0 cnvkit@0.9.9 python-pysnptools@0.4.11 nanovna-saver@0.5.3 qspectrumanalyzer@2.1.0 python-upsetplot@0.6.0 python-modin@0.15.1 pigx@0.0.3 python-gpy@1.10.0 python-osmnx@1.1.2 python-rasterio@1.3.7 python-pyls-black@0.4.7 python-git-hammer@0.3.1 python-cantools@37.0.7 python-phylophlan@3.0.3 instrain@1.5.4 stpipeline@1.8.1 python-pyani@0.2.12 python-statannot@0.2.3 python-iml@0.6.2 python-slurm-magic@0.0-0.73dd1a2 python-pytest-exploratory@0.5 python-enoslib@8.0.1 pgcli@3.2.0 python-pyfuse3@3.2.1 python-telethon@1.17.5 emacs-calibredb@2.12.0 vorta@0.8.7 cura@4.13.1 komikku@1.17.0 python-harmony@0.7.1 caja-extensions@1.26.1 gourmet@0.17.4-0.8af29c8 dbxfs@1.0.63 vembrane@0.13.2 python-nanopb@0.4.6.4 python-pynixutil@0.5.0 yubikey-oath-dmenu@0.13.0 yubikey-manager-qt@1.2.5 electrum@4.4.6 pantalaimon@0.10.5 weechat-matrix@0.3.0 python-psycopg@3.1.10 trytond-stock-package-shipping-dpd@6.2.3 trytond-currency-rs@6.2.0 trytond-stock-package-shipping-mygls@6.2.1 datasette@0.64.2 python-ajsonrpc@1.2.0 python-fastapi-csrf-protect@0.3.1 python-mailman-hyperkitty@1.2.0 python-falcon-cors@1.1.7 python-rollbar@0.16.3 python-pyee@9.0.4 python-trio-websocket@0.9.2 autokey@0.96.0 python-ipdb@0.13.9 python-hicexplorer@3.7.2 python-bash-kernel@0.7.2 xeus@2.4.1 python-scikit-rf@0.29.1 python-deepxde@1.9.3 r-torch@0.11.0 llama-cpp@0.0.0-0.f31b539 python-cleanlab@2.2.0 python-ipython-cluster-helper@0.6.4 orange@3.32.0 python-pari-jupyter@1.4.1 rfcat@1.9.6 ruby-iruby@0.3 python-altair@5.0.1 flair@1.6.4 tombo@1.5.1 nanosv@1.2.4 archivebox@0.6.2 python-matplotlib-venn@0.11.5 python-regions@0.7 python-tslearn@0.6.2 python-casa-formats-io@0.2.1 python-jwst@1.11.4 python-astroalign@2.4.2 python-fanc@0.9.25 python-cooltools@0.5.1 fanc@0-1.354401e gnss-sdr@0.0.17 gqrx@2.16 urh@2.9.4 gr-satellites@4.6.0 gr-dsd@1.0.0-0.f9b9936 python-commonroad-route-planner@2022.3 python-goatools@1.3.1 python-pingouin@0.5.2 pitivi@2022.06.0 qtile@0.18.1 python-ipython-documentation@8.5.0 python-genomepy@0.15.0 python-pytorch-lightning@2.0.2 picard@2.9.2 conan@2.0.9 trytond-web-shop-shopify@6.2.2 oauth2ms@0.0.0-0.a1ef0ca python-swiftclient@4.0.1 linuxdcpp@1.1.0 ikiwiki@3.20200202.3 breezy@3.2.2 beets-bandcamp@0.1.4 python-tweepy@4.4.0 fdroidserver@1.1.9 python-cobib@3.5.2 python-flasgger@0.9.5 python-databricks-cli@0.17.0 python-docusign-esign@3.1.0 python-tldr@3.1.0 python-miio@0.5.12 python-sphinxext-opengraph@0.6.3 python-sphinx-tabs@3.4.1 zrythm@1.0.0-beta.4.9.1 knot-resolver@5.5.3 hypre@2.20.0 sundials-openmpi@5.8.0 dealii-openmpi@9.4.0 python-vedo@2022.2.0 python-dolfin-adjoint@2019.1.0 gnome-arcade@0.240 reprotest@0.7.26 ibus-theme-tools@4.2.0 r-nbconvertr@1.3.2 python-pytest-check-links@0.3.0 python-sparqlkernel@1.3.0 python-nbdime@3.1.1 python-poliastro@0.17.0 python-ipydatawidgets@4.2.0 python-ipympl@0.9.1 python-matplotlib-documentation@3.5.2 nikola@8.2.2 r-irkernel@1.3.2 python-captum@0.6.0 guix-jupyter@0.2.2 python-bulkvis@2.0.0-2.00a82a9 python-clinguin@1.0.0-beta python-jupyter-sphinx@0.3.2 python-hyperkitty@1.3.5 postorius@1.3.6 mdpo@0.3.6 python-gpytorch@1.11 emacs-flycheck-cpplint@1.0.2 python-scrapy@2.10.1 python-flake8-isort@4.1.1 dialect@2.1.1 python-arpeggio@2.0.0 openfoam-com@2212 openfoam-org@10.20230119 python-metpy@1.5.0 python-sunpy@5.0.0 python-pymc@5.7.2 python-pyvista@0.39.1 python-scikit-fem@8.1.0 python-pygmsh@7.1.17 qmk@1.1.2 python-scm-sr-ht@0.22.23 weasyprint@56.1 python-jupytext@1.14.4 python-demuxem@0.1.7 python-biom-format@2.1.12 python-ikarus@0.0.2 scregseg@0.1.3 python-episcanpy@0.4.0 python-liana-py@0.1.9 r-doubletcollection@1.1.0-1.c0d62f1 python-multivelo@0.1.2 python-pythonanywhere@0.9.10 python-cellbender@0.2.2 abjad-ext-nauert@3.4 abjad-ext-rmakers@3.4 abjad-ext-ipython@3.3 python-sphinx-sitemap@2.2.0 python-sphinx-prompt@1.5.0 khal@0.11.2 repo2docker@2021.08.0 python-sphinx-basic-ng@1.0.0b2 jami-docs@0.0.0-1.ff466eb supertux@0.6.3 python-openturns@1.21 ceph@17.2.5 sugar-help-activity@20-1.492531e casync@2-0.99559cd kitty@0.21.2 python-daemux@0.1.0 memtest86+@6.20 genimage@15-1.ec44ae0 xen@4.14.6 ganeti@3.0.2 godot@4.1.1 superstarfighter@0.6.5 varnish-modules@0.19.0 csvkit@1.1.1 polybar@3.6.3 dex@0.9.0 python-numpy-documentation@1.23.2 visidata@2.8 gfeeds@2.2.0 tuir@1.29.0 giara@1.0.1 rtv@1.27.0 tgcli@0.3.1 pandoc-include@1.2.0 synapse@1.29.0 certbot@2.3.0 tractor@4.1.1 onionshare@2.6 trytond-account-fr-chorus@6.2.1 trytond-currency-ro@6.2.0 trytond-stock-package-shipping-sendcloud@6.2.1 trytond-stock-package-shipping-ups@6.2.0 grokmirror@2.0.11 emacs-piem@0.5.0 openshot@3.1.1 svtplay-dl@4.17 gallery-dl@1.25.8 yle-dl@20230611 twitchy@3.4-1.9beb36d python-transient@0.12 gnome-shell-extension-gsconnect@50 eiciel@0.9.13.1 gnome-terminal@3.44.1 gnome-tweaks@40.10 rhythmbox@3.4.7 gnome@42.4 gnome-boxes@43.3 virt-manager@4.1.0 protonvpn-cli@2.2.6 gp-saml-gui@0.0.0-1.258f47c openconnect-sso@0.8.0 python-internetarchive@1.8.5 linkchecker@10.0.1 hangups@0.4.18 python-spacy@3.5.3 python-baltica@1.1.2 snakemake@6.15.5 python-mathlibtools@1.1.1 emacs-robot-log@0.1.4 python-robotframework-lint@1.1-0.b0619ac python-robotframework-sshtunnellibrary@1.0.0 python-robotframework-datadriver@1.6.1 python-robotframework-seleniumscreenshots@0.9.5 python-robotframework-pabot@2.7.0 python-robotframework-sshlibrary@3.8.0 offlate@0.6.1 websockify@0.11.0 python-clf@0.5.7 protonup-ng@0.2.1

I'm on the following commit:

[jgart@fedora guix]$ guix describe
Generation 35	Oct 07 2023 00:34:07	(current)
  guix 84431a3
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 84431a30ea0eab9d80cdf22b97375d1d6339596c

WDYT

all best,

jgart


^ permalink raw reply	[relevance 3%]

* Notmuch, Debbugs: my helpers (was Re: New section to easily reference Debbugs URLs within Emacs Debbugs)
  @ 2023-09-18 16:07  6% ` Simon Tournier
  0 siblings, 0 replies; 37+ results
From: Simon Tournier @ 2023-09-18 16:07 UTC (permalink / raw)
  To: Maxim Cournoyer, guix-devel

Hi,

On Sun, 17 Sep 2023 at 16:51, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

> If you use Emacs and Emacs-Debbugs, you may be interested in applying
> the settings newly documented in the 'Viewing Bugs within Emacs' section
> of the manual; see it at the bottom of info "(guix) The Perfect Setup").

Oh, cool!

On Saturday, I discovered ’honey-apple’ on IRC and today I was planning
to improve my setup.  Perfect timing! :-)

BTW, let me share some of my helpers.  They are quite simple but it
helps me.  Maybe it could be useful to others.  Well, I read my emails
using Emacs-Notmuch but I guess this should be adaptable for Gnus or
mu4e.

Since I often lag behind, I often have patches in my inbox where I have
been CC.  I try to keep focused on by an easy triage, so I quickly want
to know if this patch is still open or if it is already marked as done.
Before opening, or while reading, I just press ’C’ and it queries
Debbugs (SOAP) and displays the current status.

Similarly, sometimes old but still open bug pops up.  It is a reply or
just a ping and because it is old, I do not necessary have the context.
I just press ’b’ and it opens Emacs-Debbugs for the issue at hand.  If
there is many messages (that I do not have locally) and say it will need
some time to read them, and say I am often reading offline, well I just
press ’I’ and it downloads all the thread and injects it in my Guix
email folder (and also indexed by notmuch :-)).

Last, when reading from Debbugs, I press ’R’ for replying.  I like to
have https://issues.guix.gnu.org/issue/NNNNN at hand so pressing ’R’
stashes this URL specific to the issue and ready to be pasted.

Below the config. :-)

--8<---------------cut here---------------start------------->8---
  (defun my/notmuch-show-get-debbugs ()
    "Extract Debbugs number.

From an email message, it exracts the number NNNN as in
NNNN@debbugs.gnu.org from the fields From/To/CC and it returns a
list of integers.

If in `notmuch-search-mode', then the returns is nil, so let try
to extract from the email subject assuming the pattern bug#NNNN."
    (let* ((all-mails (seq-reduce
                       (lambda (r f)
                         (let ((s (funcall f)))
                           (if s
                               (append r (split-string s "," t))
                             r)))
                       (list 'notmuch-show-get-from
                             'notmuch-show-get-to
                             'notmuch-show-get-cc)
                       nil))
           (debbugs (seq-filter
                     (lambda (x) (string-match-p (regexp-quote "@debbugs.gnu.org") x))
                     all-mails))
           (numbers (remq nil
                          (mapcar
                           (lambda (x)
                             (let ((n (when (string-match "\\([0-9]+\\)@debbugs.gnu.org" x)
                                        (match-string 1 x)))
                                   (d (when (string-match "\\([0-9]+\\)-done@debbugs.gnu.org" x)
                                        (match-string 1 x)))
                                   (c (when (string-match "\\([0-9]+\\)-close@debbugs.gnu.org" x)
                                        (match-string 1 x)))
                                   )
                               (or n d c)))
                           debbugs))))
      (or
       (mapcar 'string-to-number numbers)
       ;; Let extract from the subject
       (let* ((subject (notmuch-search-find-subject))
              (n (when (and subject
                            (string-match ".*bug#\\([0-9]+\\).*" subject))
                   (match-string 1 subject))))
         (when n
           (list (string-to-number n))))))))

  (defun my/notmuch-debbugs-check ()
    "Send request to Debbugs instance about pending status and report."
    (interactive)
    (let* ((number (car (my/notmuch-show-get-debbugs)))
           (meta (if number
                     (car (debbugs-get-status number))
                   (user-error "Notmuch: no @debbugs.gnu.org")))
           (status (debbugs-get-attribute meta 'pending))
           (listify #'(lambda (bug attr)
                      (let ((some (debbugs-get-attribute bug attr)))
                        (if (listp some)
                            some
                          (list some)))))
           (infos (or (sort (append
                             (funcall listify meta 'tags)
                             (funcall listify meta 'severity))
                            'string<)
                      "")))
      (message "Status bug#%d: %s %s" number status infos)))

  (define-key notmuch-tree-mode-map (kbd "C")
    'my/notmuch-debbugs-check)
  (define-key notmuch-search-mode-map (kbd "C")
    'my/notmuch-debbugs-check)
  (define-key notmuch-show-mode-map (kbd "C")
    #'(lambda ()
        ;; XXXX: For some reason, without wrapping with
        ;;     (lambda () (interactive) ...)
        ;; it returns: Wrong type argument: commandp
        (interactive)
        (my/notmuch-debbugs-check))

  (defun my/notmuch-debbugs-open ()
    "Open the current message with Debbugs mode."
    (interactive)
    (let ((numbers (my/notmuch-show-get-debbugs)))
      (if numbers
          (apply 'debbugs-gnu-bugs numbers)
        (user-error "Notmuch: no @debbugs.gnu.org"))))

  (define-key notmuch-tree-mode-map (kbd "b") ;rebind `notmuch-show-resend-message'
    'my/notmuch-debbugs-open)
  (define-key notmuch-search-mode-map (kbd "b") ;rebind `notmuch-show-resend-message'
    'my/notmuch-debbugs-open)
  (define-key notmuch-show-mode-map (kbd "b") ;rebind `notmuch-show-resend-message'
    'my/notmuch-debbugs-open)

  (define-key gnus-summary-mode-map "I" ;rebind `gnus-summary-increase-score'
    #'(lambda ()
        "Import thread to Notmuch."
        (interactive)
        ;; XXXX: Is `debbugs-get-status' using caching?
        (let* ((meta  (car (debbugs-get-status debbugs-gnu-bug-number)))
               (inbox (car (debbugs-get-attribute meta 'package))) ;match with `piem-inboxes'
               (raw   (debbugs-get-attribute meta 'msgid))
               (msgid (replace-regexp-in-string "<\\|>" "" raw)))
          (piem-inject-thread-into-maildir msgid inbox)
          (notmuch-command-to-string "new" "--no-hooks")
          (notmuch-tag (concat "id:" msgid) (list "+Later"))
          (message "Imported %s from %s using %s." debbugs-gnu-bug-number inbox msgid))))

  (define-key gnus-article-mode-map "R"
    #'(lambda ()
        "Start composing a reply mail to the current message.
The original article will be yanked, see `gnus-summary-wide-reply-with-original'."
        (interactive)
        (let* ((all-mails (seq-reduce
                           (lambda (r f)
                             (let ((s (funcall 'message-fetch-field f)))
                               (if s
                                   (append r (split-string s "," t))
                                 r)))
                           (list "from"
                                 "to"
                                 "cc")
                           nil))
               (debbugs (seq-filter
                         (lambda (x) (string-match-p (regexp-quote "@debbugs.gnu.org") x))
                         all-mails))
               (numbers (remq nil
                              (mapcar
                               (lambda (x)
                                 (let ((n (when (string-match "\\([0-9]+\\)@debbugs.gnu.org" x)
                                            (match-string 1 x)))
                                       (d (when (string-match "\\([0-9]+\\)-done@debbugs.gnu.org" x)
                                            (match-string 1 x))))
                                   (if n n d)))
                               debbugs)))
               (number (if numbers
                           (progn
                             (unless (= 1 (length numbers))
                               (user-error "Bang! Not a Debbugs message"))
                             (when (> 1 (length numbers))
                               (message "Consider only %s" (car numbers)))
                             (car numbers))
                         ""))
               (url (concat "https://issues.guix.gnu.org/issue/" number)))
          (kill-new url)
          (gnus-summary-wide-reply-with-original nil)
          (message "Stashed: %s" url))))
--8<---------------cut here---------------end--------------->8---


Cheers,
simon


^ permalink raw reply	[relevance 6%]

* [bug#64155] [PATCH v2 2/2] gnu: emacs-piem: Update to 0.5.0.
  2023-06-19 19:35 27% ` [bug#64155] [PATCH v2 1/2] gnu: emacs-piem: Do not propagate any inputs jlicht
@ 2023-06-19 19:35 31%   ` jlicht
  0 siblings, 0 replies; 37+ results
From: jlicht @ 2023-06-19 19:35 UTC (permalink / raw)
  To: 64155
  Cc: Jelle Licht, Liliana Marie Prikler, Andrew Tropin, Andrew Tropin,
	Liliana Marie Prikler

From: Jelle Licht <jlicht@fsfe.org>

* gnu/packages/emacs-xyz.scm (emacs-piem): Update to 0.5.0.
[inputs]: Add emacs-debbugs.

---

(no changes since v1)

 gnu/packages/emacs-xyz.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 416656f243..08d53be8a9 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8337,7 +8337,7 @@ (define-public emacs-debbugs
 (define-public emacs-piem
   (package
     (name "emacs-piem")
-    (version "0.4.0")
+    (version "0.5.0")
     (source
      (origin
        (method git-fetch)
@@ -8346,7 +8346,7 @@ (define-public emacs-piem
              (commit (string-append "v" version))))
        (file-name (string-append name "-" version "-checkout"))
        (sha256
-        (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
+        (base32 "0smdb1iph2q1xvxix5c93llckcxh7kmhg6pxgyrm88j736m4l16q"))))
     (build-system emacs-build-system)
     (arguments
      (list #:phases
@@ -8358,6 +8358,7 @@ (define-public emacs-piem
                       (search-input-file inputs "/bin/b4"))))))))
     (inputs
      (list b4
+           emacs-debbugs
            emacs-elfeed
            emacs-notmuch))
     (home-page "https://docs.kyleam.com/piem")
-- 
2.40.1





^ permalink raw reply related	[relevance 31%]

* [bug#64155] [PATCH v2 1/2] gnu: emacs-piem: Do not propagate any inputs.
  2023-06-18 19:38 31% [bug#64155] [PATCH] gnu: emacs-piem: Update to 0.5.0 jlicht
  2023-06-19 13:44  7% ` Andrew Tropin
@ 2023-06-19 19:35 27% ` jlicht
  2023-06-19 19:35 31%   ` [bug#64155] [PATCH v2 2/2] gnu: emacs-piem: Update to 0.5.0 jlicht
  1 sibling, 1 reply; 37+ results
From: jlicht @ 2023-06-19 19:35 UTC (permalink / raw)
  To: 64155
  Cc: Jelle Licht, Liliana Marie Prikler, Andrew Tropin, Andrew Tropin,
	Liliana Marie Prikler

From: Jelle Licht <jlicht@fsfe.org>

* gnu/packages/emacs-xyz.scm (emacs-piem) [propagated-inputs]: Remove, moving
emacs-elfeed and emacs-notmuch to...
[inputs]: ...here.
---

(no changes since v1)

 gnu/packages/emacs-xyz.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f46af73aec..416656f243 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8357,9 +8357,8 @@ (define-public emacs-piem
                      ("piem-b4-b4-executable"
                       (search-input-file inputs "/bin/b4"))))))))
     (inputs
-     (list b4))
-    (propagated-inputs
-     (list emacs-elfeed
+     (list b4
+           emacs-elfeed
            emacs-notmuch))
     (home-page "https://docs.kyleam.com/piem")
     (synopsis "Glue for working with public-inbox archives")

base-commit: d884fc9e2efecfba09af4694f5a13ad7fc6f704f
-- 
2.40.1





^ permalink raw reply related	[relevance 27%]

* [bug#64155] [PATCH] gnu: emacs-piem: Update to 0.5.0.
  2023-06-19 13:44  7% ` Andrew Tropin
@ 2023-06-19 18:24  7%   ` Liliana Marie Prikler
  0 siblings, 0 replies; 37+ results
From: Liliana Marie Prikler @ 2023-06-19 18:24 UTC (permalink / raw)
  To: Andrew Tropin, jlicht, 64155

Am Montag, dem 19.06.2023 um 17:44 +0400 schrieb Andrew Tropin:
> Hi Jelle!
> 
> Thank you very much for the patch.
> 
> IMHO, optional dependencies should not be propagated.  On user side
> installing additional packages is easier than transforming existing
> package and removing unneeded propagated deps.  Personally, I would
> remove all the propagated inputs from piem and let the user install
> what he needs for his particular use case.
> 
> Liliana, Jelle WDYT?
s/he needs/they need/

Other than that, I don't really have an opinion, but at the very least
we don't *have* to propagate debbugs, given that users who want to use
that probably already have it.  As for why I don't really have an
opinion: I don't know how central the existing propagations are towards
the working of emacs-piem.

That being said, we could always make those inputs regular (which might
be helpful for byte/native-compilation).

Cheers




^ permalink raw reply	[relevance 7%]

* [bug#64155] [PATCH] gnu: emacs-piem: Update to 0.5.0.
  2023-06-18 19:38 31% [bug#64155] [PATCH] gnu: emacs-piem: Update to 0.5.0 jlicht
@ 2023-06-19 13:44  7% ` Andrew Tropin
  2023-06-19 18:24  7%   ` Liliana Marie Prikler
  2023-06-19 19:35 27% ` [bug#64155] [PATCH v2 1/2] gnu: emacs-piem: Do not propagate any inputs jlicht
  1 sibling, 1 reply; 37+ results
From: Andrew Tropin @ 2023-06-19 13:44 UTC (permalink / raw)
  To: jlicht, 64155; +Cc: Jelle Licht, Liliana Marie Prikler

[-- Attachment #1: Type: text/plain, Size: 2005 bytes --]

On 2023-06-18 21:38, jlicht@fsfe.org wrote:

> From: Jelle Licht <jlicht@fsfe.org>
>
> * gnu/packages/emacs-xyz.scm (emacs-piem): Update to 0.5.0.
> [propagated-inputs]: Add emacs-debbugs.
> ---
>
>  gnu/packages/emacs-xyz.scm | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index f46af73aec..08ec87b94c 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -8337,7 +8337,7 @@ (define-public emacs-debbugs
>  (define-public emacs-piem
>    (package
>      (name "emacs-piem")
> -    (version "0.4.0")
> +    (version "0.5.0")
>      (source
>       (origin
>         (method git-fetch)
> @@ -8346,7 +8346,7 @@ (define-public emacs-piem
>               (commit (string-append "v" version))))
>         (file-name (string-append name "-" version "-checkout"))
>         (sha256
> -        (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
> +        (base32 "0smdb1iph2q1xvxix5c93llckcxh7kmhg6pxgyrm88j736m4l16q"))))
>      (build-system emacs-build-system)
>      (arguments
>       (list #:phases
> @@ -8359,7 +8359,8 @@ (define-public emacs-piem
>      (inputs
>       (list b4))
>      (propagated-inputs
> -     (list emacs-elfeed
> +     (list emacs-debbugs
> +           emacs-elfeed
>             emacs-notmuch))
>      (home-page "https://docs.kyleam.com/piem")
>      (synopsis "Glue for working with public-inbox archives")
>
> base-commit: 726f2a944730a1edbdbebfe57fb9e7e0ba47d83e

Hi Jelle!

Thank you very much for the patch.

IMHO, optional dependencies should not be propagated.  On user side
installing additional packages is easier than transforming existing
package and removing unneeded propagated deps.  Personally, I would
remove all the propagated inputs from piem and let the user install what
he needs for his particular use case.

Liliana, Jelle WDYT?

-- 
Best regards,
Andrew Tropin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[relevance 7%]

* Re: patch question: any tool to download patches from guix patch mailing list?
  2023-06-18 20:28 11% ` Jelle Licht
@ 2023-06-19  8:33 10%   ` Giovanni Biscuolo
  0 siblings, 0 replies; 37+ results
From: Giovanni Biscuolo @ 2023-06-19  8:33 UTC (permalink / raw)
  To: Jelle Licht, Andy Tai, help-guix

[-- Attachment #1: Type: text/plain, Size: 2004 bytes --]

Hi!

Jelle Licht <jlicht@fsfe.org> writes:

[...]

> I know it was already mentioned, but some features were recently added
> to piem (patch waiting over at https://issues.guix.gnu.org/64155) to
> integrate it with debbugs.el,

great!  I missed it (v. 0.5.0 released few hours ago [1]); thank you for
the patch to the Guix package!

> the Emacs debbugs interface. This makes it
> (IMHO) a fairly easy to apply some patches locally.
>
> I have this set up with (something similar to) the following:
> --8<---------------cut here---------------start------------->8---
> (setq piem-inboxes
>       (("guix-patches"
>         :coderepo ("/home/jlicht/Documents/guix")
> 	:url "https://yhetil.org/guix-patches"
> 	:listid "guix-patches.gnu.org"
> 	:address "guix-patches@gnu.org"
> 	:gnu-package "guix-patches")))
>
> (require 'piem)
> (piem-gnus-mode 1)
> (piem-debbugs-mode 1)
>
> (require 'debbugs)
> (defun debbugs-gnu-guix ()
>   "List Guix issues."
>   (interactive)
>   (debbugs-gnu '("serious" "important" "normal") '("guix-patches") nil t))
> --8<---------------cut here---------------end--------------->8---
>
> With the configuration taken care of, just `M-x debbugs-gnu-guix',
> navigate to any issue (just put point on an issue you are interested in)
> and run `M-x piem-b4-am'. It should pull down all needed messages (from
> yhetil's public inbox mirror), and use some heuristics to apply the most
> recent patch revision, taking into account either 'git send-email' or
> attachment-based patch series.

Thank you for the explanation, it's very valuable since this new feature
is not well documented on the pien online manual at
https://docs.kyleam.com/piem/
(e.g. https://docs.kyleam.com/piem/Lisp-Function-Index.html mentions
piem-debbugs-mode but no other documentation is found)

[...]

Happy hacking! Gio'


[1] https://git.kyleam.com/piem/tree/Documentation/RelNotes/0.5.0.txt

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]

^ permalink raw reply	[relevance 10%]

* Re: patch question: any tool to download patches from guix patch mailing list?
    2023-06-17 15:28 10% ` Giovanni Biscuolo
@ 2023-06-18 20:28 11% ` Jelle Licht
  2023-06-19  8:33 10%   ` Giovanni Biscuolo
  1 sibling, 1 reply; 37+ results
From: Jelle Licht @ 2023-06-18 20:28 UTC (permalink / raw)
  To: Andy Tai, help-guix

Hi Andy,

Andy Tai <atai@atai.org> writes:

> Hi, this is more a developer question:
>
> Guix patches are posted to guix-patches mailing list.   Is there any
> tool that makes it easy to download a particular patch series from the
> mailing list archive or the Guix issue web site so it is easy to apply
> a patch series to a local checkout of the guix git repo?
>
> This is to mainly easily test guix package definition patches.
>
> (There seems to be tool like b4 or patchworks for Linux kernel
> developers and their mailing lists but not sure if similar tools exist
> for GNU (or Guix specific) development mailing lists)

I know it was already mentioned, but some features were recently added
to piem (patch waiting over at https://issues.guix.gnu.org/64155) to
integrate it with debbugs.el, the Emacs debbugs interface. This makes it
(IMHO) a fairly easy to apply some patches locally.

I have this set up with (something similar to) the following:
--8<---------------cut here---------------start------------->8---
(setq piem-inboxes
      (("guix-patches"
        :coderepo ("/home/jlicht/Documents/guix")
	:url "https://yhetil.org/guix-patches"
	:listid "guix-patches.gnu.org"
	:address "guix-patches@gnu.org"
	:gnu-package "guix-patches")))

(require 'piem)
(piem-gnus-mode 1)
(piem-debbugs-mode 1)

(require 'debbugs)
(defun debbugs-gnu-guix ()
  "List Guix issues."
  (interactive)
  (debbugs-gnu '("serious" "important" "normal") '("guix-patches") nil t))
--8<---------------cut here---------------end--------------->8---

With the configuration taken care of, just `M-x debbugs-gnu-guix',
navigate to any issue (just put point on an issue you are interested in)
and run `M-x piem-b4-am'. It should pull down all needed messages (from
yhetil's public inbox mirror), and use some heuristics to apply the most
recent patch revision, taking into account either 'git send-email' or
attachment-based patch series.

Hope this additional data point is useful.

- Jelle


^ permalink raw reply	[relevance 11%]

* [bug#64155] [PATCH] gnu: emacs-piem: Update to 0.5.0.
@ 2023-06-18 19:38 31% jlicht
  2023-06-19 13:44  7% ` Andrew Tropin
  2023-06-19 19:35 27% ` [bug#64155] [PATCH v2 1/2] gnu: emacs-piem: Do not propagate any inputs jlicht
  0 siblings, 2 replies; 37+ results
From: jlicht @ 2023-06-18 19:38 UTC (permalink / raw)
  To: 64155; +Cc: Jelle Licht, Andrew Tropin, Liliana Marie Prikler

From: Jelle Licht <jlicht@fsfe.org>

* gnu/packages/emacs-xyz.scm (emacs-piem): Update to 0.5.0.
[propagated-inputs]: Add emacs-debbugs.
---

 gnu/packages/emacs-xyz.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f46af73aec..08ec87b94c 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8337,7 +8337,7 @@ (define-public emacs-debbugs
 (define-public emacs-piem
   (package
     (name "emacs-piem")
-    (version "0.4.0")
+    (version "0.5.0")
     (source
      (origin
        (method git-fetch)
@@ -8346,7 +8346,7 @@ (define-public emacs-piem
              (commit (string-append "v" version))))
        (file-name (string-append name "-" version "-checkout"))
        (sha256
-        (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
+        (base32 "0smdb1iph2q1xvxix5c93llckcxh7kmhg6pxgyrm88j736m4l16q"))))
     (build-system emacs-build-system)
     (arguments
      (list #:phases
@@ -8359,7 +8359,8 @@ (define-public emacs-piem
     (inputs
      (list b4))
     (propagated-inputs
-     (list emacs-elfeed
+     (list emacs-debbugs
+           emacs-elfeed
            emacs-notmuch))
     (home-page "https://docs.kyleam.com/piem")
     (synopsis "Glue for working with public-inbox archives")

base-commit: 726f2a944730a1edbdbebfe57fb9e7e0ba47d83e
-- 
2.40.1





^ permalink raw reply related	[relevance 31%]

* Re: patch question: any tool to download patches from guix patch mailing list?
  @ 2023-06-17 15:28 10% ` Giovanni Biscuolo
  2023-06-18 20:28 11% ` Jelle Licht
  1 sibling, 0 replies; 37+ results
From: Giovanni Biscuolo @ 2023-06-17 15:28 UTC (permalink / raw)
  To: Andy Tai, help-guix

[-- Attachment #1: Type: text/plain, Size: 2740 bytes --]

Hi Andy,

Andy Tai <atai@atai.org> writes:

[...]

> (There seems to be tool like b4 or patchworks for Linux kernel
> developers and their mailing lists but not sure if similar tools exist
> for GNU (or Guix specific) development mailing lists)

what you ask has been discussed several times in guix-devel since a
smoother "send and recieve patches workflow" is a very common desire :-)

I'm still not extensively using the tools I mention in 2. so I have no
"hands on" suggestions, I'm currenly using 1 (but still not emacs-piem).

1. use notmuch (possibly with emacs-piem)

if already a notmuch user **and** you are subscribed to the patches
mailing list, for a single patch you can copy the patch message-id (cI
to stash it) and use

--8<---------------cut here---------------start------------->8---

$ notmuch show --format=mbox id:XXX | git am

for a single patch, or

$ notmuch show --format=mbox thread:XXX | git am

for a whole series

--8<---------------cut here---------------end--------------->8---
(https://notmuch.notmuchmail.narkive.com/V2cK3dJb/handling-patch-from-mail)

if you are comfortable with emacs, emacs-piem can be used as a frontend
to apply patches from a Notmuch (or Gnus) buffer (or editable pop up
mbox buffer):
https://docs.kyleam.com/piem/Applying-patches.html#Applying-patches

2. Use b4 and public-inbox related tools

the advantage of b4 is that you are not "forced" to be subscribed to the
patches mailing list(s) since it can apply patches from a public-inbox
backed mailing list

https://yhetil.org/guix/20201114003906.25111-1-kyle@kyleam.com/

This is a thread that explains how to use b4 with the guix-patches
(unofficial) public-inbox, this is an executive summary:

--8<---------------cut here---------------start------------->8---

$ # in the guix repo
$ git config b4.attestation-policy off
$ git config b4.midmask https://yhetil.org/guix-patches/%s
$ b4 am <message-id>

--8<---------------cut here---------------end--------------->8---

If you use Emacs there is a frontend: emacs-piem

3. keep looking at mumi

recently (April 2023 [1]) the "mumi send-email" CLI was added to help in
/sending/ patches

maybe one day a CLI will be added to ""mumi git-am" in a similar way as
the workflow in 1.

On May 2022 [2] Ludovic sent a "super-early-draft" of a "guix review"
command on the guix-devel mailing list and there was some consensus that
it should become "mumi review", but no development was done since then
AFAIK


HTH, Happy hacking! Gio'


[1] https://yhetil.org/guix/87mt2xiab3.fsf@systemreboot.net

[2] https://yhetil.org/guix/87a6btymzz.fsf@gnu.org

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 849 bytes --]

^ permalink raw reply	[relevance 10%]

* [bug#58730] [PATCH] Split emacs-piem and emacs-git-email
  2022-11-02 18:13 11% ` zimoun
@ 2022-11-05  5:22 11%   ` Kyle Meyer
  0 siblings, 0 replies; 37+ results
From: Kyle Meyer @ 2022-11-05  5:22 UTC (permalink / raw)
  To: zimoun
  Cc: Declan Tsien, public, liliana.prikler, Andrew Tropin, 58730,
	Nicolas Goaziou

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.




^ permalink raw reply	[relevance 11%]

* [bug#58730] [PATCH] Split emacs-piem and emacs-git-email
  2022-10-23  5:49 55% [bug#58730] [PATCH] Split emacs-piem and emacs-git-email Declan Tsien
  2022-10-25  1:15  9% ` Declan Tsien
@ 2022-11-02 18:13 11% ` zimoun
  2022-11-05  5:22 11%   ` Kyle Meyer
  1 sibling, 1 reply; 37+ results
From: zimoun @ 2022-11-02 18:13 UTC (permalink / raw)
  To: Declan Tsien, 58730
  Cc: Kyle Meyer, public, liliana.prikler, Nicolas Goaziou,
	Andrew Tropin

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




^ permalink raw reply	[relevance 11%]

* [bug#58730] [PATCH] Split emacs-piem and emacs-git-email
  2022-10-23  5:49 55% [bug#58730] [PATCH] Split emacs-piem and emacs-git-email Declan Tsien
@ 2022-10-25  1:15  9% ` Declan Tsien
  2022-11-02 18:13 11% ` zimoun
  1 sibling, 0 replies; 37+ results
From: Declan Tsien @ 2022-10-25  1:15 UTC (permalink / raw)
  To: 58730; +Cc: Niklas Eklund, zimoun

[-- Attachment #1: Type: text/plain, Size: 18212 bytes --]

Declan Tsien <declantsien@riseup.net> writes:

> Currently, emacs-piem and emacs-git-email bundle multiple lisp files with
> identical functionality but for different tastes. Split into separated
> packages would avoid pulling unnecessary dependencies into user profile.
>
> Also fix info manual for emacs-git-email and add info-manual for
> emacs-piem
>
> From 6b44b4998369f01365c0ddb1b935072cfefcbe1b Mon Sep 17 00:00:00 2001
> From: Declan Tsien <declantsien@riseup.net>
> Date: Sun, 23 Oct 2022 11:40:07 +0800
> 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(-)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 06ec9dd904..be6d4c6ba3 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -17341,7 +17341,8 @@ (define-public emacs-git-email
>                 (delete-file "git-email-piem.el")))
>             (add-before 'install 'makeinfo
>               (lambda _
> -               (invoke "makeinfo" "doc/git-email.texi"))))))
> +               (invoke "make" "doc/git-email.info")
> +               (rename-file "doc/git-email.info" "git-email.info"))))))
>        (native-inputs
>         (list texinfo))
>        (propagated-inputs
>
> base-commit: 1f734a6f0a7db5b0e12091a0c869c5c4810ac80e
> -- 
> 2.38.0
>
> From 3d6c28a0cbeed2f38d91cd31155a257578675f6d Mon Sep 17 00:00:00 2001
> From: Declan Tsien <declantsien@riseup.net>
> Date: Sun, 23 Oct 2022 11:42:19 +0800
> 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"))))))
>      (inputs
>       (list b4))
> +    (native-inputs
> +     (list texinfo))
>      (propagated-inputs
>       (list emacs-elfeed
>             emacs-notmuch
> -- 
> 2.38.0
>
> From ff45839e29bad8bd4fa5d9b4868b3f68fe8d300d Mon Sep 17 00:00:00 2001
> From: Declan Tsien <declantsien@riseup.net>
> Date: Sun, 23 Oct 2022 11:46:37 +0800
> 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.
> ---
>  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"))))
>      (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"))))))
> +    (native-inputs (list texinfo))
> +    (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
>  working with public-inbox archives.  As much of the hard work here is already
>  done by other Emacs libraries—things like mail clients, news readers, Git
>  interfaces, and even web browsers—piem is mostly about bridging some of these
>  parts for convenience.")
>      (license license:gpl3+)))
>  
> +(define-public emacs-piem-b4
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-b4")
> +    (inputs (list b4))
> +    (propagated-inputs (list emacs-piem))
> +    (arguments
> +     (list #:include #~(list "piem-b4.el")
> +           #: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"))))))))
> +    (synopsis "Emacs interface to the b4 tool")
> +    (description
> +     "This library provides a @code{emacs-transient} interface to @code{b4}.  It is
> +documented in the piem manual.")))
> +
> +(define-public emacs-piem-elfeed
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-elfeed")
> +    (propagated-inputs (list emacs-piem emacs-elfeed))
> +    (arguments
> +     (list #:include #~(list "piem-elfeed.el")))
> +    (synopsis "Elfeed integration for piem")
> +    (description
> +     "This library provides @code{emacs-elfeed} integration for @code{piem}.")))
> +
> +(define-public emacs-piem-eww
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-eww")
> +    (propagated-inputs (list emacs-piem))
> +    (arguments
> +     (list #:include #~(list "piem-eww.el")))
> +    (synopsis "EWW integration for piem")
> +    (description "This library provides EWW integration for @code{piem}.")))
> +
> +(define-public emacs-piem-gnus
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-gnus")
> +    (propagated-inputs (list emacs-piem))
> +    (arguments
> +     (list #:include #~(list "piem-gnus.el")))
> +    (synopsis "Gnus integration for piem")
> +    (description "This library provides Gnus integration for @code{piem}.")))
> +
> +(define-public emacs-piem-notmuch
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-notmuch")
> +    (propagated-inputs (list emacs-piem emacs-notmuch))
> +    (arguments
> +     (list #:include #~(list "piem-notmuch.el")))
> +    (synopsis "Notmuch integration for piem")
> +    (description
> +     "This library provides @code{emacs-notmuch} integration for @code{piem}.")))
> +
> +(define-public emacs-piem-rmail
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-rmail")
> +    (propagated-inputs (list emacs-piem))
> +    (arguments
> +     (list #:include #~(list "piem-rmail.el")))
> +    (synopsis "Rmail integration for piem")
> +    (description "This library provides Rmail integration for @code{piem}.")))
> +
> +(define-public emacs-piem-lei
> +  (package
> +    (inherit emacs-piem)
> +    (name "emacs-piem-lei")
> +    (propagated-inputs (list emacs-piem))
> +    (arguments
> +     (list #:include #~(list "piem-lei.el")))
> +    (synopsis "Lei integration for piem")
> +    (description "This library provides lei integration for @code{piem}.")))
> +
>  (define-public emacs-ert-expectations
>    (package
>      (name "emacs-ert-expectations")
> -- 
> 2.38.0
>
> From d0c79a8c055c3818c1ea97e4cf0aa373303025e5 Mon Sep 17 00:00:00 2001
> From: Declan Tsien <declantsien@riseup.net>
> Date: Sun, 23 Oct 2022 11:48:13 +0800
> 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"))))
>        (build-system emacs-build-system)
>        (arguments
> -       `(#:phases
> -         (modify-phases %standard-phases
> -           ;; piem is not yet packaged in Guix.
> -           (add-after 'unpack 'remove-piem
> -             (lambda _
> -               (delete-file "git-email-piem.el")))
> -           (add-before 'install 'makeinfo
> -             (lambda _
> -               (invoke "make" "doc/git-email.info")
> -               (rename-file "doc/git-email.info" "git-email.info"))))))
> -      (native-inputs
> -       (list texinfo))
> -      (propagated-inputs
> -       (list mu emacs-magit emacs-notmuch))
> +       (list #:exclude #~(cons* "^git-email-gnus.el"
> +                                "^git-email-magit.el"
> +                                "^git-email-mu4e.el"
> +                                "^git-email-notmuch.el"
> +                                "^git-email-piem.el"
> +                                %default-exclude)
> +             #:phases #~(modify-phases %standard-phases
> +                          (add-before 'install 'makeinfo
> +                            (lambda _
> +                              (invoke "make" "doc/git-email.info")
> +                              (rename-file "doc/git-email.info"
> +                                           "git-email.info"))))))
> +      (native-inputs (list texinfo))
>        (license license:gpl3+)
>        (home-page "https://sr.ht/~yoctocell/git-email")
>        (synopsis "Format and send Git patches in Emacs")
>        (description "This package provides utilities for formatting and
>  sending Git patches via Email, without leaving Emacs."))))
>  
> +(define-public emacs-git-email-gnus
> +  (package
> +    (inherit emacs-git-email)
> +    (name "emacs-git-email-gnus")
> +    (propagated-inputs (list emacs-git-email))
> +    (arguments
> +     (list #:include #~(list "git-email-gnus.el")))
> +    (synopsis "Gnus integration for git-email")
> +    (description
> +     "This library sets some variables for git-email to make it work
> +better with Gnus.")))
> +
> +(define-public emacs-git-email-magit
> +  (package
> +    (inherit emacs-git-email)
> +    (name "emacs-git-email-magit")
> +    (propagated-inputs (list emacs-git-email emacs-magit))
> +    (arguments
> +     (list #:include #~(list "git-email-magit.el")))
> +    (synopsis "Magit integration for git-email")
> +    (description
> +     "This library offers transient commands in the magit-status buffer
> +for interacting with git-email.")))
> +
> +(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")))))
> +    (arguments
> +     (list #:include #~(list "git-email-mu4e.el")
> +           #:phases #~(modify-phases %standard-phases
> +                        (add-after 'unpack 'apply-patch
> +                          (lambda* (#:key inputs #:allow-other-keys)
> +                            (let ((patch (assoc-ref inputs
> +                                          "emacs-git-email-mu4e-patch")))
> +                              (invoke "patch" "-p1" "--batch" "-i" patch)))))))
> +    (synopsis "Mu4e integration for git-email")
> +    (description
> +     "This library sets some variables for git-email to make it work
> +better with @code{mu}.")))
> +
> +(define-public emacs-git-email-notmuch
> +  (package
> +    (inherit emacs-git-email)
> +    (name "emacs-git-email-notmuch")
> +    (propagated-inputs (list emacs-git-email emacs-notmuch))
> +    (arguments
> +     (list #:include #~(list "git-email-notmuch.el")))
> +    (synopsis "Notmuch integration for git-email")
> +    (description
> +     "This library sets some variables for git-email to make it work
> +better with @code{emacs-notmuch}.")))
> +
> +(define-public emacs-git-email-piem
> +  (package
> +    (inherit emacs-git-email)
> +    (name "emacs-git-email-piem")
> +    (propagated-inputs (list emacs-git-email emacs-piem))
> +    (arguments
> +     (list #:include #~(list "git-email-piem.el")))
> +    (synopsis "Piem integration for git-email")
> +    (description
> +     "This library sets some variables for git-email to make it work
> +better with @code{emacs-piem}.")))
> +
>  (define-public emacs-erc-hl-nicks
>    (package
>      (name "emacs-erc-hl-nicks")
> -- 
> 2.38.0

Hey, Niklas Eklund and zimoun

Since you are the original contributors to =emacs-git-email= and
=emacs-piem=. Here are some changes you may need to be aware of.

I've split the package into multiple separate packages. So the user wants
=git-email-notmuch= or =piem-notmuch= don't have to populate there
home environment with =mu= and other dependencies.

Can you kindly review the changes, and give your thoughts on them?

Thanks

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]

^ permalink raw reply	[relevance 9%]

* [bug#58730] [PATCH] Split emacs-piem and emacs-git-email
@ 2022-10-23  5:49 55% Declan Tsien
  2022-10-25  1:15  9% ` Declan Tsien
  2022-11-02 18:13 11% ` zimoun
  0 siblings, 2 replies; 37+ results
From: Declan Tsien @ 2022-10-23  5:49 UTC (permalink / raw)
  To: 58730


[-- Attachment #1.1: Type: text/plain, Size: 297 bytes --]


Currently, emacs-piem and emacs-git-email bundle multiple lisp files with
identical functionality but for different tastes. Split into separated
packages would avoid pulling unnecessary dependencies into user profile.

Also fix info manual for emacs-git-email and add info-manual for
emacs-piem


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-emacs-git-email-Fix-makeinfo.patch --]
[-- Type: text/x-patch, Size: 1063 bytes --]

From 6b44b4998369f01365c0ddb1b935072cfefcbe1b Mon Sep 17 00:00:00 2001
From: Declan Tsien <declantsien@riseup.net>
Date: Sun, 23 Oct 2022 11:40:07 +0800
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(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 06ec9dd904..be6d4c6ba3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -17341,7 +17341,8 @@ (define-public emacs-git-email
                (delete-file "git-email-piem.el")))
            (add-before 'install 'makeinfo
              (lambda _
-               (invoke "makeinfo" "doc/git-email.texi"))))))
+               (invoke "make" "doc/git-email.info")
+               (rename-file "doc/git-email.info" "git-email.info"))))))
       (native-inputs
        (list texinfo))
       (propagated-inputs

base-commit: 1f734a6f0a7db5b0e12091a0c869c5c4810ac80e
-- 
2.38.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-emacs-piem-Add-build-info-manual-phase.patch --]
[-- Type: text/x-patch, Size: 1352 bytes --]

From 3d6c28a0cbeed2f38d91cd31155a257578675f6d Mon Sep 17 00:00:00 2001
From: Declan Tsien <declantsien@riseup.net>
Date: Sun, 23 Oct 2022 11:42:19 +0800
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"))))))
     (inputs
      (list b4))
+    (native-inputs
+     (list texinfo))
     (propagated-inputs
      (list emacs-elfeed
            emacs-notmuch
-- 
2.38.0


[-- Attachment #1.4: 0003-gnu-emacs-piem-Split-into-multiple-separated-package.patch --]
[-- Type: text/x-patch, Size: 7563 bytes --]

From ff45839e29bad8bd4fa5d9b4868b3f68fe8d300d Mon Sep 17 00:00:00 2001
From: Declan Tsien <declantsien@riseup.net>
Date: Sun, 23 Oct 2022 11:46:37 +0800
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.
---
 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"))))
     (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"))))))
+    (native-inputs (list texinfo))
+    (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
 working with public-inbox archives.  As much of the hard work here is already
 done by other Emacs libraries—things like mail clients, news readers, Git
 interfaces, and even web browsers—piem is mostly about bridging some of these
 parts for convenience.")
     (license license:gpl3+)))
 
+(define-public emacs-piem-b4
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-b4")
+    (inputs (list b4))
+    (propagated-inputs (list emacs-piem))
+    (arguments
+     (list #:include #~(list "piem-b4.el")
+           #: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"))))))))
+    (synopsis "Emacs interface to the b4 tool")
+    (description
+     "This library provides a @code{emacs-transient} interface to @code{b4}.  It is
+documented in the piem manual.")))
+
+(define-public emacs-piem-elfeed
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-elfeed")
+    (propagated-inputs (list emacs-piem emacs-elfeed))
+    (arguments
+     (list #:include #~(list "piem-elfeed.el")))
+    (synopsis "Elfeed integration for piem")
+    (description
+     "This library provides @code{emacs-elfeed} integration for @code{piem}.")))
+
+(define-public emacs-piem-eww
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-eww")
+    (propagated-inputs (list emacs-piem))
+    (arguments
+     (list #:include #~(list "piem-eww.el")))
+    (synopsis "EWW integration for piem")
+    (description "This library provides EWW integration for @code{piem}.")))
+
+(define-public emacs-piem-gnus
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-gnus")
+    (propagated-inputs (list emacs-piem))
+    (arguments
+     (list #:include #~(list "piem-gnus.el")))
+    (synopsis "Gnus integration for piem")
+    (description "This library provides Gnus integration for @code{piem}.")))
+
+(define-public emacs-piem-notmuch
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-notmuch")
+    (propagated-inputs (list emacs-piem emacs-notmuch))
+    (arguments
+     (list #:include #~(list "piem-notmuch.el")))
+    (synopsis "Notmuch integration for piem")
+    (description
+     "This library provides @code{emacs-notmuch} integration for @code{piem}.")))
+
+(define-public emacs-piem-rmail
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-rmail")
+    (propagated-inputs (list emacs-piem))
+    (arguments
+     (list #:include #~(list "piem-rmail.el")))
+    (synopsis "Rmail integration for piem")
+    (description "This library provides Rmail integration for @code{piem}.")))
+
+(define-public emacs-piem-lei
+  (package
+    (inherit emacs-piem)
+    (name "emacs-piem-lei")
+    (propagated-inputs (list emacs-piem))
+    (arguments
+     (list #:include #~(list "piem-lei.el")))
+    (synopsis "Lei integration for piem")
+    (description "This library provides lei integration for @code{piem}.")))
+
 (define-public emacs-ert-expectations
   (package
     (name "emacs-ert-expectations")
-- 
2.38.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.5: 0004-gnu-emacs-git-email-Split-into-multiple-separated-pa.patch --]
[-- Type: text/x-patch, Size: 6632 bytes --]

From d0c79a8c055c3818c1ea97e4cf0aa373303025e5 Mon Sep 17 00:00:00 2001
From: Declan Tsien <declantsien@riseup.net>
Date: Sun, 23 Oct 2022 11:48:13 +0800
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"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:phases
-         (modify-phases %standard-phases
-           ;; piem is not yet packaged in Guix.
-           (add-after 'unpack 'remove-piem
-             (lambda _
-               (delete-file "git-email-piem.el")))
-           (add-before 'install 'makeinfo
-             (lambda _
-               (invoke "make" "doc/git-email.info")
-               (rename-file "doc/git-email.info" "git-email.info"))))))
-      (native-inputs
-       (list texinfo))
-      (propagated-inputs
-       (list mu emacs-magit emacs-notmuch))
+       (list #:exclude #~(cons* "^git-email-gnus.el"
+                                "^git-email-magit.el"
+                                "^git-email-mu4e.el"
+                                "^git-email-notmuch.el"
+                                "^git-email-piem.el"
+                                %default-exclude)
+             #:phases #~(modify-phases %standard-phases
+                          (add-before 'install 'makeinfo
+                            (lambda _
+                              (invoke "make" "doc/git-email.info")
+                              (rename-file "doc/git-email.info"
+                                           "git-email.info"))))))
+      (native-inputs (list texinfo))
       (license license:gpl3+)
       (home-page "https://sr.ht/~yoctocell/git-email")
       (synopsis "Format and send Git patches in Emacs")
       (description "This package provides utilities for formatting and
 sending Git patches via Email, without leaving Emacs."))))
 
+(define-public emacs-git-email-gnus
+  (package
+    (inherit emacs-git-email)
+    (name "emacs-git-email-gnus")
+    (propagated-inputs (list emacs-git-email))
+    (arguments
+     (list #:include #~(list "git-email-gnus.el")))
+    (synopsis "Gnus integration for git-email")
+    (description
+     "This library sets some variables for git-email to make it work
+better with Gnus.")))
+
+(define-public emacs-git-email-magit
+  (package
+    (inherit emacs-git-email)
+    (name "emacs-git-email-magit")
+    (propagated-inputs (list emacs-git-email emacs-magit))
+    (arguments
+     (list #:include #~(list "git-email-magit.el")))
+    (synopsis "Magit integration for git-email")
+    (description
+     "This library offers transient commands in the magit-status buffer
+for interacting with git-email.")))
+
+(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")))))
+    (arguments
+     (list #:include #~(list "git-email-mu4e.el")
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'apply-patch
+                          (lambda* (#:key inputs #:allow-other-keys)
+                            (let ((patch (assoc-ref inputs
+                                          "emacs-git-email-mu4e-patch")))
+                              (invoke "patch" "-p1" "--batch" "-i" patch)))))))
+    (synopsis "Mu4e integration for git-email")
+    (description
+     "This library sets some variables for git-email to make it work
+better with @code{mu}.")))
+
+(define-public emacs-git-email-notmuch
+  (package
+    (inherit emacs-git-email)
+    (name "emacs-git-email-notmuch")
+    (propagated-inputs (list emacs-git-email emacs-notmuch))
+    (arguments
+     (list #:include #~(list "git-email-notmuch.el")))
+    (synopsis "Notmuch integration for git-email")
+    (description
+     "This library sets some variables for git-email to make it work
+better with @code{emacs-notmuch}.")))
+
+(define-public emacs-git-email-piem
+  (package
+    (inherit emacs-git-email)
+    (name "emacs-git-email-piem")
+    (propagated-inputs (list emacs-git-email emacs-piem))
+    (arguments
+     (list #:include #~(list "git-email-piem.el")))
+    (synopsis "Piem integration for git-email")
+    (description
+     "This library sets some variables for git-email to make it work
+better with @code{emacs-piem}.")))
+
 (define-public emacs-erc-hl-nicks
   (package
     (name "emacs-erc-hl-nicks")
-- 
2.38.0


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 690 bytes --]

^ permalink raw reply related	[relevance 55%]

* debbugs-guix.el helper function
  @ 2022-10-06  9:11  8%       ` zimoun
  0 siblings, 0 replies; 37+ results
From: zimoun @ 2022-10-06  9:11 UTC (permalink / raw)
  To: jbranso, Ludovic Courtès; +Cc: guix-devel

Hi,

On mer., 05 oct. 2022 at 22:49, jbranso@dismail.de wrote:
> October 1, 2022 1:08 PM, "Ludovic Courtès" <ludo@gnu.org> wrote:

>> --8<---------------cut here---------------start------------->8---
>> (defun ludo-jump-to-guix-qa-url ()
>> "Jump to the QA page of the Debbugs issue at point."
>> (interactive)
>> (let ((url (concat "https://qa.guix.gnu.org/issue"
>> (number-to-string (debbugs-gnu-current-id)))))
>> (browse-url url)))
>> 
>> (define-key debbugs-gnu-mode-map (kbd "C-M-j") 'ludo-jump-to-guix-qa-url)
>> --8<---------------cut here---------------end--------------->8---
>
> Would it make sense to add something like this to debbugs?

In the same spirit, I have:

--8<---------------cut here---------------start------------->8---
(defmacro defun-bug->url (name url &optional docstring)
  "Macro returning yankage #bug URL.

The `interactive' function that the macro returns is then referred by NAME.

Please provide a DOCSTRING."
  (let ((fun (intern (symbol-name name)))
        (doc (concat docstring "\n\n"
                           (format "Yankable result: `%sNUMBER'." url))))
    `(defun ,fun (number)
       ,doc
        (interactive
         (list
          (progn
            (when (not (boundp 'debbugs-gnu-bug-number))
              (setq debbugs-gnu-bug-number -2))
            (read-string
             (format "Bug number (%s): " debbugs-gnu-bug-number)
             nil nil debbugs-gnu-bug-number))))
      (let ((str (format "%s%s" ,url number)))
        (kill-new str)
        (when current-prefix-arg
          (browse-url str))
        (message (format "%s killed." str))))))

(defun-bug->url my/guix-issues "http://issues.guix.gnu.org/issue/"
          "Add URL of bug NUMBER to `kill-ring'.")
(defun-bug->url my/guix-debbugs "https://debbugs.gnu.org/cgi/bugreport.cgi?bug="
          "Add (old) URL of bug NUMBER to `kill-ring'.")

(defun my/guix-data (package)
  "Add URL of PACKAGE to `kill-ring'.

Yankable result:
`https://data.guix.gnu.org/repository/1/branch/master/package/PACKAGE/output-history'.

With `universal-argument', load URL using `browse-url'."
  (interactive "sPackage: ")
  (let ((url
         (format
          "https://data.guix.gnu.org/repository/1/branch/master/package/%s/output-history" package)))
    (kill-new url)
    (when current-prefix-arg
      (browse-url url))
    (message (format "%s killed." url))))
--8<---------------cut here---------------end--------------->8---


And because I find Message-ID and public-inbox nice interface, I also
have:

--8<---------------cut here---------------start------------->8---
  (defun my/public-inbox-insert (number)
    "TODO"
    (interactive "nBug number: ")
    (let* ((meta  (car (debbugs-get-status number)))
           (inbox (car (debbugs-get-attribute meta 'package))) ;Probably inaccurate for the general case
           (raw   (debbugs-get-attribute meta 'msgid))
           (msgid (replace-regexp-in-string "<\\|>" "" raw)))
      (message "Message-ID: %s from %s." msgid inbox)
      (my/piem-inject-thread-into-maildir msgid inbox)
      (notmuch-command-to-string "new" "--no-hooks")))
--8<---------------cut here---------------end--------------->8---

which can be adapted (by removing the part about emacs-piem, great
package BTW! and the part about emacs-notmuch).

Well, I have in my TODO list to implement the extraction of Message-ID
from Emacs-Debbugs.  But it is not about debbugs.el and instead about
Gnus.  It could be very helpful to have a way to stash to the kill-ring
the Message-ID of one specific message in the thread; and not only the
Message-ID of the first message in that thread.


Cheers,
simon






^ permalink raw reply	[relevance 8%]

* [bug#57980] [PATCH] gnu: Add emacs-piem.
@ 2022-09-21 14:09 20% zimoun
  0 siblings, 0 replies; 37+ results
From: zimoun @ 2022-09-21 14:09 UTC (permalink / raw)
  To: 57980; +Cc: zimoun, Kyle Meyer

* gnu/packages/emacs-xyz.scm (emacs-piem): New variable.
---
 gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 32e4c33f16..03ad569300 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -7011,6 +7011,34 @@ (define-public emacs-debbugs
 Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
     (license license:gpl3+)))
 
+(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.git")
+             (commit (string-append "v" version))))
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     (list b4
+           emacs-elfeed
+           emacs-notmuch
+           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
+working with public-inbox archives. As much of the hard work here is already
+done by other Emacs libraries—things like mail clients, news readers, Git
+interfaces, and even web browsers—piem is mostly about bridging some of these
+parts for convenience.")
+    (license license:gpl3)))
+
 (define-public emacs-ert-expectations
   (package
     (name "emacs-ert-expectations")

base-commit: 6885f22375b093c08d69bbed6aa42d2e8c11a168
-- 
2.36.0





^ permalink raw reply related	[relevance 20%]

* Re: Mumi, public-inbox and tools
  @ 2022-05-08 20:59  8%       ` zimoun
  0 siblings, 0 replies; 37+ results
From: zimoun @ 2022-05-08 20:59 UTC (permalink / raw)
  To: Arun Isaac, Ludovic Courtès; +Cc: Guix Devel, Kyle Meyer, Ricardo Wurmus

Hi Arun,

On Sun, 08 May 2022 at 11:43, Arun Isaac <arunisaac@systemreboot.net> wrote:
> Hi Ludo,
>
>> The attached super-early-draft ‘guix review’ script fetches mboxes from
>> mumi—that part is OK.
>
> I like the idea! But, could we put this in mumi instead of guix? That
> way, other packages that use debbugs/mumi (skribilo comes to mind), can
> benefit from it as well. Something like

Personally, I think such feature is a perfect candidate to Guix
extensions.


> Maybe, we should read some config file, say mumi.scm, from the top-level
> directory of the current git repo to determine settings (think package
> name, debbugs/mumi web URI, post-processing function to provide feedback
> about the patch, etc.) specific to that repo.

I agree that it deserves a config file.  For instance, piem [1] uses
something like,

        ("guix"
         :url "https://yhetil.org/guix"
         :address "guix-patches@gnu.org"
         :listid "guix-patches@gnu.org"
         :coderepo "~/src/guix/")

1:
<https://docs.kyleam.com/piem/Registering-inboxes.html#Registering-inboxes>


>> What’s more difficult is the rest: determining what’s a patch and what’s
>> not (I gather this is something that b4 and Patchwork handle nicely),
>> getting the latest patch series, things like that.
>
> At some point, we should patch mumi to determine these. Determining the
> latest patch series shouldn't be hard if we use the Date
> header. guile-email will let us read any email header.

Well, I think the general case is not easy.  For an example of a complex
thread and patch submission, consider this one:

    <https://yhetil.org/guix/cu7pnfaar36.fsf@systemreboot.net/#r>

I have not tried to use B4 [2] on that one though.  Somehow, I am not
convinced that the Date header would be enough to identify the last
patches.  For instance, the first submission is a patch attached, then
the others are inline, then comments are interleaved, etc.

2: <https://git.kernel.org/pub/scm/utils/b4/b4.git/about/>


IMHO, this determination requires some work. :-)

That’s said, we could also agree that “mumi review” would only work when
a set of rules (inline patches, base-commit, etc.) are applied.  And for
the other cases, the current manual patches application would be used.

Somehow, constraint a set of rule would ease the automation and it
appears to me an acceptable trade-off: it helps such automation and the
work by reviewer and in addition we can still deal with the submissions
not respecting such rules by reusing the “laborious” current method.


Cheers,
simon


^ permalink raw reply	[relevance 8%]

* Re: Mumi, public-inbox and tools
    @ 2022-05-08 20:29 11%     ` zimoun
  1 sibling, 0 replies; 37+ results
From: zimoun @ 2022-05-08 20:29 UTC (permalink / raw)
  To: Ludovic Courtès, Arun Isaac; +Cc: Guix Devel, Kyle Meyer, Ricardo Wurmus

Hi,

Really cool!

On Sun, 08 May 2022 at 00:52, Ludovic Courtès <ludo@gnu.org> wrote:

> I think we could have, as a first step, a command that allows us to run:
>
>   ./pre-inst-env guix review 54874
>
> and that fetches patches, applies them, and ideally reports on the
> difference and what needs to be built.

Currently, using the hhtps://yhetil.org/guix public-inbox instance,
coupled to the Emacs package ’piem’, I already have that. :-)

Basically, I use Emacs code from emacs-debbugs to query, then the Emacs
package ’piem’ [1] coupled [2] to the Python tool ’b4’ [3] and done.

Well, maybe using Scheme code for query Debbugs via Mumi, then instead
of,

> (define (apply-patch patch)
>   (invoke "git" "am" "-s" patch))

’invoke’ the B4 tool.  Other said, start to move all the hard work of
extracting the patches and application to an external tool and just glue
with Scheme (instead of Emacs lisp as ’piem’, for instance).

Then this Python B4 could be reimplemented (or adapted) using Scheme.

1: <https://docs.kyleam.com/piem/>
2: <https://docs.kyleam.com/piem/Applying-patches.html>
3: <https://git.kernel.org/pub/scm/utils/b4/b4.git>


Cheers,
simon


^ permalink raw reply	[relevance 11%]

* Re: public-inbox v1.7 update (was: Updating mumi on berlin)
  @ 2022-05-08  4:41 10%                   ` Kyle Meyer
  0 siblings, 0 replies; 37+ results
From: Kyle Meyer @ 2022-05-08  4:41 UTC (permalink / raw)
  To: zimoun; +Cc: Thiago Jung Bauermann, Arun Isaac, Maxim Cournoyer, guix-devel

zimoun writes:

> [...]
> Well, using the plain Git repo, it is easy to:
>
>  1. get messages from a list starting at a date;
>     using ’git clone --mirror --shallow-since=’
>
>  2. get all the new messages;
>     (using ’git pull)
>[...]
> IIUC, ’lei’ avoid this manual dance with the Git repo and do it for me.

It depends.  Yes, you can use it in a way that avoids needing to clone
down repos and index them; in that case you're relying on the remote
instance.

Or you can clone and index the repos yourself and point lei at them.
You can do this with `lei add-external --mirror', but you still have to
update the repos yourself (see example at
<https://yhetil.org/emacs-devel/87wnh22w7o.fsf@kyleam.com>).

If you go the clone/index route, however, I'd recommend using grokmirror
to fetch Git repositories from public-inbox instances.  (In
https://issues.guix.gnu.org/43637#1 <878scww903.fsf@kyleam.com/>, I
provided an example config that mirrors Guix-related inboxes at
yhetil.org.)

> Well, what I miss is the lei “saved search” query for all messages.
> Other said,
>
>     lei q d:<starting-date>..
>     lei up
>
> fits #1.  Then, how do I achieve #2?

For remote externals, `lei up' will pull in updates from the remote.
For local externals (things you've cloned down and indexed yourself),
you need to do something to pull in those update (e.g., a grok-pull or a
`git fetch').

> The workflow using “saved search” is not clear for me.  Before investing
> some time, especially when ’lei’ is not packaged in Guix, I would like
> to be sure about how to run «my workflow».

I don't regularly used saved searches myself, so I don't know that I can
be much help, even if I had a clear picture of what you wanted in your
workflow.

Fwiw my setup is:

 1) use nntp via Gnus to skim new messages on mailing lists

 2) if I want to participate in a thread, use
    piem-inject-thread-into-maildir to get the messages into my local
    mail store and my Notmuch index.

 3) If I want to search for messages, I use lei-q via piem-lei-q.

    Using grokmirror and a configured pull.post_update_hook, I fetch
    updates for and index a subset yhetil.org inboxes that I want to
    have available locally for searching.

    (I use piem-inject-thread-into-maildir here too.)

I'd eventually like to be able to follow list with lei via piem's
interface, but things aren't there yet.


^ permalink raw reply	[relevance 10%]

* public-inbox v1.7 update (was: Updating mumi on berlin)
  2022-05-05  8:37 11%             ` zimoun
@ 2022-05-06  2:24  7%               ` Kyle Meyer
    0 siblings, 1 reply; 37+ results
From: Kyle Meyer @ 2022-05-06  2:24 UTC (permalink / raw)
  To: zimoun; +Cc: Thiago Jung Bauermann, Arun Isaac, Maxim Cournoyer, guix-devel

zimoun writes:

> …why not just disable the specific test or if not possible, turn off the
> test suite ’#:tests? #f’.  Whereas it is not the best, it would allow to
> have ’lei’ while waiting the fix at the Guix build environment level.
>
> WDYT?

public-inbox has a good test suite, so it'd be nice to keep most of it
wired up.  No objections from me about disabling the lei tests (or a
subset of them), though I haven't looked into it, so perhaps it's tricky
to do cleanly.

>> $ guix shell -p path/to/profile -- lei up --all
>
> How do you query all new ones for a specific list?

Rather than pass --all, you can call `lei up OUTPUT', where OUTPUT is a
particular saved search generated by `lei q', so you could have a saved
search that's specific for a list or set of lists:

   $ lei ls-external | grep guix
   /home/kyle/inboxes/guix-bugs boost=0
   /home/kyle/inboxes/guix-devel boost=0
   /home/kyle/inboxes/guix-patches boost=0
   /home/kyle/inboxes/guix-science boost=0
   /home/kyle/inboxes/guix-user boost=0

   $ lei q -I 'guix-*' -o /tmp/zimoun-on-guix d:20.days.ago.. f:zimoun
   $ lei up /tmp/zimoun-on-guix

See https://public-inbox.org/lei-up.txt and
https://public-inbox.org/lei-q.txt

> Kyle, the function ’piem-inject-thread-into-maildir’ [2] is really
> handy.  But I would like this signature instead:
>
> --8<---------------cut here---------------start------------->8---
>   (defun piem-inject-thread-into-maildir (mid &optional inbox message-only)
> --8<---------------cut here---------------end--------------->8---
> [...]

Without thinking too much about it, that sounds fine to me.  I'll plan
to send a patch to piem's inbox with you cc'd within the next week or
two.


^ permalink raw reply	[relevance 7%]

* Re: Updating mumi on berlin
  @ 2022-05-05  8:37 11%             ` zimoun
  2022-05-06  2:24  7%               ` public-inbox v1.7 update (was: Updating mumi on berlin) Kyle Meyer
  0 siblings, 1 reply; 37+ results
From: zimoun @ 2022-05-05  8:37 UTC (permalink / raw)
  To: Kyle Meyer, Thiago Jung Bauermann; +Cc: Arun Isaac, Maxim Cournoyer, guix-devel

Hi Kyle and Thiago,

Reading your both answers…

On Wed, 04 May 2022 at 21:49, Kyle Meyer <kyle@kyleam.com> wrote:

> I've tried sit down and update Guix's public-inbox definition a few
> times, but there are various test failures that I didn't figure out how
> to handle in the time I had.  (IIRC, I think they're related to the lei
> tests expecting to be able to kill the lei-daemon process, which isn't
> the case in Guix's build environment.)

On Thu, 05 May 2022 at 00:13, Thiago Jung Bauermann <bauermann@kolabnow.com> wrote:

> Yes, that's what I'm seeing as well. The lei-daemon process is actually
> killed, but because of bug 30948 it is left in a zombie state and so the
> testsuite thinks that it didn't go away.
>
> The testsuite checks whether lei-daemon is gone by doing a
> “kill(<lei-daemon pid>, 0)”, which unfortunately succeeds for zombie processes.
>
> I've been meaning to add child reaping to the Guix builder process, but
> I'm moving very slowly due to time constraints and my unfamiliarity with
> that part of Guix...

…why not just disable the specific test or if not possible, turn off the
test suite ’#:tests? #f’.  Whereas it is not the best, it would allow to
have ’lei’ while waiting the fix at the Guix build environment level.

WDYT?


> $ guix shell -p path/to/profile -- lei up --all

How do you query all new ones for a specific list?


Thiago, do you use ’piem’ [1]?

Kyle, the function ’piem-inject-thread-into-maildir’ [2] is really
handy.  But I would like this signature instead:

--8<---------------cut here---------------start------------->8---
  (defun piem-inject-thread-into-maildir (mid &optional inbox message-only)
--8<---------------cut here---------------end--------------->8---

i.e., passing an ’inbox’ argument and this argument would be also passed
to ’piem-inbox-maildir-directory’ and ’piem-mid-url’,

--8<---------------cut here---------------start------------->8---
  (let ((maildir-directory (piem-inbox-maildir-directory inbox)))
[...]
    (let ((url (concat (piem-mid-url mid inbox)
--8<---------------cut here---------------end--------------->8---


Then using ’piem-inboxes’ accordingly, I have,

--8<---------------cut here---------------start------------->8---
  (defun my/public-inbox-insert (number)
    (interactive "nBug number: ")
    (let* ((meta  (car (debbugs-get-status number)))
           (inbox (car (debbugs-get-attribute meta 'package))) ;Probably inaccurate for the general case
           (raw   (debbugs-get-attribute meta 'msgid))
           (msgid (replace-regexp-in-string "<\\|>" "" raw)))
      (message "Message-ID: %s from %s." msgid inbox)
      (my/piem-inject-thread-into-maildir msgid inbox))))
--8<---------------cut here---------------end--------------->8---

For sure, it could be improved but it fits my needs.

When I do old bug squashing, I use ’M-x debbugs-gnu’ and pick some.
Sometimes, when the thread is long and complex [3], I just drop it
because it requires from me more work to deal with just the reading;
other said, I inject the thread to my local inbox which allows me to
read it offline, but more importantly, read it (or navigate) with my
favorite tool not the Gnus-like interface.


1: <https://git.kyleam.com/piem/about/>
2: <https://git.kyleam.com/piem/tree/piem.el#n759>
3: <https://yhetil.org/guix-bugs/87wpg7ffbm.fsf@gnu.org/#r>


Cheers,
simon


^ permalink raw reply	[relevance 11%]

* Re: Mumi, public-inbox and tools
  @ 2022-05-04  8:53  6%   ` zimoun
    1 sibling, 0 replies; 37+ results
From: zimoun @ 2022-05-04  8:53 UTC (permalink / raw)
  To: Arun Isaac, Guix Devel; +Cc: Kyle Meyer, Ricardo Wurmus

Hi Arun,

On Tue, 03 May 2022 at 23:20, Arun Isaac <arunisaac@systemreboot.net> wrote:

>> of public-inbox via yhetil.org/guix and the piem glue?
>
> I haven't thought carefully about public-inbox integration. But, if we
> can do everything in mumi, do we need public-inbox at all?

Well, some advantages I see after using a bit the public-inbox instance
<https://yhetil.org/> mirroring some lists.

1. The web interface,

  a) works well with “poor“ web browser as EWW
     (whereas I prefer Mumi with full featured browser ;-))
  b) show the complete thread
  c) powerful and quick search

2. The local mirror,

  a) ‘git pull’, so do not pollute my email inbox   
  b) I pull and so read whenever I want, not when messages are
    delivered
  c) I index and read using whatever fits my workflow
  d) the public-inbox server provides NNTP for Gnus folks

3. Bridge the present with the past

  assume I start to follow guix-devel on Wed, 30 Mar 2022

  and I locally read with my favorite Email reader this message:
  <https://yhetil.org/guix/877d8bwz1l.fsf@gnu.org>

  I am interested and I would like to know more:
  a) I can read using my web browser
  b) I can download the complete thread and read offline
     (it requires some glue code, as ’lei’ or ’piem’; IIUC)

Using the “official” interface, it is really boring.  For instance, I
read this message
<https://lists.gnu.org/archive/html/help-guix/2022-03/msg00039.html>,
then one needs some motivation to find the message of this reply; since
it had not been sent the same month.


Mumi is about bugs and another interface for Debbugs.  Therefore, we
cannot do everything with Mumi. ;-)

Maybe, what could help, IMHO, would to have the various Guix mailing
lists as public-inboxes under, say https://lists.guix.gnu.org and Mumi
could use this instance, eventually, or bridge.  The aim would be a
flexible interface but still uniform.

And I do not speak about other tools from the ecosystem as B4,

    <https://git.kernel.org/pub/scm/utils/b4/b4.git/tree/README.rst>


Cheers,
simon


^ permalink raw reply	[relevance 6%]

* Mumi, public-inbox and tools
@ 2022-05-02 18:10 11% zimoun
    0 siblings, 1 reply; 37+ results
From: zimoun @ 2022-05-02 18:10 UTC (permalink / raw)
  To: Guix Devel; +Cc: Ricardo Wurmus, Kyle Meyer

Hi,

Recently, we discussed [1] in «public-inbox/elfeed -> Maildir bridge
(was: Incentives for review)» some tips to ease the workflow dealing
with the various lists and their volume.

Kyle wrote some Emacs glue around public-inbox, named piem [2].

One cool feature exposed by Kyle in [1] is being able to inject the
complete thread to a Maildir.

For instead, let configure piem with just:

--8<---------------cut here---------------start------------->8---
(setq
 piem-inboxes '(("guix-bugs"
                  :url "https://yhetil.org/guix-bugs/"
                  :maildir "/tmp/mail/guix-bugs"
                  )
                ("guix-patches"
                  :url "https://yhetil.org/guix-patches/"
                  :maildir "/tmp/mail/guix-patches"
                  )))
(add-hook 'eww-mode-hook #'piem-eww-mode)                  
--8<---------------cut here---------------end--------------->8---

then, let create the maildirs:

    mkdir -p /tmp/mail/guix-{bugs,patches}/{new,cur,tmp}

Last, just search for a number id:

    M-x eww
    https://yhetil.org/guix-patches/?q=a:39258

then click to one, and

    M-x piem-inject-thread-into-maildir

paf!  The 126 messages of the patch submission #39258 are now in my
local maildir and I can read them using my favorite mail reader; say
Emacs-notmuch. ;-)

It completely replace my usage of the Debian scripts ’bts’ and
’mailscripts’.  Neat!  Because it was Perl… :-)


The issue is that it is going via a public-inbox query [4]:

    a:       match within the To, Cc, and From headers

where it could be nice to directly use Mumi with:

    M-x eww
    http://issues.guix.gnu.org/issue/39258

However, then ’piem-inject-thread-into-maildir’ cannot find the
Message-ID even if many are visible:

--8<---------------cut here---------------start------------->8---
Arun Isaac wrote on 23 Jan 2020 20:51
SVG Image
Recipients:(address . guix-patches@gnu.org)
Message-ID:cu7pnfaar36.fsf@systemreboot.net
--8<---------------cut here---------------end--------------->8---


Well, it could be nice if I could hook and directly import to my local
maildir the thread.


WDYT?  What is missing to bridge the current features of Mumi via
issues.guix.gnu.org, of public-inbox via yhetil.org/guix and the piem
glue?


It could be nice to:

 1. run “guix issues 12345” and get back something ready (as mbox or
 maildir) to go to a mail reader, or pipe to Git maybe.

 2. integrate such to Emacs-Guix.
 

1: <https://yhetil.org/guix-devel/87a6izsoio.fsf@kyleam.com/>
2: <https://git.kyleam.com/piem/>
3: <https://docs.kyleam.com/piem/Injecting-messages-into-a-Maildir-directory.html>
4: <https://yhetil.org/guix-bugs/_/text/help/>


Cheers,
simon


^ permalink raw reply	[relevance 11%]

* bug#55165: [PATCH]: Add emacs-git-email.
  2022-04-28 15:30 12% [bug#55165] [PATCH]: Add emacs-git-email Niklas Eklund
@ 2022-05-02 12:48  8% ` Ludovic Courtès
  0 siblings, 0 replies; 37+ results
From: Ludovic Courtès @ 2022-05-02 12:48 UTC (permalink / raw)
  To: Niklas Eklund; +Cc: 55165-done

[-- Attachment #1: Type: text/plain, Size: 408 bytes --]

Hi,

Niklas Eklund <niklas.eklund@posteo.net> skribis:

>>From c38510bb98aae349878d63e609b1777a307221e3 Mon Sep 17 00:00:00 2001
> From: Niklas Eklund <niklas.eklund@posteo.net>
> Date: Thu, 28 Apr 2022 17:28:16 +0200
> Subject: [PATCH] gnu: Add emacs-git-email.
>
> * gnu/packages/emacs-xyz.scm (emacs-git-email): New variable.

Applied with the cosmetic changes below.

Thanks!

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 842 bytes --]

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 5454c9e416..a928ac72f1 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -15772,14 +15772,11 @@ (define-public emacs-git-email
                (delete-file "git-email-piem.el")))
            (add-before 'install 'makeinfo
              (lambda _
-               (invoke "makeinfo" "doc/git-email.texi")))
-           )))
+               (invoke "makeinfo" "doc/git-email.texi"))))))
       (native-inputs
-       `(("texinfo" ,texinfo)))
+       (list texinfo))
       (propagated-inputs
-       `(,mu
-         ,emacs-magit
-         ,emacs-notmuch))
+       (list mu emacs-magit emacs-notmuch))
       (license license:gpl3+)
       (home-page "https://sr.ht/~yoctocell/git-email")
       (synopsis "Format and send Git patches in Emacs")

^ permalink raw reply related	[relevance 8%]

* [bug#55165] [PATCH]: Add emacs-git-email.
@ 2022-04-28 15:30 12% Niklas Eklund
  2022-05-02 12:48  8% ` bug#55165: " Ludovic Courtès
  0 siblings, 1 reply; 37+ results
From: Niklas Eklund @ 2022-04-28 15:30 UTC (permalink / raw)
  To: 55165

[-- Attachment #1: Type: text/plain, Size: 78 bytes --]

Hello,

here is a patch containing the git-email package for Emacs.

/Niklas


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch --]
[-- Type: text/x-patch, Size: 2246 bytes --]

From c38510bb98aae349878d63e609b1777a307221e3 Mon Sep 17 00:00:00 2001
From: Niklas Eklund <niklas.eklund@posteo.net>
Date: Thu, 28 Apr 2022 17:28:16 +0200
Subject: [PATCH] gnu: Add emacs-git-email.

* gnu/packages/emacs-xyz.scm (emacs-git-email): New variable.
---
 gnu/packages/emacs-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index db1663c677..5454c9e416 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -15745,6 +15745,47 @@ (define-public emacs-gitpatch
 @code{ibuffer} buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-git-email
+  ;; Use latest commit since latest tagged release is missing important
+  ;; changes.
+  (let ((commit "b5ebade3a48dc0ce0c85699f25800808233c73be")
+        (revision "0"))
+    (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)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1lk1yds7idgawnair8l3s72rgjmh80qmy4kl5wrnqvpmjrmdgvnx"))))
+      (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           ;; piem is not yet packaged in Guix.
+           (add-after 'unpack 'remove-piem
+             (lambda _
+               (delete-file "git-email-piem.el")))
+           (add-before 'install 'makeinfo
+             (lambda _
+               (invoke "makeinfo" "doc/git-email.texi")))
+           )))
+      (native-inputs
+       `(("texinfo" ,texinfo)))
+      (propagated-inputs
+       `(,mu
+         ,emacs-magit
+         ,emacs-notmuch))
+      (license license:gpl3+)
+      (home-page "https://sr.ht/~yoctocell/git-email")
+      (synopsis "Format and send Git patches in Emacs")
+      (description "This package provides utilities for formatting and
+sending Git patches via Email, without leaving Emacs."))))
+
 (define-public emacs-erc-hl-nicks
   (package
     (name "emacs-erc-hl-nicks")
-- 
2.34.0


^ permalink raw reply related	[relevance 12%]

* public-inbox/elfeed -> Maildir bridge (was: Incentives for review)
  @ 2021-10-23 16:18 11%           ` Kyle Meyer
  0 siblings, 0 replies; 37+ results
From: Kyle Meyer @ 2021-10-23 16:18 UTC (permalink / raw)
  To: zimoun; +Cc: guix-devel

zimoun writes:

> On Fri, 22 Oct 2021 at 21:43, Kyle Meyer <kyle@kyleam.com> wrote:
[...]
>>   https://yhetil.org/guix-patches/?q=dfn:docker&x=A
>
> Oh, that’s really cool!
>
> Do you know a bridge from Elfeed to Message-mode?
>
> I mean, using the feed you are referring, Alice gets:
>
> --8<---------------cut here---------------start------------->8---
> Title: [bug#50227] [PATCH] build-system/go: Trim store references using the native compiler option.
> Author: Marius Bakke <marius@gnu.org>
> Date: Fri, 27 Aug 2021 18:45:37 CEST
> Feed: dfn:docker - search results
> Link: https://yhetil.org/guix-patches/20210827164423.17109-1-marius@gnu.org/
>
> * guix/build/go-build-system.scm (build): Add '-trimpath' to the 'go install'
> invocation.
> […]
> --8<---------------cut here---------------end--------------->8---
>
> This is really nice for filtering and only reading what is of interest
> (for Alice).
>
> However, it is not handy for commenting.  It could be cool to have a way
> to turn what I showed (above) into a reply message.  Does a bridge exist
> somewhere?

Good question.  It does :)

With the link in the Elfeed buffer, we can grab the mbox for a message
or entire thread from a public-inbox instance.  So, for those that use a
Maildir locally, the steps are to

  1) download the message (or thread)
  2) convert the mbox into Maildir messages
  3) visit the message in your regular mail client
  4) proceed as usual

piem can take care of 1 and 2 (as well as 3, with some user
configuration) via its piem-inject-thread-into-maildir command:

  https://docs.kyleam.com/piem/Injecting-messages-into-a-Maildir-directory.html

This command isn't specific to Elfeed buffers.  It just needs to be in a
buffer where piem knows how to grab the public-inbox link:

  https://docs.kyleam.com/piem/Enabling-integration-libraries.html

The other supported modes that are interesting in this context are EWW
and Gnus.

Elfeed -> Notmuch
=================

zimoun, I know you're a Notmuch user, so here's how you could configure
things so that calling piem-inject-thread-into-maildir from the Elfeed
buffer above throws you into a Notmuch show buffer for the message.

 * add a guix-patches entry to piem-inboxes

     (add-to-list 'piem-inboxes
                  '("guix-patches" :url "https://yhetil.org/guix-patches/"))

 * point piem to your Maildir

     (setq piem-maildir-directory "/path/to/maildir/")

   Alternatively, messages for different projects can be sent to
   different Maildir directories using the :maildir keyword in the
   piem-inboxes entry.  (This feature was added by Xinglu Chen :>)

 * enable Elfeed integration

     (piem-elfeed-mode 1)

 * tell piem to visit the message in Notmuch after injecting

     (add-hook 'piem-after-mail-injection-functions
                 (lambda (mid)
                   (require 'notmuch-lib)
                   (message "Running notmuch new")
                   (call-process notmuch-command nil nil nil "new")
                   (notmuch-show (concat "id:"  mid))))

   You actually asked about ending up in a (Notmuch) message mode buffer
   rather than a Notmuch show buffer.  Perhaps tossing a
   notmuch-show-reply in there after notmuch-show will work as expected,
   though I haven't tested it.

lei
===

This email is already too long, but I should briefly mention that Eric
Wong (public-inbox's creator) has been working on a local command-client
client for public-inbox called lei (local email interface).

To continue with the original dfn example, you could do something like
this with lei to dump those results to a Maildir and then view those in
mutt:

  $ lei q -o /tmp/mdir --mua mutt \
    -I https://yhetil.org/guix-patches dfn:docker d:4.months.ago..
  # later: update with new results and visit in mutt
  $ lei up --mua mutt /tmp/mdir

Anyway, that's just a small piece of what lei can do, and IMO it's
really impressive and exciting.  It will be a part of the next
public-inbox release, v1.7.  (How this all ends up integrating with piem
is very much up in the air.)

For a high-level picture that includes public-inbox, lei, and b4:
Konstantin Ryabitsev, b4's creator, recently talked at the Linux
Plumbers Conference:

  https://linuxplumbersconf.org/event/11/contributions/983/attachments/759/1421/Doing%20more%20with%20lore%20and%20b4.pdf

The lei part starts on page 24.  I believe there's a video out there,
but I haven't watched it and don't have a link on hand.


^ permalink raw reply	[relevance 11%]

* [bug#43946] [PATCH] doc: Add item to "Submitting Patches" section.
    2021-01-15 14:00  9%   ` zimoun
@ 2021-09-21  9:53  8%   ` zimoun
  1 sibling, 0 replies; 37+ results
From: zimoun @ 2021-09-21  9:53 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 43946

Hi Ludo,

On Fri, 15 Jan 2021 at 14:30, Ludovic Courtès <ludo@gnu.org> wrote:
> zimoun <zimon.toutoune@gmail.com> skribis:
>
>> * doc/contributing.texi (Submitting Patches): Add item about 'git-format-patch
>> --base'.
>> ---
>>  doc/contributing.texi | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/doc/contributing.texi b/doc/contributing.texi
>> index af3601442e..5ea3cb1899 100644
>> --- a/doc/contributing.texi
>> +++ b/doc/contributing.texi
>> @@ -932,6 +932,12 @@ Before submitting a patch that adds or modifies a package definition,
>>  please run through this check list:
>>  
>>  @enumerate
>> +@cindex @code{git format-patch}
>> +@cindex @code{git-format-patch}
>> +@item
>> +We recommend to use the command @code{git format-patch --base} to
>> +include the commit where your patch applies.
>
> I’m not entirely convinced TBH, in part because I know I often pile a
> couple of WIP branches on top of one another, “knowing what I’m doing”
> (actually hoping that I do), and so the base commit would be useless in
> this case.

Could you explain more?  Here [#,@], I argument:

--8<---------------cut here---------------start------------->8---
It is not because <name> does not use this information that it cannot be
a recommendation, i.e., a suggestion or advice on what seems helpful.
Other said, it is not because it is "useless in this case" that it
isuseless in other cases.

For example, this information about which known commit that patch
applies is helping for the automation of testing patches.  Well,
see [1,2] for instance.  Discussions of such tooling happened in
#44625 [3] and Emacs helper [4].

1: https://git.kernel.org/pub/scm/utils/b4/b4.git/tree/README.rst
2: https://docs.kyleam.com/piem/Using-b4-to-apply-patches.html
3: http://issues.guix.gnu.org/44625
4: https://inbox.kyleam.com/piem/20201115061518.22191-1-kyle@kyleam.com/

[..]

I still think that recommending to provide the commit on which it
isknown that the patch (or patch set) applies is a good recommendation.
Especially when the submission rate is greater than the review rate
andthe tree is moving really quickly (yeah!).

It is no extra work for the submitter and really helps for the
reviewer.  They applies at base-commit, checks, rebases and resolves
conflicts if they are.  Otherwise, the patch is useless or it needs to
be rewritten by hand (or please indicate me how to do :-)).

BTW, it helps automation tools.

Sometimes, this base-commit is useless for the reviewer workflow but
having it does not interfere.  Having an information does not mean it
must be used.  However, not having an information implies it cannot be
used. ;-)
--8<---------------cut here---------------end--------------->8---

#: <http://issues.guix.gnu.org/issue/43946#5>
@: <http://issues.guix.gnu.org/issue/43946#6>


Seeing the number of patches in the patch tracker, most of them does not
apply anymore.  It is not encouraging to review and decrease the queue
when first the reviewer has to guess onto which commit the patch
applies.


Cheers,
simon




^ permalink raw reply	[relevance 8%]

* [bug#43946] [PATCH] doc: Add item to "Submitting Patches" section.
  @ 2021-01-15 14:00  9%   ` zimoun
  2021-09-21  9:53  8%   ` zimoun
  1 sibling, 0 replies; 37+ results
From: zimoun @ 2021-01-15 14:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 43946

Hi Ludo,

On Fri, 15 Jan 2021 at 14:30, Ludovic Courtès <ludo@gnu.org> wrote:

> > +We recommend to use the command @code{git format-patch --base} to
> > +include the commit where your patch applies.
>
> I’m not entirely convinced TBH, in part because I know I often pile a
> couple of WIP branches on top of one another, “knowing what I’m doing”
> (actually hoping that I do), and so the base commit would be useless in
> this case.

I am not buying your argument. :-)
It is not because <name> does not use this information that it cannot
be a recommendation, i.e., a suggestion or advice on what seems
helpful.
Other said, it is not because it is "useless in this case" that it is
useless in other cases.

For example, this information about which known commit that patch
applies is helping for the automation of testing patches.  Well, see
[1,2] for instance.  Discussions of such tooling happened in #44625
[3] and Emacs helper [4].


1: <https://git.kernel.org/pub/scm/utils/b4/b4.git/tree/README.rst>
2: <https://docs.kyleam.com/piem/Using-b4-to-apply-patches.html>
3: <http://issues.guix.gnu.org/44625>
4: <https://inbox.kyleam.com/piem/20201115061518.22191-1-kyle@kyleam.com/>

> Closing?  :-)

As you want. :-)
But, I think "qui peut le plus peut le moins".  Even if maybe my
wording is not the good one, I still think that the "base-commit"
where the patch applies should be provided, at least suggested.

Cheers,
simon




^ permalink raw reply	[relevance 9%]

* Re: Workflow with mu4e + magit for sending patchsets to guix?
  @ 2020-11-16 23:49  8% ` zimoun
  0 siblings, 0 replies; 37+ results
From: zimoun @ 2020-11-16 23:49 UTC (permalink / raw)
  To: Christopher Lemmer Webber, help-guix; +Cc: Kyle Meyer

Hi Chris

+CC Kyle since they probably knows the status [1].

On Mon, 16 Nov 2020 at 15:28, Christopher Lemmer Webber <cwebber@dustycloud.org> wrote:

> I've been making patchset series of emails to guix-patches manually.
> I'm sure this is the wrong thing to do.  I use mu4e + magit and know
> others have a similar setup.
>
> What do you all do?

I am sending really few patches so my workflow is probably not
optimized.  What I do is from magit-status:

 1. Select the commits
 2. W c
    C-m b origin/master RET
    C-m l
    c
 3. Edit the cover letter
 4. !! send-email --to=guix-patches@gnu.org 0000-cover-letter.patch
 5. Wait and refresh my inbox
 6. !! send-email --to=12345@gnu.org 000?-*.patch

Be careful if other patches remain in your current worktree.

Note base-commit which provides the information against which commit the
series applies.  It is really helpful for applying; especially if the
series falls in the crack *or* for the “new” tool b4 and the Emacs
front-end piem [2].  See thread here [3]. :-)


AFAIK, there is no ’send-email’ support with Magit.  I have never check
the built-in vc-mode.

What I have understood is that Magit-forge should implement ’send-email’
as a backend (forge) but it has not happened yet.  Or I missed the
news. :-)

I am curious to know how others Emacsers fellows do.


Hope that helps,
simon

1: <https://github.com/magit/magit/issues/2499>
2: <https://git.kyleam.com/piem/about/>
3: <https://yhetil.org/guix-patches/20201114003906.25111-1-kyle@kyleam.com>
4: <https://github.com/magit/magit/issues/1800>


^ permalink raw reply	[relevance 8%]

* [bug#44625] [PATCH] gnu: Add b4.
  2020-11-14  5:22 11%   ` Kyle Meyer
@ 2020-11-14 13:36  7%     ` zimoun
  0 siblings, 0 replies; 37+ results
From: zimoun @ 2020-11-14 13:36 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: 44625

Hi,

Thank you for the explanations, drifting from the patch. :-)


On Sat, 14 Nov 2020 at 00:22, Kyle Meyer <kyle@kyleam.com> wrote:

>> BTW, I think that base commit should be strongly encouraged when
>> submitting patches.  See [2] :-)
>
> I very much agree (and remember https://github.com/magit/magit/issues/4028 :>)

Yeah!  And the last remaining piece if “git-send-email”. :-)


> Hmm, or reading ahead, now I'm wondering if you mean _creates_ a
> worktree for applying the patch?  In that case, no, piem doesn't do
> that.  It's not something I've considered before.

Yes, somehow.  Generally, I create a new checked out worktree with a new
branch starting at base-commit, then I apply the patches in.  Well, my
sequence looks like:

  M-C-SPC M-w <base-commmit>
  C-x b <magit-guix-master>
  % c /path/to/wk/foo RET C-y RET foo RET
  C-x b <message-with-patch>
  | git gam foo

and I am not enough annoyed (yet!) to write some Emacs helper
functions.  However, if b4+piem could do that for me, should be
awesome. :-)


All the best,
simon

PS:
After a discussion with Bastien and when I let my imagination goes far
away, it could be nice to something like:

  <https://updates.orgmode.org/>

bridging <issues.guix.gnu.org> and
<lists.gnu.org/archive/html/{{bug,help}-guix,guix-{devel,patches}}>
(or an instance of public-inbox as <yhetil.org>)
and <ci.guix.gnu.org> and <data.guix.gnu.org>,
even maybe <logs.guix.gnu.org>.

The email-based workflow with some fancy interfaces to be welcoming with
new contributors (smooth the learning curve).




^ permalink raw reply	[relevance 7%]

* [bug#44625] [PATCH] gnu: Add b4.
  2020-11-14  2:14  9% ` zimoun
@ 2020-11-14  5:22 11%   ` Kyle Meyer
  2020-11-14 13:36  7%     ` zimoun
  0 siblings, 1 reply; 37+ results
From: Kyle Meyer @ 2020-11-14  5:22 UTC (permalink / raw)
  To: zimoun; +Cc: 44625

zimoun writes:

> On Fri, 13 Nov 2020 at 19:39, Kyle Meyer <kyle@kyleam.com> wrote:

>>     $ # in the guix repo
>>     $ git config b4.attestation-policy off
>>     $ git config b4.midmask https://yhetil.org/guix-patches/%s
>>     $ b4 am 20201028165112.28575-1-zimon.toutoune@gmail.com
>>
>>   The end result is a filtered mbox with the v2 patches.  Also, because the
>>   sender helpfully included the base commit, `b4 am' will use that information
>>   in the instructions that it outputs.
>
> You mean ’b4’ filters out the 2 Ludo’s messages when applying the 2
> patches, right?

Right, 'b4 am' will try to extract the patch messages for the latest (or
specified) version, discarding everything else.  The end product is what
its documentation refers to as an "am-ready" mbox.

> In this case, ’b4’ will also fetch the patches from yhetil.org, right?

Yes.  Without the midmask above, it would try to fetch from an archive
at <https://lore.kernel.org> instead.

> If <issues.guix.gnu.org> exposes (somewhere?) the Message-ID (as we have
> discussed [1]), then one user could browse, copy the Message-ID that
> they is interested and paste locally as you explain above; without the
> need to subscribe or use Emacs-Debbugs.  Right?

Right, anybody can grab the mbox with just the message ID.  b4 is taking
advantage of the fact that public-inbox makes it easy to download a
thread's mbox by specifying the message ID:

  curl -fSsL https://yhetil.org/guix-patches/86ima8d6rh.fsf@tournier.info/t.mbox.gz | zless

> BTW, I think that base commit should be strongly encouraged when
> submitting patches.  See [2] :-)
>
> 1; <https://yhetil.org/guix-devel/86sgbhz3fe.fsf@gmail.com>
> 2: <https://yhetil.org/guix-patches/20201012082003.19936-1-zimon.toutoune@gmail.com>

I very much agree (and remember https://github.com/magit/magit/issues/4028 :>)

>>   If the above sounds useful to you but you'd prefer to work in Emacs, you
>>   might be interested in piem (<https://git.kyleam.com/piem/about/>), which
>>   includes a transient (i.e magit-popup's successor) interface to b4.
>
> I have not tried either.  Is it packaged for Guix?

No.  I'm too sheepish to package my own stuff and at this point I'm
aware of no other piem user :).  Also I'm still not quite sure where I
want to go with it (and that answer probably largely depends on where
public-inbox goes with some planned features).

But there is a .guix.scm file in piem's repo that has a definition...

> Well, does b4 and piem works with worktree?

Yes.  'b4 am' stops at the am-ready patches, so it doesn't really care
at all.  piem will go farther, checking out a branch and calling git-am
with the output of b4 am.  It should play fine with worktrees (I use it
with one regularly), as long as :coderepo in piem-inboxes points to the
worktree you want to use.

Hmm, or reading ahead, now I'm wondering if you mean _creates_ a
worktree for applying the patch?  In that case, no, piem doesn't do
that.  It's not something I've considered before.

> Currently, I am using Emacs and Notmuch.  I have subscribed to
> guix-patches and when I try a patch, I do:
>
>   | git gam the-branch-worktree
>
> where ’gam’ is just ’-C ~/src/guix/wk/ am -3 --reject’.  And depending
> on the thread structure, sometimes I have to go patch by patch.
>
> Using b4+piem, then reading the message, I will do ’M-x piem-b4-am’ and
> whatever the thread structure, the patches sent as “in-reply-to“ will be
> applied.  Right?

Yes, you would invoke the piem-b4-am transient, select any options, and
then call piem-b4-am-from-mid ("a").  (The transient contains two other
commands, but they are essentially _just_ calling 'b4 am', stopping at
the am-ready mbox.)

As for which patches are applied, it depends on b4's analysis of the
thread.  When you have piem-notmuch-mode enabled, piem tries first to
use the local notmuch database before downloading a thread from a
public-inbox instance [*].  The message ID from the current buffer is
used to generate the entire thread with notmuch, in the same way that
'GET /MID/t.mbox.gz' on a public-inbox instance grabs the whole thread.
At that point, it is up to 'b4 am' which patches are extracted; by
default, it prefers the latest version it finds in the thread, but you
can explicitly select a version with the --use-version argument in the
piem-b4-am transient.

 [*] You can even get by without a public-inbox instance:
     https://docs.kyleam.com/piem.html#Applying-patches-without-a-public_002dinbox-archive

> (Aside messages including non inlined patches, if I read correctly the
> doc.)

Correct, b4 only handles inline patches.  There is another command,
piem-am, that will try to do something sensible with attached patches in
the current message, but things get a lot less fancy once b4 is out of
the equation.




^ permalink raw reply	[relevance 11%]

* [bug#44625] [PATCH] gnu: Add b4.
  2020-11-14  0:39  8% [bug#44625] [PATCH] gnu: Add b4 Kyle Meyer
@ 2020-11-14  2:14  9% ` zimoun
  2020-11-14  5:22 11%   ` Kyle Meyer
  0 siblings, 1 reply; 37+ results
From: zimoun @ 2020-11-14  2:14 UTC (permalink / raw)
  To: Kyle Meyer, 44625

Hi Kyle,

I have not tried your patch, yet.  And I have questions about tooling,
maybe it is not the right place to do so.


On Fri, 13 Nov 2020 at 19:39, Kyle Meyer <kyle@kyleam.com> wrote:

>   b4 is focused on lore.kernel.org public-inbox archives, but it's useful for
>   any public-inbox [1] instance, including yhetil.org/guix-patches :).  Here's
>   an example with a recent multi-patch thread that involves multiple versions.

Look super useful.

>     $ # in the guix repo
>     $ git config b4.attestation-policy off
>     $ git config b4.midmask https://yhetil.org/guix-patches/%s
>     $ b4 am 20201028165112.28575-1-zimon.toutoune@gmail.com
>
>   The end result is a filtered mbox with the v2 patches.  Also, because the
>   sender helpfully included the base commit, `b4 am' will use that information
>   in the instructions that it outputs.

You mean ’b4’ filters out the 2 Ludo’s messages when applying the 2
patches, right?

In this case, ’b4’ will also fetch the patches from yhetil.org, right?

If <issues.guix.gnu.org> exposes (somewhere?) the Message-ID (as we have
discussed [1]), then one user could browse, copy the Message-ID that
they is interested and paste locally as you explain above; without the
need to subscribe or use Emacs-Debbugs.  Right?


BTW, I think that base commit should be strongly encouraged when
submitting patches.  See [2] :-)

1; <https://yhetil.org/guix-devel/86sgbhz3fe.fsf@gmail.com>
2: <https://yhetil.org/guix-patches/20201012082003.19936-1-zimon.toutoune@gmail.com>


>   If the above sounds useful to you but you'd prefer to work in Emacs, you
>   might be interested in piem (<https://git.kyleam.com/piem/about/>), which
>   includes a transient (i.e magit-popup's successor) interface to b4.

I have not tried either.  Is it packaged for Guix?


Well, does b4 and piem works with worktree?

Currently, I am using Emacs and Notmuch.  I have subscribed to
guix-patches and when I try a patch, I do:

  | git gam the-branch-worktree

where ’gam’ is just ’-C ~/src/guix/wk/ am -3 --reject’.  And depending
on the thread structure, sometimes I have to go patch by patch.

Using b4+piem, then reading the message, I will do ’M-x piem-b4-am’ and
whatever the thread structure, the patches sent as “in-reply-to“ will be
applied.  Right?

(Aside messages including non inlined patches, if I read correctly the
doc.)


All the best,
simon




^ permalink raw reply	[relevance 9%]

* [bug#44625] [PATCH] gnu: Add b4.
@ 2020-11-14  0:39  8% Kyle Meyer
  2020-11-14  2:14  9% ` zimoun
  0 siblings, 1 reply; 37+ results
From: Kyle Meyer @ 2020-11-14  0:39 UTC (permalink / raw)
  To: 44625

* gnu/packages/version-control.scm (b4): New variable.
---

  b4 is focused on lore.kernel.org public-inbox archives, but it's useful for
  any public-inbox [1] instance, including yhetil.org/guix-patches :).  Here's
  an example with a recent multi-patch thread that involves multiple versions.

    $ # in the guix repo
    $ git config b4.attestation-policy off
    $ git config b4.midmask https://yhetil.org/guix-patches/%s
    $ b4 am 20201028165112.28575-1-zimon.toutoune@gmail.com

  The end result is a filtered mbox with the v2 patches.  Also, because the
  sender helpfully included the base commit, `b4 am' will use that information
  in the instructions that it outputs.

  If the above sounds useful to you but you'd prefer to work in Emacs, you
  might be interested in piem (<https://git.kyleam.com/piem/about/>), which
  includes a transient (i.e magit-popup's successor) interface to b4.

  [1] https://public-inbox.org/

 gnu/packages/version-control.scm | 41 ++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 16c70bd1a7..de7c961cea 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2301,6 +2301,47 @@ (define-public grokmirror
 based on a manifest file published by servers.")
     (license license:gpl3+)))
 
+(define-public b4
+  (package
+    (name "b4")
+    (version "0.5.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.kernel.org/pub/scm/utils/b4/b4.git")
+             (commit (string-append "v" version))))
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32 "1w11fiyspyncz2m7njrjfylgzch4azi7560ngd8i733wvjjhg3mj"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f                      ; No tests.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-manpages
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((man (string-append (assoc-ref outputs "out")
+                                       "/man/man5/")))
+               (mkdir-p man)
+               (for-each (lambda (file) (install-file file man))
+                         (find-files "man" "\\.[1-8]$")))
+             #t)))))
+    (inputs
+     `(("python-requests" ,python-requests)))
+    (home-page "https://git.kernel.org/pub/scm/utils/b4/b4.git")
+    (synopsis "Tool for working with patches in public-inbox archives")
+    (description "The @code{b4} command is designed to make it easier to
+participate in patch-based workflows for projects that have public-inbox
+archives.  Features include
+@itemize
+@item downloading a thread's mbox given a message ID
+@item processing an mbox so that is ready to be fed to @code{git-am}
+@item creating templated replies for processed patches and pull requests
+@item submitting cryptographic attestation for patches.
+@end itemize")
+    (license license:gpl2+)))
+
 (define-public git-annex-remote-rclone
   (package
     (name "git-annex-remote-rclone")

base-commit: 4e9b2e8ba26dd601df67f112852237d5df2f3341
-- 
2.29.2.454.gaff20da3a2





^ permalink raw reply related	[relevance 8%]

Results 1-37 of 37 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-10-12  8:20     [bug#43946] [PATCH] doc: Add item to "Submitting Patches" section zimoun
2021-01-15 13:30     ` Ludovic Courtès
2021-01-15 14:00  9%   ` zimoun
2021-09-21  9:53  8%   ` zimoun
2020-11-14  0:39  8% [bug#44625] [PATCH] gnu: Add b4 Kyle Meyer
2020-11-14  2:14  9% ` zimoun
2020-11-14  5:22 11%   ` Kyle Meyer
2020-11-14 13:36  7%     ` zimoun
2020-11-16 20:28     Workflow with mu4e + magit for sending patchsets to guix? Christopher Lemmer Webber
2020-11-16 23:49  8% ` zimoun
2021-10-15 18:54     Tricking peer review Ludovic Courtès
2021-10-20 21:37     ` Incentives for review Thiago Jung Bauermann
2021-10-21 13:38       ` Artem Chernyak
2021-10-22 20:03         ` Thiago Jung Bauermann
2021-10-23  1:43           ` Kyle Meyer
2021-10-23  7:37             ` zimoun
2021-10-23 16:18 11%           ` public-inbox/elfeed -> Maildir bridge (was: Incentives for review) Kyle Meyer
2022-04-22  5:38     Updating mumi on berlin Arun Isaac
2022-04-27  6:27     ` zimoun
2022-04-27 11:14       ` Arun Isaac
2022-05-02 10:33         ` zimoun
2022-05-03 20:42           ` Thiago Jung Bauermann
2022-05-04  8:00             ` zimoun
2022-05-05  1:49               ` Kyle Meyer
2022-05-05  8:37 11%             ` zimoun
2022-05-06  2:24  7%               ` public-inbox v1.7 update (was: Updating mumi on berlin) Kyle Meyer
2022-05-06  7:37                     ` zimoun
2022-05-08  4:41 10%                   ` Kyle Meyer
2022-04-28 15:30 12% [bug#55165] [PATCH]: Add emacs-git-email Niklas Eklund
2022-05-02 12:48  8% ` bug#55165: " Ludovic Courtès
2022-05-02 18:10 11% Mumi, public-inbox and tools zimoun
2022-05-03 17:50     ` Arun Isaac
2022-05-04  8:53  6%   ` zimoun
2022-05-07 22:52       ` Ludovic Courtès
2022-05-08  6:13         ` Arun Isaac
2022-05-08 20:59  8%       ` zimoun
2022-05-08 20:29 11%     ` zimoun
2022-09-21 14:09 20% [bug#57980] [PATCH] gnu: Add emacs-piem zimoun
2022-10-01 16:34     Progress with automating testing of patches Ludovic Courtès
2022-09-06 10:11     ` Christopher Baines
2022-09-19  7:46       ` Christopher Baines
2022-10-05 22:49         ` jbranso
2022-10-06  9:11  8%       ` debbugs-guix.el helper function zimoun
2022-10-23  5:49 55% [bug#58730] [PATCH] Split emacs-piem and emacs-git-email Declan Tsien
2022-10-25  1:15  9% ` Declan Tsien
2022-11-02 18:13 11% ` zimoun
2022-11-05  5:22 11%   ` Kyle Meyer
2023-06-16 18:55     patch question: any tool to download patches from guix patch mailing list? Andy Tai
2023-06-17 15:28 10% ` Giovanni Biscuolo
2023-06-18 20:28 11% ` Jelle Licht
2023-06-19  8:33 10%   ` Giovanni Biscuolo
2023-06-18 19:38 31% [bug#64155] [PATCH] gnu: emacs-piem: Update to 0.5.0 jlicht
2023-06-19 13:44  7% ` Andrew Tropin
2023-06-19 18:24  7%   ` Liliana Marie Prikler
2023-06-19 19:35 27% ` [bug#64155] [PATCH v2 1/2] gnu: emacs-piem: Do not propagate any inputs jlicht
2023-06-19 19:35 31%   ` [bug#64155] [PATCH v2 2/2] gnu: emacs-piem: Update to 0.5.0 jlicht
2023-09-17 20:51     New section to easily reference Debbugs URLs within Emacs Debbugs Maxim Cournoyer
2023-09-18 16:07  6% ` Notmuch, Debbugs: my helpers (was Re: New section to easily reference Debbugs URLs within Emacs Debbugs) Simon Tournier
2023-10-07  8:51     Is this a bug in guix refresh with respect to Common Lisp packages? Ricardo Wurmus
2023-10-07  4:04     ` jgart
2023-10-07 13:08  3%   ` jgart
2023-11-29 13:27  2% sbcl-py4cl does not appear in --list-dependent output jgart
2024-02-06 20:00     Guix Days: Patch flow discussion Suhail
2024-02-07 13:41  7% ` Josselin Poiret
2024-02-07 20:18       ` Ricardo Wurmus
2024-02-08  2:39 12%     ` Kyle Meyer
2024-02-11 16:38           ` Maxim Cournoyer
2024-02-14 15:48             ` Simon Tournier
2024-02-15 11:45               ` Clément Lassieur
2024-02-15 11:51                 ` Clément Lassieur
2024-02-15 15:32                   ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
2024-02-15 17:19  6%                 ` Simon Tournier

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.