diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-09-18 12:08:05 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-09-21 17:04:38 +0200 |
commit | c37f38bde69c072cfd0006ba89f30f0d0ad24448 (patch) | |
tree | 6ea4bbbb3694331738efd1ef4d1c183e06c59bbe | |
parent | 811b21fb15d36b06fde994ca7ef5916a9a19f250 (diff) | |
download | guix-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.scm | 16 |
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))) |