gexp: Default to 'guile-2.2' for 'program-file'.

Previously things returned by 'program-file', such as %MODPROBE-WRAPPER
in (gnu services), would refer to 'guile-final'.  This would introduce
'guile-final' in the system closure, which is otherwise absent.  By
referring to 'guile-2.2' we remove that extra Guile.

* guix/gexp.scm (default-guile): Refer to GUILE-2.2 instead of
GUILE-FINAL.
This commit is contained in:
Ludovic Courtès 2017-11-29 22:29:26 +01:00
parent 32008a75dc
commit 6ee797f326
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

@ -1096,10 +1096,12 @@ they can refer to each other."
;;;
(define (default-guile)
;; Lazily resolve 'guile-final'. This module must not refer to (gnu …)
;; Lazily resolve 'guile-2.2' (not 'guile-final' because this is for
;; programs returned by 'program-file' and we don't want to keep references
;; to several Guile packages). This module must not refer to (gnu …)
;; modules directly, to avoid circular dependencies, hence this hack.
(module-ref (resolve-interface '(gnu packages commencement))
'guile-final))
(module-ref (resolve-interface '(gnu packages guile))
'guile-2.2))
(define (load-path-expression modules)
"Return as a monadic value a gexp that sets '%load-path' and