summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-07-28 17:58:18 +0200
committerLudovic Courtès <ludo@gnu.org>2017-08-02 00:04:00 +0200
commit3085b50200a49429d51b043c742bf053f37d1491 (patch)
tree2a9bc23722a6ef834033c6ccd7644e659492320f
parent59a16275189f55ddd692b0ea5b415c706fa1fd69 (diff)
downloadguix-3085b50200a49429d51b043c742bf053f37d1491.tar.gz
pull: Use the commit ID as the version string.
* guix/scripts/pull.scm (build-from-source): Add #:commit parameter.
Pass it to BUILD.
(build-and-install): Add #:commit and pass it to 'build-from-source'.
(guix-pull): Pass #:commit to 'build-and-install'.
-rw-r--r--guix/scripts/pull.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index e3b07e08b1..02cec999a3 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -163,9 +163,10 @@ Download and deploy the latest version of Guix.\n"))
   ;; a makefile, and, similarly, is intended to always keep this name.
   "build-aux/build-self.scm")
 
-(define* (build-from-source source #:key verbose?)
+(define* (build-from-source source
+                            #:key verbose? commit)
   "Return a derivation to build Guix from SOURCE, using the self-build script
-contained therein."
+contained therein.  Use COMMIT as the version string."
   ;; Running the self-build script makes it easier to update the build
   ;; procedure: the self-build script of the Guix-to-be-installed contains the
   ;; right dependencies, build procedure, etc., which the Guix-in-use may not
@@ -174,12 +175,13 @@ contained therein."
          (build  (primitive-load script)))
     ;; BUILD must be a monadic procedure of at least one argument: the source
     ;; tree.
-    (build source #:verbose? verbose?)))
+    (build source #:verbose? verbose? #:version commit)))
 
 (define* (build-and-install source config-dir
-                            #:key verbose?)
+                            #:key verbose? commit)
   "Build the tool from SOURCE, and install it in CONFIG-DIR."
   (mlet* %store-monad ((source        (build-from-source source
+                                                         #:commit commit
                                                          #:verbose? verbose?))
                        (source-dir -> (derivation->output-path source))
                        (to-do?        (what-to-build (list source)))
@@ -280,6 +282,7 @@ certificates~%"))
                                                      (canonical-package guile-2.0)))))
                (run-with-store store
                  (build-and-install checkout (config-directory)
+                                    #:commit commit
                                     #:verbose? (assoc-ref opts 'verbose?)))))))))))
 
 ;;; pull.scm ends here