From 697ddb8850d7aeb612ec9402e86f82c44edf8c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 23 Mar 2017 14:07:00 +0100 Subject: [PATCH] services: guix-publish: Add 'compression-level' and 'nar-path' fields. * gnu/services/base.scm ()[compression-level, nar-path]: New fields. (guix-publish-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them. --- doc/guix.texi | 9 +++++++++ gnu/services/base.scm | 12 ++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b452b087f1..fb0862096a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 0de83f36c8..95a1ba2a6c 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -127,6 +127,8 @@ (define-module (gnu services base) 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 @@ (define-record-type* (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 port host) + (($ guix port host compression nar-path) (list (shepherd-service (provision '(guix-publish)) (requirement '(guix-daemon)) @@ -1450,6 +1456,8 @@ (define guix-publish-shepherd-service (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)))))))