~ruther/guix-local

3bee4b61963bf0e0da4e5a52a0ba24fe0aae2302 — Ludovic Courtès 8 years ago 368680d
services: guix: Add 'max-silent-time' and 'timeout'.

* gnu/services/base.scm (<guix-configuration>)[max-silent-time]
[timeout]: New fields.
(guix-shepherd-service): Honor them.
* doc/guix.texi (Base Services): Document them.
2 files changed, 15 insertions(+), 1 deletions(-)

M doc/guix.texi
M gnu/services/base.scm
M doc/guix.texi => doc/guix.texi +6 -0
@@ 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}.


M gnu/services/base.scm => gnu/services/base.scm +9 -1
@@ 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-configuration> 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"))