guix build: Add '--no-build-hook'.

* guix/scripts/build.scm (%default-options): Add 'build-hook?' pair.
  (show-help, %options): Add --no-build-hook.
  (guix-build): Pass the 'build-hook?' value to 'set-build-options'.
* doc/guix.texi (Invoking guix build): Document '--no-build-hook'.
This commit is contained in:
Ludovic Courtès 2014-01-05 22:58:32 +01:00
parent 1a43e4dc57
commit 425b0bfc2e
2 changed files with 16 additions and 2 deletions

View File

@ -10,7 +10,7 @@
@include version.texi @include version.texi
@copying @copying
Copyright @copyright{} 2012, 2013 Ludovic Courtès@* Copyright @copyright{} 2012, 2013, 2014 Ludovic Courtès@*
Copyright @copyright{} 2013 Andreas Enge@* Copyright @copyright{} 2013 Andreas Enge@*
Copyright @copyright{} 2013 Nikita Karetnikov Copyright @copyright{} 2013 Nikita Karetnikov
@ -1655,6 +1655,12 @@ packages locally.
Do not use substitutes for build products. That is, always build things Do not use substitutes for build products. That is, always build things
locally instead of allowing downloads of pre-built binaries. locally instead of allowing downloads of pre-built binaries.
@item --no-build-hook
Do not attempt to offload builds @i{via} the daemon's ``build hook''.
That is, always build things locally instead of offloading builds to
remote machines.
@c TODO: Add xref to build hook doc.
@item --max-silent-time=@var{seconds} @item --max-silent-time=@var{seconds}
When the build or substitution process remains silent for more than When the build or substitution process remains silent for more than
@var{seconds}, terminate it and report a build failure. @var{seconds}, terminate it and report a build failure.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -108,6 +108,7 @@ present, return the preferred newest version."
;; Alist of default option values. ;; Alist of default option values.
`((system . ,(%current-system)) `((system . ,(%current-system))
(substitutes? . #t) (substitutes? . #t)
(build-hook? . #t)
(max-silent-time . 3600) (max-silent-time . 3600)
(verbosity . 0))) (verbosity . 0)))
@ -132,6 +133,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
--fallback fall back to building when the substituter fails")) --fallback fall back to building when the substituter fails"))
(display (_ " (display (_ "
--no-substitutes build instead of resorting to pre-built substitutes")) --no-substitutes build instead of resorting to pre-built substitutes"))
(display (_ "
--no-build-hook do not attempt to offload builds via the build hook"))
(display (_ " (display (_ "
--max-silent-time=SECONDS --max-silent-time=SECONDS
mark the build as failed after SECONDS of silence")) mark the build as failed after SECONDS of silence"))
@ -199,6 +202,10 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'substitutes? #f (alist-cons 'substitutes? #f
(alist-delete 'substitutes? result)))) (alist-delete 'substitutes? result))))
(option '("no-build-hook") #f #f
(lambda (opt name arg result)
(alist-cons 'build-hook? #f
(alist-delete 'build-hook? result))))
(option '("max-silent-time") #t #f (option '("max-silent-time") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'max-silent-time (string->number* arg) (alist-cons 'max-silent-time (string->number* arg)
@ -283,6 +290,7 @@ build."
#:build-cores (or (assoc-ref opts 'cores) 0) #:build-cores (or (assoc-ref opts 'cores) 0)
#:fallback? (assoc-ref opts 'fallback?) #:fallback? (assoc-ref opts 'fallback?)
#:use-substitutes? (assoc-ref opts 'substitutes?) #:use-substitutes? (assoc-ref opts 'substitutes?)
#:use-build-hook? (assoc-ref opts 'build-hook?)
#:max-silent-time (assoc-ref opts 'max-silent-time) #:max-silent-time (assoc-ref opts 'max-silent-time)
#:verbosity (assoc-ref opts 'verbosity)) #:verbosity (assoc-ref opts 'verbosity))