diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-03-24 22:40:31 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-03-29 16:47:23 +0200 |
commit | 58210fbea2dbc66ee0947eba7d5def2e593797a4 (patch) | |
tree | 618253627fab6671ad51df2b19a076400e22da77 | |
parent | 3a5fbced6fa1b1dd5bad45b6fccceb84f0470c8d (diff) | |
download | guix-58210fbea2dbc66ee0947eba7d5def2e593797a4.tar.gz |
gexp: Add #:guile parameter to 'load-path-expression'.
* guix/gexp.scm (load-path-expression): Add #:guile parameter and honor it.
-rw-r--r-- | guix/gexp.scm | 25 |
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 |