From 3bee4b61963bf0e0da4e5a52a0ba24fe0aae2302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 5 Jun 2017 01:41:11 +0200 Subject: [PATCH] services: guix: Add 'max-silent-time' and 'timeout'. * gnu/services/base.scm ()[max-silent-time] [timeout]: New fields. (guix-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them. --- doc/guix.texi | 6 ++++++ gnu/services/base.scm | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index e8fba43afe..13e692ff66 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9260,6 +9260,12 @@ Whether to use substitutes. @item @code{substitute-urls} (default: @var{%default-substitute-urls}) The list of URLs where to look for substitutes by default. +@item @code{max-silent-time} (default: @code{0}) +@itemx @code{timeout} (default: @code{0}) +The number of seconds of silence and the number of seconds of activity, +respectively, after which a build process times out. A value of zero +disables the timeout. + @item @code{extra-options} (default: @code{'()}) List of extra command-line options for @command{guix-daemon}. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 7cd9a34ca2..813535ed65 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1352,6 +1352,10 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (default #t)) (substitute-urls guix-configuration-substitute-urls ;list of strings (default %default-substitute-urls)) + (max-silent-time guix-configuration-max-silent-time ;integer + (default 0)) + (timeout guix-configuration-timeout ;integer + (default 0)) (extra-options guix-configuration-extra-options ;list of strings (default '())) (log-file guix-configuration-log-file ;string @@ -1371,7 +1375,9 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (match config (($ guix build-group build-accounts authorize-key? keys - use-substitutes? substitute-urls extra-options + use-substitutes? substitute-urls + max-silent-time timeout + extra-options log-file lsof http-proxy tmpdir) (list (shepherd-service (documentation "Run the Guix daemon.") @@ -1381,6 +1387,8 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) #~(make-forkexec-constructor (list #$(file-append guix "/bin/guix-daemon") "--build-users-group" #$build-group + "--max-silent-time" #$(number->string max-silent-time) + "--timeout" #$(number->string timeout) #$@(if use-substitutes? '() '("--no-substitutes"))