services: guix: Support building in a directory besides '/tmp'.

* gnu/services/base.scm (<guix-configuration>)[tmpdir]: New field.
(guix-shepherd-service): Use 'tmpdir' in #:environment-variables.
* doc/guix.texi (Base Services)[guix-configuration]: Document it.
This commit is contained in:
Leo Famulari 2017-02-23 12:08:02 -05:00
parent 94b28aed1e
commit b191f0a6c5
No known key found for this signature in database
GPG key ID: 2646FA30BACA7F08
2 changed files with 9 additions and 1 deletions

View file

@ -8615,6 +8615,9 @@ The lsof package to use.
The HTTP proxy used for downloading fixed-output derivations and
substitutes.
@item @code{tmpdir} (default: @code{#f})
A directory path where the @command{guix-daemon} will perform builds.
@end table
@end deftp

View file

@ -1116,6 +1116,8 @@ (define-record-type* <guix-configuration>
(lsof guix-configuration-lsof ;<package>
(default lsof))
(http-proxy guix-http-proxy ;string | #f
(default #f))
(tmpdir guix-tmpdir ;string | #f
(default #f)))
(define %default-guix-configuration
@ -1127,7 +1129,7 @@ (define (guix-shepherd-service config)
(($ <guix-configuration> guix build-group build-accounts
authorize-key? keys
use-substitutes? substitute-urls extra-options
log-file lsof http-proxy)
log-file lsof http-proxy tmpdir)
(list (shepherd-service
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
@ -1147,6 +1149,9 @@ (define (guix-shepherd-service config)
(list (string-append "PATH=" #$lsof "/bin")
#$@(if http-proxy
(list (string-append "http_proxy=" http-proxy))
'())
#$@(if tmpdir
(list (string-append "TMPDIR=" tmpdir))
'()))
#:log-file #$log-file))