summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-07-06 15:54:45 +0200
committerLudovic Courtès <ludo@gnu.org>2019-07-06 16:17:24 +0200
commitd9e6217f4e978777d1e6f7b82a1e096740cc419a (patch)
tree2a3ed7733468d2e074a51bd4edaab52e51bab8ac
parent403f2189aa5ca1d0c39add46a4d96b40552ad832 (diff)
downloadguix-d9e6217f4e978777d1e6f7b82a1e096740cc419a.tar.gz
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.scm43
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)