From e24555234a2914ccd2f6291f9ca95f60f137d74f Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Sat, 25 Feb 2023 18:58:10 +0000 Subject: [PATCH] services: lirc: Deprecate 'lirc-service' procedure. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Miscellaneous Services): Replace 'lirc-service' with 'lirc-service-type'. Document . * gnu/services/lirc.scm (): 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 --- doc/guix.texi | 40 +++++++++++++++++++++++++++------------- gnu/services/lirc.scm | 18 ++++++++++++------ 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{} 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 , 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.