From 1f1d76a1789dafb55cc9450cc1dbafb718a62215 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 21 Jun 2018 11:14:17 +0200 Subject: 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. --- build-aux/build-self.scm | 17 +++++++++-------- 1 file 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 -- cgit v1.2.3