summary refs log tree commit diff
diff options
context:
space:
mode:
authorBruno Victal <mirai@makinata.eu>2023-02-25 18:58:10 +0000
committerLudovic Courtès <ludo@gnu.org>2023-03-03 17:55:34 +0100
commite24555234a2914ccd2f6291f9ca95f60f137d74f (patch)
tree43885716b1d29bbce6c95d1265713642ef6a5099
parenteddd9b1240897caabf64c90549ffa940eef45ce7 (diff)
downloadguix-e24555234a2914ccd2f6291f9ca95f60f137d74f.tar.gz
services: lirc: Deprecate 'lirc-service' procedure.
* doc/guix.texi (Miscellaneous Services): Replace 'lirc-service' with 'lirc-service-type'.
Document <lirc-configuration>.
* gnu/services/lirc.scm (<lirc-configuration>): Set default values based on
the arguments from the now deprecated 'lirc-service' procedure.
(lirc-service-type): Set default value.
(lirc-service): Deprecate procedure.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--doc/guix.texi40
-rw-r--r--gnu/services/lirc.scm18
2 files changed, 39 insertions, 19 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 937b85e16c..54b75dd1f8 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -37726,24 +37726,38 @@ under @file{pcsc/drivers} in the store directory of the package.
 @end table
 @end deftp
 
-@cindex lirc
-@subsubheading Lirc Service
+@cindex LIRC
+@subsubheading LIRC Service
 
 The @code{(gnu services lirc)} module provides the following service.
 
-@deffn {Scheme Procedure} lirc-service [#:lirc lirc] @
-       [#:device #f] [#:driver #f] [#:config-file #f] @
-       [#:extra-options '()]
-Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that
-decodes infrared signals from remote controls.
+@defvar lirc-service-type
+Type for a service that runs @url{http://www.lirc.org, LIRC}, a daemon
+that decodes infrared signals from remote controls.
 
-Optionally, @var{device}, @var{driver} and @var{config-file}
-(configuration file name) may be specified.  See @command{lircd} manual
-for details.
+The value for this service is a @code{<lirc-configuration>} object.
+@end defvar
 
-Finally, @var{extra-options} is a list of additional command-line options
-passed to @command{lircd}.
-@end deffn
+@deftp {Data Type} lirc-configuration
+Data type representing the configuration of @command{lircd}.
+
+@table @asis
+@item @code{lirc} (default: @code{lirc}) (type: file-like)
+Package object for @command{lirc}.
+
+@item @code{device} (default: @code{#f}) (type: string)
+@itemx @code{driver} (default: @code{#f}) (type: string)
+@itemx @code{config-file} (default: @code{#f}) (type: string-or-file-like)
+TODO.  See @command{lircd} manual for details.
+
+@item @code{extra-options} (default: @code{'()}) (type: list-of-string)
+Additional command-line options to pass to @command{lircd}.
+
+@end table
+@end deftp
+
+@c TODO: Document <lirc-configuration>, preferably by refactoring this to use
+@c       define-configuration and generating documentation from it.
 
 @cindex spice
 @subsubheading Spice Service
diff --git a/gnu/services/lirc.scm b/gnu/services/lirc.scm
index 492d77defa..92784b65ca 100644
--- a/gnu/services/lirc.scm
+++ b/gnu/services/lirc.scm
@@ -21,12 +21,13 @@
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu packages lirc)
+  #:use-module (guix deprecation)
   #:use-module (guix gexp)
   #:use-module (guix records)
   #:use-module (ice-9 match)
   #:export (lirc-configuration
             lirc-configuation?
-            lirc-service
+            lirc-service  ; deprecated
             lirc-service-type))
 
 ;;; Commentary:
@@ -40,9 +41,12 @@
   lirc-configuation?
   (lirc          lirc-configuration-lirc          ;file-like
                  (default lirc))
-  (device        lirc-configuration-device)       ;string
-  (driver        lirc-configuration-driver)       ;string
-  (config-file   lirc-configuration-file)         ;string | file-like object
+  (device        lirc-configuration-device        ;string
+                 (default #f))
+  (driver        lirc-configuration-driver        ;string
+                 (default #f))
+  (config-file   lirc-configuration-file          ;string | file-like object
+                 (default #f))
   (extra-options lirc-configuration-options       ;list of strings
                  (default '())))
 
@@ -81,11 +85,13 @@
                        (service-extension activation-service-type
                                           (const %lirc-activation))))
                 (description "Run LIRC, a daemon that decodes infrared signals
-from remote controls.")))
+from remote controls.")
+                (default-value (lirc-configuration))))
 
-(define* (lirc-service #:key (lirc lirc)
+(define-deprecated (lirc-service #:key (lirc lirc)
                        device driver config-file
                        (extra-options '()))
+  lirc-service-type
   "Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that
 decodes infrared signals from remote controls.