From: "Ludovic Courtès" <ludo@gnu.org>
To: 32115@debbugs.gnu.org
Subject: [bug#32115] [PATCH 0/2] Add (guix inferior) and improve 'guix pull -l'
Date: Tue, 10 Jul 2018 18:45:59 +0200 [thread overview]
Message-ID: <20180710164559.20193-1-ludo@gnu.org> (raw)
Hello Guix!
This patch adds (guix inferior), a module to interact with an inferior Guix
process, along with a ‘guix repl’ command, which spawns a REPL optionally a
simple sexp-based protocol.
‘guix pull -l’ uses (guix inferior) to display this:
--8<---------------cut here---------------start------------->8---
Generation 1 Jun 10 2018 00:18:18
guix 65956ad
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: origin/master
commit: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe
Generation 2 Jun 11 2018 11:02:49
guix e0cc7f6
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: origin/master
commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d
2 new packages: keepalived, libnfnetlink
6 packages upgraded: emacs-nix-mode@2.0.4, guile2.0-guix@0.14.0-12.77a1aac,
guix@0.14.0-12.77a1aac, heimdal@7.5.0, milkytracker@1.02.00, nix@2.0.4
Generation 3 Jun 13 2018 23:31:07
guix 844cc1c
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: origin/master
commit: 844cc1c8f394f03b404c5bb3aee086922373490c
28 new packages: emacs-helm-ls-git, emacs-helm-mu, emacs-helm-pass, emacs-image+,
emacs-package-lint, emacs-puppet-mode, emacs-wgrep-helm, go-github-com-gorilla-mux,
go-github-com-jonboulle-clockwork, go-github-com-spf13-pflag, libostree, ovmf-aarch64, ovmf-arm, qtwebglplugin,
qtwebview, r-ellipse, r-factoextra, r-factominer, r-flashclust, r-ggpubr, r-ggsci, r-ggsignif, r-hdf5r,
r-nbclust, r-writexl, skopeo, umoci, vkd3d
69 packages upgraded: borg@1.1.6, cheese@3.28.0, cpupower@4.17.1, efivar@36, emacs-orgalist@1.8,
emacspeak@48.0, font-gnu-unifont@11.0.01, freefall@4.17.1, glslang@3.0-3.32d3ec319, guile-bytestructures@1.0.3,
guile2.0-bytestructures@1.0.3, iproute2@4.17.0, ldb@1.4.0, libfilezilla@0.12.3, libndp@1.7, libraw@0.18.12,
[...]
--8<---------------cut here---------------end--------------->8---
It takes about one second per generation on my SSD-powered laptop, though, so
we might want to have a persistent cache of each generation’s package list.
Eventually I think we can use (guix inferior) for other purposes. For example,
hpcguix-web should use it to regularly grab the latest package list. And, we
could add a gexp compiler for <inferior-package> such that one can seamlessly
refer to packages coming from a different Guix version. Then, if we wanted to,
we could have ‘guix package’ & co. allow you to specify packages coming from
a different Guix. Could be fun!
Thoughts? Comments?
Ludo’.
Ludovic Courtès (2):
Add (guix inferior) and (guix scripts repl).
pull: Use (guix inferior) to display new and upgraded packages.
Makefile.am | 3 +
doc/guix.texi | 59 +++++++++++++
guix/inferior.scm | 197 +++++++++++++++++++++++++++++++++++++++++
guix/scripts/pull.scm | 91 ++++++++++++++++---
guix/scripts/repl.scm | 199 ++++++++++++++++++++++++++++++++++++++++++
tests/inferior.scm | 69 +++++++++++++++
6 files changed, 607 insertions(+), 11 deletions(-)
create mode 100644 guix/inferior.scm
create mode 100644 guix/scripts/repl.scm
create mode 100644 tests/inferior.scm
--
2.18.0
next reply other threads:[~2018-07-10 16:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-10 16:45 Ludovic Courtès [this message]
2018-07-10 16:48 ` [bug#32115] [PATCH 1/2] Add (guix inferior) and (guix scripts repl) Ludovic Courtès
2018-07-10 16:48 ` [bug#32115] [PATCH 1/2] Add (guix inferior) Ludovic Courtès
2018-07-10 16:48 ` [bug#32115] [PATCH 1/3] profiles: Factorize 'manifest-search-paths' Ludovic Courtès
2018-07-10 16:48 ` [bug#32115] [PATCH 2/3] environment: Simplify code by using manifests internally Ludovic Courtès
2018-07-10 16:48 ` [bug#32115] [PATCH 2/2] pull: Use (guix inferior) to display new and upgraded packages Ludovic Courtès
2018-07-10 16:48 ` [bug#32115] [PATCH 3/3] profiles: Introduce 'profile-search-paths' and use it Ludovic Courtès
2018-07-10 16:50 ` [bug#32115] [PATCH 1/2] Add (guix inferior) and (guix scripts repl) Ludovic Courtès
2018-07-13 15:59 ` bug#32115: [PATCH 0/2] Add (guix inferior) and improve 'guix pull -l' Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180710164559.20193-1-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=32115@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).