summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/messaging.scm9
2 files changed, 10 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index c2640e5063c..88a15057792 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -30407,6 +30407,9 @@ The @code{ngircd} package to use.
30407@item @code{debug?} (default: @code{#f}) (type: boolean) 30407@item @code{debug?} (default: @code{#f}) (type: boolean)
30408Turn on debugging messages. 30408Turn on debugging messages.
30409 30409
30410@item @code{shepherd-requirement} (default: @code{(user-processes)}) (type: list-of-symbols)
30411Shepherd requirements the service should depend on.
30412
30410@item @code{global} (type: ngircd-global) 30413@item @code{global} (type: ngircd-global)
30411A ngircd-global record object used to specify global options. 30414A ngircd-global record object used to specify global options.
30412 30415
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index 6a3569aa4cb..c0f1f83d66e 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -68,6 +68,7 @@
68 ngircd-configuration? 68 ngircd-configuration?
69 ngircd-configuration-ngircd 69 ngircd-configuration-ngircd
70 ngircd-configuration-debug? 70 ngircd-configuration-debug?
71 ngircd-configuration-shepherd-requirement
71 ngircd-configuration-global 72 ngircd-configuration-global
72 ngircd-configuration-limits 73 ngircd-configuration-limits
73 ngircd-configuration-options 74 ngircd-configuration-options
@@ -1415,6 +1416,10 @@ for different users. Refer to @samp{man 5 ngircd.conf} for more details.")
1415 (boolean #f) 1416 (boolean #f)
1416 "Turn on debugging messages." 1417 "Turn on debugging messages."
1417 (serializer empty-serializer)) 1418 (serializer empty-serializer))
1419 (shepherd-requirement
1420 (list-of-symbols '(user-processes))
1421 "Shepherd requirements the service should depend on."
1422 (serializer empty-serializer))
1418 (global 1423 (global
1419 ;; Always use a ngircd-global default to ensure the default addresses 1424 ;; Always use a ngircd-global default to ensure the default addresses
1420 ;; listened to are known (used to compute the socket endpoints). 1425 ;; listened to are known (used to compute the socket endpoints).
@@ -1583,7 +1588,7 @@ wrapper for the 'ngircd' command."
1583 1588
1584(define (ngircd-shepherd-service config) 1589(define (ngircd-shepherd-service config)
1585 (match-record config <ngircd-configuration> 1590 (match-record config <ngircd-configuration>
1586 (ngircd debug? global ssl) 1591 (ngircd debug? global shepherd-requirement ssl)
1587 (let* ((ngircd.conf (serialize-ngircd-configuration config)) 1592 (let* ((ngircd.conf (serialize-ngircd-configuration config))
1588 (ngircd (file-append ngircd "/sbin/ngircd")) 1593 (ngircd (file-append ngircd "/sbin/ngircd"))
1589 (addresses (ngircd-global-listen global)) 1594 (addresses (ngircd-global-listen global))
@@ -1594,7 +1599,7 @@ wrapper for the 'ngircd' command."
1594 ports*))) 1599 ports*)))
1595 (list (shepherd-service 1600 (list (shepherd-service
1596 (provision '(ngircd)) 1601 (provision '(ngircd))
1597 (requirement '(user-processes networking syslogd)) 1602 (requirement shepherd-requirement)
1598 (modules (cons '(srfi srfi-1) %default-modules)) 1603 (modules (cons '(srfi srfi-1) %default-modules))
1599 (actions (list (shepherd-configuration-action ngircd.conf))) 1604 (actions (list (shepherd-configuration-action ngircd.conf)))
1600 (start #~(make-systemd-constructor 1605 (start #~(make-systemd-constructor