mirror of
git://git.savannah.gnu.org/guix/guix-cuirass.git
synced 2023-12-14 06:03:04 +01:00
evaluate: Honor the given load path.
* bin/evaluate.in (main): Prepend LOAD-PATH to '%load-path' for the dynamic extend of the 'primitive-load' call.
This commit is contained in:
parent
b9b53e67ba
commit
a3a7c09b06
|
@ -33,6 +33,9 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
|
|||
(guix derivations)
|
||||
(guix store))
|
||||
|
||||
(define %not-colon
|
||||
(char-set-complement (char-set #\:)))
|
||||
|
||||
(define* (main #:optional (args (command-line)))
|
||||
(match args
|
||||
((command load-path guix-package-path source specstr)
|
||||
|
@ -40,12 +43,21 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
|
|||
(let ((%user-module (make-fresh-user-module))
|
||||
(spec (with-input-from-string specstr read))
|
||||
(stdout (current-output-port))
|
||||
(stderr (current-error-port)))
|
||||
(stderr (current-error-port))
|
||||
(load-path (string-tokenize load-path %not-colon)))
|
||||
(save-module-excursion
|
||||
(lambda ()
|
||||
(set-current-module %user-module)
|
||||
(with-directory-excursion source
|
||||
(primitive-load (assq-ref spec #:file)))))
|
||||
(let ((original-path %load-path))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(set! %load-path (append load-path original-path)))
|
||||
(lambda ()
|
||||
(primitive-load (assq-ref spec #:file)))
|
||||
(lambda ()
|
||||
(set! %load-path original-path)))))))
|
||||
|
||||
(with-store store
|
||||
(unless (assoc-ref spec #:use-substitutes?)
|
||||
;; Make sure we don't resort to substitutes.
|
||||
|
|
Loading…
Reference in a new issue