diff options
author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2018-04-01 22:57:05 +0200 |
---|---|---|
committer | Ludovic Courtès <ludovic.courtes@inria.fr> | 2018-04-01 23:07:02 +0200 |
commit | 2fe7ff87e23b18d49bd33cffc4766b7eaa382054 (patch) | |
tree | d14c14bd594692f990aa8d96bf9c925bac8596c8 /bin | |
parent | 8eefd24672d257e8bdfe7abe063da1d01d14d762 (diff) | |
download | cuirass-2fe7ff87e23b18d49bd33cffc4766b7eaa382054.tar cuirass-2fe7ff87e23b18d49bd33cffc4766b7eaa382054.tar.gz |
base: Make a writable copy of the checkout only when #:no-compile? is false.
This avoids copying things back and forth.
* src/cuirass/base.scm (fetch-repository): Add #:writable-copy?
parameter. Call 'make-writable-copy' when it's true.
(copy-repository-cache): Remove.
(make-writable-copy): New procedure.
(evaluate): Add 'source' parameter and pass it to the 'evaluate' program.
(process-specs): Define 'compile?'. Pass #:writable-copy? to
'fetch-repository'. Remove call to 'copy-repository-cache'. Remove
computation of the checkout directory name. Pass CHECKOUT to 'evaluate'.
* bin/evaluate.in (main): Replace 'cachedir' with 'source'. Remove
computation of the checkout directory name.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/evaluate.in | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/bin/evaluate.in b/bin/evaluate.in index 1439ea3..4c9efd5 100644 --- a/bin/evaluate.in +++ b/bin/evaluate.in @@ -35,7 +35,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@" (define* (main #:optional (args (command-line))) (match args - ((command load-path guix-package-path cachedir specstr) + ((command load-path guix-package-path source specstr) ;; Load FILE, a Scheme file that defines Hydra jobs. (let ((%user-module (make-fresh-user-module)) (spec (with-input-from-string specstr read)) @@ -44,8 +44,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@" (save-module-excursion (lambda () (set-current-module %user-module) - (with-directory-excursion - (string-append cachedir "/" (assq-ref spec #:name)) + (with-directory-excursion source (primitive-load (assq-ref spec #:file))))) (with-store store (unless (assoc-ref spec #:use-substitutes?) |