derivations: Add a search path parameter for module derivations.
* guix/derivations.scm (imported-modules, compiled-modules): Add a `module-path' parameter. Use it instead of %LOAD-PATH.
This commit is contained in:
parent
f6d7be1e47
commit
8dcb0c55ab
@ -558,9 +558,10 @@ system, imported, and appears under FINAL-PATH in the resulting store path."
|
|||||||
(define* (imported-modules store modules
|
(define* (imported-modules store modules
|
||||||
#:key (name "module-import")
|
#:key (name "module-import")
|
||||||
(system (%current-system))
|
(system (%current-system))
|
||||||
(guile (%guile-for-build)))
|
(guile (%guile-for-build))
|
||||||
|
(module-path %load-path))
|
||||||
"Return a derivation that contains the source files of MODULES, a list of
|
"Return a derivation that contains the source files of MODULES, a list of
|
||||||
module names such as `(ice-9 q)'. All of MODULES must be in the current
|
module names such as `(ice-9 q)'. All of MODULES must be in the MODULE-PATH
|
||||||
search path."
|
search path."
|
||||||
;; TODO: Determine the closure of MODULES, build the `.go' files,
|
;; TODO: Determine the closure of MODULES, build the `.go' files,
|
||||||
;; canonicalize the source files through read/write, etc.
|
;; canonicalize the source files through read/write, etc.
|
||||||
@ -568,7 +569,7 @@ search path."
|
|||||||
(let ((f (string-append
|
(let ((f (string-append
|
||||||
(string-join (map symbol->string m) "/")
|
(string-join (map symbol->string m) "/")
|
||||||
".scm")))
|
".scm")))
|
||||||
(cons f (search-path %load-path f))))
|
(cons f (search-path module-path f))))
|
||||||
modules)))
|
modules)))
|
||||||
(imported-files store files #:name name #:system system
|
(imported-files store files #:name name #:system system
|
||||||
#:guile guile)))
|
#:guile guile)))
|
||||||
@ -576,13 +577,15 @@ search path."
|
|||||||
(define* (compiled-modules store modules
|
(define* (compiled-modules store modules
|
||||||
#:key (name "module-import-compiled")
|
#:key (name "module-import-compiled")
|
||||||
(system (%current-system))
|
(system (%current-system))
|
||||||
(guile (%guile-for-build)))
|
(guile (%guile-for-build))
|
||||||
|
(module-path %load-path))
|
||||||
"Return a derivation that builds a tree containing the `.go' files
|
"Return a derivation that builds a tree containing the `.go' files
|
||||||
corresponding to MODULES. All the MODULES are built in a context where
|
corresponding to MODULES. All the MODULES are built in a context where
|
||||||
they can refer to each other."
|
they can refer to each other."
|
||||||
(let* ((module-drv (imported-modules store modules
|
(let* ((module-drv (imported-modules store modules
|
||||||
#:system system
|
#:system system
|
||||||
#:guile guile))
|
#:guile guile
|
||||||
|
#:module-path module-path))
|
||||||
(module-dir (derivation-path->output-path module-drv))
|
(module-dir (derivation-path->output-path module-drv))
|
||||||
(files (map (lambda (m)
|
(files (map (lambda (m)
|
||||||
(let ((f (string-join (map symbol->string m)
|
(let ((f (string-join (map symbol->string m)
|
||||||
|
Loading…
Reference in New Issue
Block a user