guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: build-self: Avoid recompilations of 'compute-guix-derivation'.


From: Ludovic Courtès
Subject: 01/02: build-self: Avoid recompilations of 'compute-guix-derivation'.
Date: Thu, 21 Jun 2018 17:54:35 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 1f1d76a1789dafb55cc9450cc1dbafb718a62215
Author: Ludovic Courtès <address@hidden>
Date:   Thu Jun 21 11:14:17 2018 +0200

    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 bd285bc..e1b2c7f 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]