aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts/pull.scm
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 /guix/scripts/pull.scm
parent59a16275189f55ddd692b0ea5b415c706fa1fd69 (diff)
downloadgnu-guix-3085b50200a49429d51b043c742bf053f37d1491.tar
gnu-guix-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'.
Diffstat (limited to 'guix/scripts/pull.scm')
-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