all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#32115] [PATCH 0/2] Add (guix inferior) and improve 'guix pull -l'
@ 2018-07-10 16:45 Ludovic Courtès
  2018-07-10 16:48 ` [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
  0 siblings, 2 replies; 9+ messages in thread
From: Ludovic Courtès @ 2018-07-10 16:45 UTC (permalink / raw)
  To: 32115

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-07-13 16:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-10 16:45 [bug#32115] [PATCH 0/2] Add (guix inferior) and improve 'guix pull -l' Ludovic Courtès
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

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.