unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#56960] [PATCH] * gnu: Add siglo.
@ 2022-08-03 20:23 Wamm K. D
  2022-08-11 11:56 ` Jean Pierre De Jesus DIAZ via Guix-patches via
  2022-08-11 19:00 ` Maxime Devos
  0 siblings, 2 replies; 10+ messages in thread
From: Wamm K. D @ 2022-08-03 20:23 UTC (permalink / raw)
  To: 56960; +Cc: Wamm K. D

* gnu/packages/flashing-tools.scm (siglo): Add package.
---
 gnu/packages/flashing-tools.scm | 78 +++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 08300cb860..4de3bee294 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -35,6 +35,7 @@ (define-module (gnu packages flashing-tools)
   #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages admin)
@@ -44,11 +45,19 @@ (define-module (gnu packages flashing-tools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages groff)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages libftdi)
   #:use-module (gnu packages pciutils)
@@ -559,3 +568,72 @@ (define-public uuu
     (description "@code{uuu} is a command line tool, evolved out of MFGTools.
 It can be used to upload images to I.MX SoC's using at least their boot ROM.")
     (license license:bsd-3)))
+
+(define-public siglo
+  (package
+    (name "siglo")
+    (version "0.9.9")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url (string-append "https://github.com/alexr4535/" name "/"))
+                    (commit (string-append "v" version))))
+              (sha256 (base32
+                       "0c08xvr6w77dm5mgzlh6imqdi13bshnp9rxmskvp3j7fki3aqcp2"))))
+    (build-system meson-build-system)
+    (native-inputs (list gettext-minimal
+                         ;; for 'glib-compile-resources', 'glib-compile-schemas'
+                         `(,glib "bin")
+                         pkg-config
+                         ;; for gtk-update-icon-cache
+                         `(,gtk+ "bin")))
+    (inputs (list desktop-file-utils
+                  appstream-glib
+                  python
+                  python-pyxdg
+                  python-gatt
+                  python-dbus
+                  python-pygobject
+                  python-requests
+                  python-urllib3
+                  python-chardet
+                  python-certifi
+                  python-idna))
+    (propagated-inputs (list gtk+))
+    (arguments
+     `(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'remove-internet-using-test
+           (lambda _
+             (substitute* "data/meson.build"
+               (("appstream_util.found\\(\\)") "false")
+               (((string-append
+                  "install_data[(]'siglo\\.service', "
+                  "install_dir: '/etc/systemd/user/'[)]"))
+                ""))))
+         (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/siglo")
+               `("GUIX_PYTHONPATH" = ,(map
+                                       (lambda (python-input)
+                                         (string-append (cdr python-input)
+                                                        "/lib/python"
+                                                        ,(version-major+minor
+                                                          (package-version python))
+                                                        "/site-packages"))
+                                       (filter
+                                        (lambda (input)
+                                          (string-prefix? "python" (car input)))
+                                        inputs)))
+               `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
+  (synopsis "GTK app to sync InfiniTime watch with PinePhone")
+  (description "@code{siglo} is a graphical tool to flash InfiniTime firmware to
+watches running the InfiniTime operating system, via 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.")
+  (home-page "https://github.com/theironrobin/siglo")
+  (license license:mpl2.0)))
-- 
2.37.1





^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2022-08-03 20:23 [bug#56960] [PATCH] * gnu: Add siglo Wamm K. D
@ 2022-08-11 11:56 ` Jean Pierre De Jesus DIAZ via Guix-patches via
  2022-08-31 20:44   ` Ludovic Courtès
  2022-08-11 19:00 ` Maxime Devos
  1 sibling, 1 reply; 10+ messages in thread
From: Jean Pierre De Jesus DIAZ via Guix-patches via @ 2022-08-11 11:56 UTC (permalink / raw)
  To: 56960@debbugs.gnu.org

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




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2022-08-03 20:23 [bug#56960] [PATCH] * gnu: Add siglo Wamm K. D
  2022-08-11 11:56 ` Jean Pierre De Jesus DIAZ via Guix-patches via
@ 2022-08-11 19:00 ` Maxime Devos
  2022-09-26 18:33   ` Wamm K. D.
  1 sibling, 1 reply; 10+ messages in thread
From: Maxime Devos @ 2022-08-11 19:00 UTC (permalink / raw)
  To: Wamm K. D, 56960


[-- Attachment #1.1.1: Type: text/plain, Size: 751 bytes --]

On 03-08-2022 22:23, Wamm K. D wrote:

See response by other reviewer (though I'm not sure about the 'name' 
thing, if we change the package name it's easy to adjust the url field 
too), and ...

> +    (propagated-inputs (list gtk+))

... why is it propagated?

> +               `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))

Using getenv in this way is incorrect when cross-compiling because it 
will look in native-inputs instead of inputs, but correcting that can 
wait until gtk+ is actually cross-compilable (and then we could write a 
convenient procedure for that).

For GUIX_PYTHONPATH, search-path-as-list can be useful (and slightly 
less fragile, as it does not depend on labels).

Greetings,
Maxime.


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2022-08-11 11:56 ` Jean Pierre De Jesus DIAZ via Guix-patches via
@ 2022-08-31 20:44   ` Ludovic Courtès
  2022-09-04 22:27     ` Wamm K. D.
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2022-08-31 20:44 UTC (permalink / raw)
  To: Wamm K. D; +Cc: Jean Pierre De Jesus DIAZ, 56960@debbugs.gnu.org

Hi  Wamm,

Could you send an updated patch taking into accounts the comments made
by Jean Pierre and Maxime?

Thanks in advance!

Ludo’.

Jean Pierre De Jesus DIAZ <me@jeandudey.tech> skribis:

> 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




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2022-08-31 20:44   ` Ludovic Courtès
@ 2022-09-04 22:27     ` Wamm K. D.
  0 siblings, 0 replies; 10+ messages in thread
From: Wamm K. D. @ 2022-09-04 22:27 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Jean Pierre De Jesus DIAZ, Wamm K. D, 56960@debbugs.gnu.org

Hey, Ludo.

I will; my spouse recently had surgery so my time's been a tad bit more stretched from other activities.

I'll make sure to get a response, though.

Wamm

On Wed, 31 Aug 2022 15:44:46 -0500,
Ludovic Courtès wrote:
> 
> Hi  Wamm,
> 
> Could you send an updated patch taking into accounts the comments made
> by Jean Pierre and Maxime?
> 
> Thanks in advance!
> 
> Ludo’.
> 
> Jean Pierre De Jesus DIAZ <me@jeandudey.tech> skribis:
> 
> > 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




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2022-08-11 19:00 ` Maxime Devos
@ 2022-09-26 18:33   ` Wamm K. D.
  2023-03-12  2:02     ` Jaft
  0 siblings, 1 reply; 10+ messages in thread
From: Wamm K. D. @ 2022-09-26 18:33 UTC (permalink / raw)
  To: Maxime Devos, Jean Pierre De Jesus DIAZ
  Cc: Ludovic Courtès, Wamm K. D, 56960

On Thu, 11 Aug 2022 11:56:00 +0000,
Jean Pierre De Jesus DIAZ wrote:
> 
> You'll probably want to use a list (argument (list ...)) instead of
> quasi-quoting, and also, use G-Expressions

Makes sense; adjusted.

> >+  (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.

That makes sense though, as a disabled person, I would warn that the
level of non-specificity can make things more difficult, as well. A
synopsis such as "Smartwatch synchronization application" is so
non-specific that, if I already know I'm looking for such an
application, I'm forced to dig through the much more detailed
description to figure out if it's relevant to my particular smartwatch.

This creates extra steps and more cognitive overload whereas a phrase
such as "InfiniTime watch", while dealing with the implementation,
allows me to easily tell whether this /particular/ smartphone
sync. app. has to do with the device I'm trying to use and, now, I can
take a look at the description to see if it has the features, etc. I want.

Otherwise, I have to look at the description of every smartphone
sync. app. (and all of the extra energy/effort could be for naught if
none of the smartphone sync. app.s available on Guix, at the moment,
deal with the smartwatch brand or OS that I'm looking for (like, say,
WaspOS for the PineTime).

This isn't at its absolute worst with the Guix CLI but, when a GUI is
made (say, in the style of Synaptic), it could be designed that the
packages and their synopses are first displayed and one has to click
on the package to see the description or expand it in some
manner. This increases the effort beyond just cognitive but to an
additional task.

I'm going to go with "Synchronize InfiniTime watch with PinePhone" as
mentioning the OS allows the user to know whether it's relevant to
their particular watch while the inclusion of the word "watch" lets
those who are unfamiliar with the tech. know that "InfiniTime" is
related to watches and watches are, in some way, involved.

> >+  (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.

No disagreements here; this is definitely clearer ("update", in
particular, as, while flashing is /how/ we update things, the really
relevant bit is that we're updating to a newer version; this phrasing
is much more clear).

I opted for "smartwatches" as the terminology is more specific and
accurate (without any more cognitive strain or processing).

> sync -> synchronize.

Makes sense and done.

> Maybe @itemize or @enumerate could be used to list the features provided

Yeah; that's much more clear to read and easily digest. Done.



On Thu, 11 Aug 2022 14:00:00 -0500,
Maxime Devos wrote:
> 
> > +    (propagated-inputs (list gtk+))
> 
> ... why is it propagated?

That's…a fair question; I could've sworn I'd been told, before, to
propagate =gtk+= but, looking through past E-mails, I can't find
anything to support that. Maybe I confused ~propagated-inputs~ and
~inputs~, for some reason.

In any case, I've corrected that.

> For GUIX_PYTHONPATH, search-path-as-list can be useful (and slightly
> less fragile, as it does not depend on labels).

Are you able to demonstrate what this might look like, especially with
in the context of using G-Expressions?

I couldn't find any examples of ~search-path-as-list~ in the
repo. which easily made this clear to me, unfortunately.

Thanks a ton.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2022-09-26 18:33   ` Wamm K. D.
@ 2023-03-12  2:02     ` Jaft
  2023-03-16 10:19       ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Jaft @ 2023-03-12  2:02 UTC (permalink / raw)
  To: Maxime Devos, Jean Pierre De Jesus DIAZ
  Cc: Ludovic Courtès, 56960@debbugs.gnu.org

Just checking back in on this one.






On Monday, September 26, 2022 at 01:33:59 PM CDT, Wamm K. D. <jaft.r@outlook.com> wrote: 





On Thu, 11 Aug 2022 11:56:00 +0000,
Jean Pierre De Jesus DIAZ wrote:
> 
> You'll probably want to use a list (argument (list ...)) instead of
> quasi-quoting, and also, use G-Expressions

Makes sense; adjusted.

> >+  (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.

That makes sense though, as a disabled person, I would warn that the
level of non-specificity can make things more difficult, as well. A
synopsis such as "Smartwatch synchronization application" is so
non-specific that, if I already know I'm looking for such an
application, I'm forced to dig through the much more detailed
description to figure out if it's relevant to my particular smartwatch.

This creates extra steps and more cognitive overload whereas a phrase
such as "InfiniTime watch", while dealing with the implementation,
allows me to easily tell whether this /particular/ smartphone
sync. app. has to do with the device I'm trying to use and, now, I can
take a look at the description to see if it has the features, etc. I want.

Otherwise, I have to look at the description of every smartphone
sync. app. (and all of the extra energy/effort could be for naught if
none of the smartphone sync. app.s available on Guix, at the moment,
deal with the smartwatch brand or OS that I'm looking for (like, say,
WaspOS for the PineTime).

This isn't at its absolute worst with the Guix CLI but, when a GUI is
made (say, in the style of Synaptic), it could be designed that the
packages and their synopses are first displayed and one has to click
on the package to see the description or expand it in some
manner. This increases the effort beyond just cognitive but to an
additional task.

I'm going to go with "Synchronize InfiniTime watch with PinePhone" as
mentioning the OS allows the user to know whether it's relevant to
their particular watch while the inclusion of the word "watch" lets
those who are unfamiliar with the tech. know that "InfiniTime" is
related to watches and watches are, in some way, involved.

> >+  (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.

No disagreements here; this is definitely clearer ("update", in
particular, as, while flashing is /how/ we update things, the really
relevant bit is that we're updating to a newer version; this phrasing
is much more clear).

I opted for "smartwatches" as the terminology is more specific and
accurate (without any more cognitive strain or processing).

> sync -> synchronize.

Makes sense and done.

> Maybe @itemize or @enumerate could be used to list the features provided

Yeah; that's much more clear to read and easily digest. Done.



On Thu, 11 Aug 2022 14:00:00 -0500,
Maxime Devos wrote:
> 
> > +    (propagated-inputs (list gtk+))
> 
> ... why is it propagated?

That's…a fair question; I could've sworn I'd been told, before, to
propagate =gtk+= but, looking through past E-mails, I can't find
anything to support that. Maybe I confused ~propagated-inputs~ and
~inputs~, for some reason.

In any case, I've corrected that.


> For GUIX_PYTHONPATH, search-path-as-list can be useful (and slightly
> less fragile, as it does not depend on labels).


Are you able to demonstrate what this might look like, especially with
in the context of using G-Expressions?

I couldn't find any examples of ~search-path-as-list~ in the
repo. which easily made this clear to me, unfortunately.

Thanks a ton.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2023-03-12  2:02     ` Jaft
@ 2023-03-16 10:19       ` Ludovic Courtès
  2023-03-17 16:03         ` Jaft
       [not found]         ` <887796113.1601186.1679068986036@mail.yahoo.com>
  0 siblings, 2 replies; 10+ messages in thread
From: Ludovic Courtès @ 2023-03-16 10:19 UTC (permalink / raw)
  To: Jaft; +Cc: Jean Pierre De Jesus DIAZ, Maxime Devos, 56960@debbugs.gnu.org

Hi Jaft,

Jaft <jaft.r@outlook.com> skribis:

> Just checking back in on this one.

I think we’re waiting for a second version of this patch from you,
taking into account comments that were made.

Could you send it or let us know if anything’s unclear?

Thanks in advance,
Ludovic.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
  2023-03-16 10:19       ` Ludovic Courtès
@ 2023-03-17 16:03         ` Jaft
       [not found]         ` <887796113.1601186.1679068986036@mail.yahoo.com>
  1 sibling, 0 replies; 10+ messages in thread
From: Jaft @ 2023-03-17 16:03 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Jean Pierre De Jesus DIAZ, Maxime Devos, 56960@debbugs.gnu.org

Hey, Ludovic.

I'd asked in my last E-mail if anyone was able to demonstrate what ~search-path-as-list~ might look like, especially within the context of using G-Expressions.

I hadn't been able to find any examples of ~search-path-as-list~ in the repo. which easily made it clear to me.

Playing around with it, the other day, things seemed to almost work with:

> (arguments (list #:glib-or-gtk? #t
>                  #:phases       #~(modify-phases %standard-phases
>                                     (add-before 'configure 'remove-internet-using-test
>                                       (lambda _
>                                         (substitute* "data/meson.build"
>                                           (("appstream_util.found\\(\\)")              "false")
>                                           (((string-append
>                                               "install_data[(]'siglo\\.service', "
>                                               "install_dir: '/etc/systemd/user/'[)]")) ""))))
>                                     (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
>                                       (lambda* (#:key outputs inputs #:allow-other-keys)
>                                         (wrap-program (string-append #$output "/bin/siglo")
>                                           `("GUIX_PYTHONPATH" = ,(search-path-as-list
>                                                                    `(,(string-append "/lib/python"
>                                                                                      (version-major+minor
>                                                                                       (package-version python))
>                                                                                      "/site-packages"))
>                                                                    (map
>                                                                      cdr
>                                                                      (filter
>                                                                        (lambda (input)
>                                                                          (string-prefix? "python" (car input)))
>                                                                        inputs))))
>                                           `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))

Was this similar to what was in mind? I'm getting an error of "Unbound variable: version-major+minor"; I'm guessing I need to import "(guix utils)" through "#:import" but I'm not terribly familiar with that usage (or even the why and nuances thereof).


On Thursday, March 16, 2023 at 05:19:26 AM CDT, Ludovic Courtès <ludo@gnu.org> wrote: 





Hi Jaft,

Jaft <jaft.r@outlook.com> skribis:

> Just checking back in on this one.

I think we’re waiting for a second version of this patch from you,
taking into account comments that were made.

Could you send it or let us know if anything’s unclear?

Thanks in advance,
Ludovic.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#56960] [PATCH] * gnu: Add siglo.
       [not found]         ` <887796113.1601186.1679068986036@mail.yahoo.com>
@ 2023-05-16 17:19           ` Jaft
  0 siblings, 0 replies; 10+ messages in thread
From: Jaft @ 2023-05-16 17:19 UTC (permalink / raw)
  To: Ludovic Courtès
  Cc: Jean Pierre De Jesus DIAZ, Maxime Devos, 56960@debbugs.gnu.org

Well, my naïve attempt of adding ~#:modules '((guix utils))~ (I'm not sure why I referred to that as ~#:import~, in my last E-mail…) didn't work; I just get back a "no code for module (guix utils)", in the logs.

I'm afraid I really don't understand why ~version-major+minor~ cannot be found, even with ~(guix utils)~ added as a module at the top level, or how to get around this.






On Friday, March 17, 2023 at 11:03:06 AM CDT, Jaft <jaft.r@outlook.com> wrote: 





Hey, Ludovic.

I'd asked in my last E-mail if anyone was able to demonstrate what ~search-path-as-list~ might look like, especially within the context of using G-Expressions.

I hadn't been able to find any examples of ~search-path-as-list~ in the repo. which easily made it clear to me.

Playing around with it, the other day, things seemed to almost work with:

> (arguments (list #:glib-or-gtk? #t
>                  #:phases       #~(modify-phases %standard-phases
>                                     (add-before 'configure 'remove-internet-using-test
>                                       (lambda _
>                                         (substitute* "data/meson.build"
>                                           (("appstream_util.found\\(\\)")              "false")
>                                           (((string-append
>                                               "install_data[(]'siglo\\.service', "
>                                               "install_dir: '/etc/systemd/user/'[)]")) ""))))
>                                     (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
>                                       (lambda* (#:key outputs inputs #:allow-other-keys)
>                                         (wrap-program (string-append #$output "/bin/siglo")
>                                           `("GUIX_PYTHONPATH" = ,(search-path-as-list
>                                                                    `(,(string-append "/lib/python"
>                                                                                      (version-major+minor
>                                                                                       (package-version python))
>                                                                                      "/site-packages"))
>                                                                    (map
>                                                                      cdr
>                                                                      (filter
>                                                                        (lambda (input)
>                                                                          (string-prefix? "python" (car input)))
>                                                                        inputs))))
>                                           `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))

Was this similar to what was in mind? I'm getting an error of "Unbound variable: version-major+minor"; I'm guessing I need to import "(guix utils)" through "#:import" but I'm not terribly familiar with that usage (or even the why and nuances thereof).


On Thursday, March 16, 2023 at 05:19:26 AM CDT, Ludovic Courtès <ludo@gnu.org> wrote: 





Hi Jaft,

Jaft <jaft.r@outlook.com> skribis:

> Just checking back in on this one.

I think we’re waiting for a second version of this patch from you,
taking into account comments that were made.

Could you send it or let us know if anything’s unclear?

Thanks in advance,
Ludovic.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-05-16 17:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-03 20:23 [bug#56960] [PATCH] * gnu: Add siglo Wamm K. D
2022-08-11 11:56 ` Jean Pierre De Jesus DIAZ via Guix-patches via
2022-08-31 20:44   ` Ludovic Courtès
2022-09-04 22:27     ` Wamm K. D.
2022-08-11 19:00 ` Maxime Devos
2022-09-26 18:33   ` Wamm K. D.
2023-03-12  2:02     ` Jaft
2023-03-16 10:19       ` Ludovic Courtès
2023-03-17 16:03         ` Jaft
     [not found]         ` <887796113.1601186.1679068986036@mail.yahoo.com>
2023-05-16 17:19           ` Jaft

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).