monads, gexp: Remove unintended dependency on (gnu packages …).
* guix/gexp.scm (gexp->derivation, gexp->script): Use 'default-guile' instead of an explicit reference to 'guile-final'. (default-guile): New procedure. * guix/monads.scm (run-with-store)[default-guile]: New procedure. Use it.
This commit is contained in:
parent
79c0c8cdf7
commit
53e89b1732
|
@ -129,8 +129,7 @@ The other arguments are as for 'derivation'."
|
|||
(return #f)))
|
||||
(guile (if guile-for-build
|
||||
(return guile-for-build)
|
||||
(package->derivation
|
||||
(@ (gnu packages base) guile-final)
|
||||
(package->derivation (default-guile)
|
||||
system))))
|
||||
(raw-derivation name
|
||||
(string-append (derivation->output-path guile)
|
||||
|
@ -336,9 +335,14 @@ package/derivation references."
|
|||
;;; Convenience procedures.
|
||||
;;;
|
||||
|
||||
(define (default-guile)
|
||||
;; Lazily resolve 'guile-final'. This module must not refer to (gnu …)
|
||||
;; modules directly, to avoid circular dependencies, hence this hack.
|
||||
(module-ref (resolve-interface '(gnu packages base))
|
||||
'guile-final))
|
||||
|
||||
(define* (gexp->script name exp
|
||||
#:key (modules '())
|
||||
(guile (@ (gnu packages base) guile-final)))
|
||||
#:key (modules '()) (guile (default-guile)))
|
||||
"Return an executable script NAME that runs EXP using GUILE with MODULES in
|
||||
its search path."
|
||||
(mlet %store-monad ((modules (imported-modules modules))
|
||||
|
|
|
@ -414,10 +414,15 @@ input list as a monadic value."
|
|||
(system (%current-system)))
|
||||
"Run MVAL, a monadic value in the store monad, in STORE, an open store
|
||||
connection."
|
||||
(define (default-guile)
|
||||
;; Lazily resolve 'guile-final'. This module must not refer to (gnu …)
|
||||
;; modules directly, to avoid circular dependencies, hence this hack.
|
||||
(module-ref (resolve-interface '(gnu packages base))
|
||||
'guile-final))
|
||||
|
||||
(parameterize ((%guile-for-build (or guile-for-build
|
||||
(package-derivation store
|
||||
(@ (gnu packages base)
|
||||
guile-final)
|
||||
(default-guile)
|
||||
system)))
|
||||
(%current-system system))
|
||||
(mval store)))
|
||||
|
|
Loading…
Reference in New Issue