summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-09 22:19:17 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-09 22:33:45 +0100
commit4684f301d5a7ff39a913c8f06507f67ec9b4a1cd (patch)
treea80a102cbebe3b77d06409d54cab476a79213891
parenta2b63d58d43f5d43a2677048b601a16ce132889d (diff)
downloadguix-4684f301d5a7ff39a913c8f06507f67ec9b4a1cd.tar.gz
gexp: Add #:module-path parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:module-path parameter, and
  pass it to 'imported-modules' and 'compiled-modules'.
* doc/guix.texi (G-Expressions): Adjust accordingly.
-rw-r--r--doc/guix.texi5
-rw-r--r--guix/gexp.scm5
2 files changed, 7 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 1bbb66e9a0..cfd4f0b25e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2383,6 +2383,7 @@ information about monads.)
        [#:system (%current-system)] [#:target #f] [#:inputs '()] @
        [#:hash #f] [#:hash-algo #f] @
        [#:recursive? #f] [#:env-vars '()] [#:modules '()] @
+       [#:module-path @var{%load-path}] @
        [#:references-graphs #f] [#:local-build? #f] @
        [#:guile-for-build #f]
 Return a derivation @var{name} that runs @var{exp} (a gexp) with
@@ -2391,8 +2392,8 @@ is true, it is used as the cross-compilation target triplet for packages
 referred to by @var{exp}.
 
 Make @var{modules} available in the evaluation context of @var{EXP};
-@var{MODULES} is a list of names of Guile modules from the current
-search path to be copied in the store, compiled, and made available in
+@var{MODULES} is a list of names of Guile modules searched in
+@var{MODULE-PATH} to be copied in the store, compiled, and made available in
 the load path during the execution of @var{exp}---e.g., @code{((guix
 build utils) (guix build gnu-build-system))}.
 
diff --git a/guix/gexp.scm b/guix/gexp.scm
index ff80e305db..78e11f5850 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -126,6 +126,7 @@ corresponding derivation."
                            hash hash-algo recursive?
                            (env-vars '())
                            (modules '())
+                           (module-path %load-path)
                            (guile-for-build (%guile-for-build))
                            references-graphs
                            local-build?)
@@ -134,7 +135,7 @@ derivation) on SYSTEM.  When TARGET is true, it is used as the
 cross-compilation target triplet for packages referred to by EXP.
 
 Make MODULES available in the evaluation context of EXP; MODULES is a list of
-names of Guile modules from the current search path to be copied in the store,
+names of Guile modules searched in MODULE-PATH to be copied in the store,
 compiled, and made available in the load path during the execution of
 EXP---e.g., '((guix build utils) (guix build gnu-build-system)).
 
@@ -194,11 +195,13 @@ The other arguments are as for 'derivation'."
                        (modules  (if (pair? %modules)
                                      (imported-modules %modules
                                                        #:system system
+                                                       #:module-path module-path
                                                        #:guile guile-for-build)
                                      (return #f)))
                        (compiled (if (pair? %modules)
                                      (compiled-modules %modules
                                                        #:system system
+                                                       #:module-path module-path
                                                        #:guile guile-for-build)
                                      (return #f)))
                        (graphs   (if references-graphs