summaryrefslogtreecommitdiff
path: root/guix/gexp.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-03-24 22:40:31 +0100
committerLudovic Courtès <ludo@gnu.org>2021-03-29 16:47:23 +0200
commit58210fbea2dbc66ee0947eba7d5def2e593797a4 (patch)
tree618253627fab6671ad51df2b19a076400e22da77 /guix/gexp.scm
parent3a5fbced6fa1b1dd5bad45b6fccceb84f0470c8d (diff)
downloadguix-patches-58210fbea2dbc66ee0947eba7d5def2e593797a4.tar
guix-patches-58210fbea2dbc66ee0947eba7d5def2e593797a4.tar.gz
gexp: Add #:guile parameter to 'load-path-expression'.
* guix/gexp.scm (load-path-expression): Add #:guile parameter and honor it.
Diffstat (limited to 'guix/gexp.scm')
-rw-r--r--guix/gexp.scm25
1 files changed, 15 insertions, 10 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm
index b01c78b267..654ac0f4d7 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1735,21 +1735,26 @@ TARGET, a GNU triplet."
'guile-3.0))
(define* (load-path-expression modules #:optional (path %load-path)
- #:key (extensions '()) system target)
+ #:key (extensions '()) system target
+ (guile (default-guile)))
"Return as a monadic value a gexp that sets '%load-path' and
'%load-compiled-path' to point to MODULES, a list of module names. MODULES
-are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty."
+are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty.
+Assume MODULES are compiled with GUILE."
(if (and (null? modules) (null? extensions))
(with-monad %store-monad
(return #f))
- (mlet %store-monad ((modules (imported-modules modules
- #:module-path path
- #:system system))
- (compiled (compiled-modules modules
- #:extensions extensions
- #:module-path path
- #:system system
- #:target target)))
+ (mlet* %store-monad ((guile (lower-object guile system #:target #f))
+ (compiled (compiled-modules modules
+ #:guile guile
+ #:extensions extensions
+ #:module-path path
+ #:system system
+ #:target target))
+ (modules (imported-modules modules
+ #:guile guile
+ #:module-path path
+ #:system system)))
(return
(gexp (eval-when (expand load eval)
;; Augment the load paths and delete duplicates. Do that