summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-09-16 21:58:19 +0200
committerLudovic Courtès <ludo@gnu.org>2018-09-16 23:00:44 +0200
commit3c0e16391ed9a3e3e4611b940fb393c5f2ecea63 (patch)
treedce8aff5dd0a0e63d7c1584cdae9867442745970
parentebbfc59c21d9888d43f36d8f23862030ebaaacce (diff)
downloadguix-3c0e16391ed9a3e3e4611b940fb393c5f2ecea63.tar.gz
channels: Add Guile-Git as a dependency of external channels.
Fixes a regression introduced in
aed0a594058a59bc3bb1d2686391dc0e8a181b1f whereby external channels would
fail to build due to the lack of a (git) module.

Reported by Alex ter Weele on #guix.

* guix/channels.scm (channel-instance-derivations)[guile-gcrypt]:
Remove.
[dependencies]: New variable.
Use it in the 2nd argument to 'build-channel-instance'.
-rw-r--r--guix/channels.scm16
1 files changed, 11 insertions, 5 deletions
diff --git a/guix/channels.scm b/guix/channels.scm
index cf833db8b9..2e7bffae9f 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -207,10 +207,16 @@ INSTANCES."
             (guix-channel? (channel-instance-channel instance)))
           instances))
 
-  ;; Guile-Gcrypt is a dependency of CORE-INSTANCE.
-  (define guile-gcrypt
-    (module-ref (resolve-interface '(gnu packages gnupg))
-                'guile-gcrypt))
+  (define dependencies
+    ;; Dependencies of CORE-INSTANCE.
+    ;; FIXME: It would be best not to hard-wire this information here and
+    ;; instead query it to CORE-INSTANCE.
+    (list (module-ref (resolve-interface '(gnu packages gnupg))
+                      'guile-gcrypt)
+          (module-ref (resolve-interface '(gnu packages guile))
+                      'guile-git)
+          (module-ref (resolve-interface '(gnu packages guile))
+                      'guile-bytestructures)))
 
   (mlet %store-monad ((core (build-channel-instance core-instance)))
     (mapm %store-monad
@@ -218,7 +224,7 @@ INSTANCES."
             (if (eq? instance core-instance)
                 (return core)
                 (build-channel-instance instance
-                                        (list core guile-gcrypt))))
+                                        (cons core dependencies))))
           instances)))
 
 (define (whole-package-for-legacy name modules)