diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-07-06 15:54:45 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-07-06 16:17:24 +0200 |
commit | d9e6217f4e978777d1e6f7b82a1e096740cc419a (patch) | |
tree | 2a3ed7733468d2e074a51bd4edaab52e51bab8ac | |
parent | 403f2189aa5ca1d0c39add46a4d96b40552ad832 (diff) | |
download | guix-d9e6217f4e978777d1e6f7b82a1e096740cc419a.tar.gz guix-d9e6217f4e978777d1e6f7b82a1e096740cc419a.zip |
channels: Simplify 'channel-instances->manifest'.
* guix/channels.scm (channel-instances->manifest)[instance->entry]:
Change to take two arguments instead of a tuple. Turn into a
non-monadic procedure.
Call it via 'map' instead of 'mapm'.
-rw-r--r-- | guix/channels.scm | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/guix/channels.scm b/guix/channels.scm index e7278c6060..fcf9fed829 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -429,32 +429,27 @@ derivation." (define (channel-instances->manifest instances) "Return a profile manifest with entries for all of INSTANCES, a list of channel instances." - (define instance->entry - (match-lambda - ((instance drv) - (let ((commit (channel-instance-commit instance)) - (channel (channel-instance-channel instance))) - (with-monad %store-monad - (return (manifest-entry - (name (symbol->string (channel-name channel))) - (version (string-take commit 7)) - (item (if (guix-channel? channel) - (if (old-style-guix? drv) - (whole-package-for-legacy - (string-append name "-" version) - drv) - drv) - drv)) - (properties - `((source (repository - (version 0) - (url ,(channel-url channel)) - (branch ,(channel-branch channel)) - (commit ,commit)))))))))))) + (define (instance->entry instance drv) + (let ((commit (channel-instance-commit instance)) + (channel (channel-instance-channel instance))) + (manifest-entry + (name (symbol->string (channel-name channel))) + (version (string-take commit 7)) + (item (if (guix-channel? channel) + (if (old-style-guix? drv) + (whole-package-for-legacy (string-append name "-" version) + drv) + drv) + drv)) + (properties + `((source (repository + (version 0) + (url ,(channel-url channel)) + (branch ,(channel-branch channel)) + (commit ,commit)))))))) (mlet* %store-monad ((derivations (channel-instance-derivations instances)) - (entries (mapm %store-monad instance->entry - (zip instances derivations)))) + (entries -> (map instance->entry instances derivations))) (return (manifest entries)))) (define (package-cache-file manifest) |