diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-06-21 11:14:17 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-06-21 23:54:15 +0200 |
commit | 1f1d76a1789dafb55cc9450cc1dbafb718a62215 (patch) | |
tree | a16c523fed4ea6d00fc2ddd8575e1fbbc91d8735 | |
parent | 3cd1aafa833ecbbf71efc0901f9a6cf94310ec1a (diff) | |
download | gnu-guix-1f1d76a1789dafb55cc9450cc1dbafb718a62215.tar gnu-guix-1f1d76a1789dafb55cc9450cc1dbafb718a62215.tar.gz |
build-self: Avoid recompilations of 'compute-guix-derivation'.
* build-aux/build-self.scm (build-program)["compute-guix-derivation"]:
Honor the SOURCE command-line argument. Add a VERSION command-line
argument and honor it.
(build): Pass VERSION to BUILD.
-rw-r--r-- | build-aux/build-self.scm | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index bd285bcedd..e1b2c7fdc4 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -232,11 +232,12 @@ person's version identifier." ;; (gnu packages …) modules are going to be looked up ;; under SOURCE. (guix config) is looked up in FRONT. - (match %load-path - ((#$source _ ...) - #t) ;already done - ((front _ ...) - (set! %load-path (list #$source front)))) + (match (command-line) + ((_ source _ ...) + (match %load-path + ((front _ ...) + (unless (string=? front source) ;already done? + (set! %load-path (list source front))))))) ;; Only load our own modules or those of Guile. (match %load-compiled-path @@ -264,7 +265,7 @@ person's version identifier." (loop (cdr spin)))) (match (command-line) - ((_ _ system) + ((_ source system version) (with-store store (call-with-new-thread (lambda () @@ -273,7 +274,7 @@ person's version identifier." (display (and=> (run-with-store store - (guix-derivation #$source #$version + (guix-derivation source version #$guile-version #:pull-version #$pull-version) @@ -304,7 +305,7 @@ files." (setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive (open-pipe* OPEN_READ (derivation->output-path build) - source system))) + source system version))) (str (get-string-all pipe)) (status (close-pipe pipe))) (match str |