~ruther/guix-local

697ddb8850d7aeb612ec9402e86f82c44edf8c96 — Ludovic Courtès 9 years ago f1e900a
services: guix-publish: Add 'compression-level' and 'nar-path' fields.

* gnu/services/base.scm (<guix-publish-configuration>)[compression-level,
nar-path]: New fields.
(guix-publish-shepherd-service): Honor them.
* doc/guix.texi (Base Services): Document them.
2 files changed, 19 insertions(+), 2 deletions(-)

M doc/guix.texi
M gnu/services/base.scm
M doc/guix.texi => doc/guix.texi +9 -0
@@ 9032,6 9032,15 @@ The TCP port to listen for connections.
@item @code{host} (default: @code{"localhost"})
The host (and thus, network interface) to listen to.  Use
@code{"0.0.0.0"} to listen on all the network interfaces.

@item @code{compression-level} (default: @code{3})
The gzip compression level at which substitutes are compressed.  Use
@code{0} to disable compression altogether, and @code{9} to get the best
compression ratio at the expense of increased CPU usage.

@item @code{nar-path} (default: @code{"nar"})
The URL path at which ``nars'' can be fetched.  @xref{Invoking guix
publish, @code{--nar-path}}, for details.
@end table
@end deftp


M gnu/services/base.scm => gnu/services/base.scm +10 -2
@@ 127,6 127,8 @@
            guix-publish-configuration-guix
            guix-publish-configuration-port
            guix-publish-configuration-host
            guix-publish-configuration-compression-level
            guix-publish-configuration-nar-path
            guix-publish-service
            guix-publish-service-type



@@ 1438,11 1440,15 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
  (port    guix-publish-configuration-port        ;number
           (default 80))
  (host    guix-publish-configuration-host        ;string
           (default "localhost")))
           (default "localhost"))
  (compression-level guix-publish-compression-level ;integer
                     (default 3))
  (nar-path    guix-publish-nar-path              ;string
               (default "nar")))

(define guix-publish-shepherd-service
  (match-lambda
    (($ <guix-publish-configuration> guix port host)
    (($ <guix-publish-configuration> guix port host compression nar-path)
     (list (shepherd-service
            (provision '(guix-publish))
            (requirement '(guix-daemon))


@@ 1450,6 1456,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
                      (list #$(file-append guix "/bin/guix")
                            "publish" "-u" "guix-publish"
                            "-p" #$(number->string port)
                            "-C" #$(number->string compression)
                            (string-append "--nar-path=" #$nar-path)
                            (string-append "--listen=" #$host))))
            (stop #~(make-kill-destructor)))))))