diff mbox series

[bug#66099,gnome-team,v7,2/5] services: udev: unify udev-rule and file->udev-rule.

Message ID 77c5be1f9c3b50fdd4f61cf2e4f80b6900b89a65.1696482243.git.vivien@planete-kraus.eu
State New
Headers show
Series Update eudev with a snippet, udev-service-type, upower | expand

Commit Message

Vivien Kraus Oct. 4, 2023, 9:05 p.m. UTC
* gnu/services/base.scm (udev-rule): Implements in terms of file->udev-rule.
Use texinfo in docstring.
---
 gnu/services/base.scm | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

Comments

Maxim Cournoyer Oct. 5, 2023, 1:30 p.m. UTC | #1
Hi,

Vivien Kraus <vivien@planete-kraus.eu> writes:

> * gnu/services/base.scm (udev-rule): Implements in terms of file->udev-rule.
> Use texinfo in docstring.
> ---
>  gnu/services/base.scm | 17 +++--------------
>  1 file changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/gnu/services/base.scm b/gnu/services/base.scm
> index b3f2d2e8b8..190803b780 100644
> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -2211,20 +2211,9 @@ (define (udev-rules-union packages)
>    (computed-file "udev-rules" build))
>  
>  (define (udev-rule file-name contents)
> -  "Return a directory with a udev rule file FILE-NAME containing CONTENTS."
> -  (computed-file file-name
> -                 (with-imported-modules '((guix build utils))
> -                   #~(begin
> -                       (use-modules (guix build utils))
> -
> -                       (define rules.d
> -                         (string-append #$output "/lib/udev/rules.d"))
> -
> -                       (mkdir-p rules.d)
> -                       (call-with-output-file
> -                           (string-append rules.d "/" #$file-name)
> -                         (lambda (port)
> -                           (display #$contents port)))))))
> +  "Return a directory with a udev rule file @var{file-name} containing
> +@var{contents}."
> +  (file->udev-rule file-name (plain-file file-name contents)))

That one LGTM!
Maxim Cournoyer Oct. 5, 2023, 1:33 p.m. UTC | #2
Oops, I just noted something:

Vivien Kraus <vivien@planete-kraus.eu> writes:

> * gnu/services/base.scm (udev-rule): Implements in terms of file->udev-rule.
> Use texinfo in docstring.
> ---
>  gnu/services/base.scm | 17 +++--------------
>  1 file changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/gnu/services/base.scm b/gnu/services/base.scm
> index b3f2d2e8b8..190803b780 100644
> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -2211,20 +2211,9 @@ (define (udev-rules-union packages)
>    (computed-file "udev-rules" build))
>  
>  (define (udev-rule file-name contents)
> -  "Return a directory with a udev rule file FILE-NAME containing CONTENTS."
> -  (computed-file file-name
> -                 (with-imported-modules '((guix build utils))
> -                   #~(begin
> -                       (use-modules (guix build utils))
> -
> -                       (define rules.d
> -                         (string-append #$output "/lib/udev/rules.d"))
> -
> -                       (mkdir-p rules.d)
> -                       (call-with-output-file
> -                           (string-append rules.d "/" #$file-name)
> -                         (lambda (port)
> -                           (display #$contents port)))))))
> +  "Return a directory with a udev rule file @var{file-name} containing
> +@var{contents}."
> +  (file->udev-rule file-name (plain-file file-name contents)))

I'm not sure using Texinfo in plain docstrings provides much; there's no
tooling to render them and it's a convention to use FULL CAPS for
variable names in Guile doc strings, at least in the Guix code base.

I'd leave it as is.
diff mbox series

Patch

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index b3f2d2e8b8..190803b780 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2211,20 +2211,9 @@  (define (udev-rules-union packages)
   (computed-file "udev-rules" build))
 
 (define (udev-rule file-name contents)
-  "Return a directory with a udev rule file FILE-NAME containing CONTENTS."
-  (computed-file file-name
-                 (with-imported-modules '((guix build utils))
-                   #~(begin
-                       (use-modules (guix build utils))
-
-                       (define rules.d
-                         (string-append #$output "/lib/udev/rules.d"))
-
-                       (mkdir-p rules.d)
-                       (call-with-output-file
-                           (string-append rules.d "/" #$file-name)
-                         (lambda (port)
-                           (display #$contents port)))))))
+  "Return a directory with a udev rule file @var{file-name} containing
+@var{contents}."
+  (file->udev-rule file-name (plain-file file-name contents)))
 
 (define (file->udev-rule file-name file)
   "Return a directory with a udev rule file FILE-NAME which is a copy of FILE."