summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-06-21 11:14:17 +0200
committerLudovic Courtès <ludo@gnu.org>2018-06-21 23:54:15 +0200
commit1f1d76a1789dafb55cc9450cc1dbafb718a62215 (patch)
treea16c523fed4ea6d00fc2ddd8575e1fbbc91d8735 /build-aux
parent3cd1aafa833ecbbf71efc0901f9a6cf94310ec1a (diff)
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.
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/build-self.scm17
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