~ruther/guix-local

4684f301d5a7ff39a913c8f06507f67ec9b4a1cd — Ludovic Courtès 11 years ago a2b63d5
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.
2 files changed, 7 insertions(+), 3 deletions(-)

M doc/guix.texi
M guix/gexp.scm
M doc/guix.texi => doc/guix.texi +3 -2
@@ 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))}.


M guix/gexp.scm => guix/gexp.scm +4 -1
@@ 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