aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-09-18 12:08:05 +0200
committerLudovic Courtès <ludo@gnu.org>2018-09-21 17:04:38 +0200
commitc37f38bde69c072cfd0006ba89f30f0d0ad24448 (patch)
tree6ea4bbbb3694331738efd1ef4d1c183e06c59bbe
parent811b21fb15d36b06fde994ca7ef5916a9a19f250 (diff)
downloadguix-c37f38bde69c072cfd0006ba89f30f0d0ad24448.tar
guix-c37f38bde69c072cfd0006ba89f30f0d0ad24448.tar.gz
channels: Add 'channel-instances->derivation'.
* guix/channels.scm (channel-instances->derivation): New procedure. (latest-channel-derivation): Use it. (channel-instance-derivations): Make private.
-rw-r--r--guix/channels.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/guix/channels.scm b/guix/channels.scm
index 2e7bffae9f..82389eb583 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -47,9 +47,9 @@
channel-instance-checkout
latest-channel-instances
- channel-instance-derivations
latest-channel-derivation
- channel-instances->manifest))
+ channel-instances->manifest
+ channel-instances->derivation))
;;; Commentary:
;;;
@@ -294,13 +294,17 @@ channel instances."
(zip instances derivations))))
(return (manifest entries))))
+(define (channel-instances->derivation instances)
+ "Return the derivation of the profile containing INSTANCES, a list of
+channel instances."
+ (mlet %store-monad ((manifest (channel-instances->manifest instances)))
+ (profile-derivation manifest)))
+
(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)))
+ (mlet %store-monad ((instances (latest-channel-instances* channels)))
+ (channel-instances->derivation instances)))