From 4684f301d5a7ff39a913c8f06507f67ec9b4a1cd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 9 Nov 2014 22:19:17 +0100 Subject: 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. --- doc/guix.texi | 5 +++-- guix/gexp.scm | 5 ++++- 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 -- cgit v1.2.3