channels: Add Guile-Git as a dependency of external channels.

Fixes a regression introduced in
aed0a59405 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'.
This commit is contained in:
Ludovic Courtès 2018-09-16 21:58:19 +02:00
parent ebbfc59c21
commit 3c0e16391e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -207,10 +207,16 @@ (define core-instance
(guix-channel? (channel-instance-channel instance))) (guix-channel? (channel-instance-channel instance)))
instances)) instances))
;; Guile-Gcrypt is a dependency of CORE-INSTANCE. (define dependencies
(define guile-gcrypt ;; Dependencies of CORE-INSTANCE.
(module-ref (resolve-interface '(gnu packages gnupg)) ;; FIXME: It would be best not to hard-wire this information here and
'guile-gcrypt)) ;; 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))) (mlet %store-monad ((core (build-channel-instance core-instance)))
(mapm %store-monad (mapm %store-monad
@ -218,7 +224,7 @@ (define guile-gcrypt
(if (eq? instance core-instance) (if (eq? instance core-instance)
(return core) (return core)
(build-channel-instance instance (build-channel-instance instance
(list core guile-gcrypt)))) (cons core dependencies))))
instances))) instances)))
(define (whole-package-for-legacy name modules) (define (whole-package-for-legacy name modules)