From 030f1367f055720034cb178e50fd5d4c6ff371b1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 5 Sep 2018 10:35:43 +0200 Subject: channels: Add 'latest-channel-derivation' convenience procedure. * guix/channels.scm (latest-channel-derivations): Remove. (latest-channel-instances*, latest-channel-derivation): New procedures. --- guix/channels.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'guix/channels.scm') diff --git a/guix/channels.scm b/guix/channels.scm index ec3e05eaf5..794383fe22 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -48,7 +48,7 @@ latest-channel-instances channel-instance-derivations - latest-channel-derivations + latest-channel-derivation channel-instances->manifest)) ;;; Commentary: @@ -216,14 +216,6 @@ INSTANCES." (list core)))) instances))) -(define latest-channel-derivations - (let ((latest-channel-instances (store-lift latest-channel-instances))) - (lambda (channels) - "Return, as a monadic value, the list of derivations for the latest -instances of CHANNELS." - (mlet %store-monad ((instances (latest-channel-instances channels))) - (channel-instance-derivations instances))))) - (define (whole-package-for-legacy name modules) "Return a full-blown Guix package for MODULES, a derivation that builds Guix modules in the old ~/.config/guix/latest style." @@ -290,3 +282,14 @@ channel instances." (entries (mapm %store-monad instance->entry (zip instances derivations)))) (return (manifest entries)))) + +(define latest-channel-instances* + (store-lift latest-channel-instances)) + +(define* (latest-channel-derivation #:optional (channels %default-channels)) + "Return as a monadic value the derivation that builds the profile for the +latest instances of CHANNELS." + (mlet* %store-monad ((instances ((store-lift latest-channel-instances) + channels)) + (manifest (channel-instances->manifest instances))) + (profile-derivation manifest))) -- cgit v1.2.3