Subject: [bug#56960] [PATCH] * gnu: Add siglo.

From: Jean Pierre De Jesus DIAZ <[email-masked]>
Date: Thu, 11 Aug 2022 11:56:00 +0000

Hello,

Just a quick review.

>+                    (url (string-append "https://github.com/alexr4535/" name "/"))

`name' is discouraged from being used on the source URL.

If the package name changes, the URL does too. Can't recall where I saw it if
on the documentation or IRC.

>+    (arguments
>+     `(#:glib-or-gtk? #t
>+       #:phases
>+       (modify-phases %standard-phases

You'll probably want to use a list (argument (list ...)) instead of
quasi-quoting, and also, use G-Expressions, see (guix)G-Expressions:

https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html

As the method used for the package is being phased out.

For example:

(arguments
 (list #:glib-or-gtk? #t
       #:phases
       #~(modify-phases %standard-phases
            ...)))

>+             (wrap-program (string-append (assoc-ref outputs "out")
>+                                          "/bin/siglo")

After using G-Expressions, this can be simplified to:

(wrap-program (string-append #$output "/bin/siglo")
  ...)

>+  (synopsis "GTK app to sync InfiniTime watch with PinePhone")

GTK is an implementation detail, no need to be specified, and if necessary,
better suited for the description.

See (guix)Synopses and Descriptions:

https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html

For example, variations could include:

* "Application to synchronize InfiniTime with PinePhone"
* "Synchronize InifniTime with PinePhone"
* "Smartwatch synchronization application"
* etc.

Keep in mind that synopsis != description. Probably someone with more experience
than me could correct me on this topic.

>+  (description "@code{siglo} is a graphical tool to flash InfiniTime firmware to
>+watches running the InfiniTime operating system, via bluetooth.

flash -> update (non-technical term).
watches -> PineTime watches (or PineTime smartwatches).
bluetooth > Bluetooth.

>+Users can also sync the time of their watch to the time of the device running
>+@code{siglo} as well as check the battery charge of their watch or what version
>+of firmware their watch is running.

sync -> synchronize.

Maybe @itemize or @enumerate could be used to list the features provided, like so:

Siglo (or @code{siglo}) provides the following features:

@itemize
@item Retrieve the version of the InfiniTime firmware running.
@item Check the battery charge.
@item Synchronize the time.
@end itemize

>--- a/gnu/packages/flashing-tools.scm
>+++ b/gnu/packages/flashing-tools.scm

Not entirely sure if this belongs in this category. Or if there's another applicable.

—
Jean-Pierre De Jesus DIAZ