[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: channels: Add 'latest-channel-derivation' convenience procedure.
From: |
Ludovic Courtès |
Subject: |
01/01: channels: Add 'latest-channel-derivation' convenience procedure. |
Date: |
Wed, 5 Sep 2018 06:01:54 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 030f1367f055720034cb178e50fd5d4c6ff371b1
Author: Ludovic Courtès <address@hidden>
Date: Wed Sep 5 10:35:43 2018 +0200
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(-)
diff --git a/guix/channels.scm b/guix/channels.scm
index ec3e05e..794383f 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)))