unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#67898] [PATCH] guix: import: composer: Handle parsing failures.
@ 2023-12-19 11:19 Nicolas Graves via Guix-patches via
  2023-12-19 11:38 ` [bug#67898] [PATCH v2] " Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2023-12-19 11:19 UTC (permalink / raw)
  To: 67898; +Cc: ludo, ngraves

* guix/import/composer (latest-release): Handle parsing failures.

Change-Id: I14936c2c6e6a850a32fe56891766ae92b693a295
---
 guix/import/composer.scm | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/guix/import/composer.scm b/guix/import/composer.scm
index 069a950f90..b40285620d 100644
--- a/guix/import/composer.scm
+++ b/guix/import/composer.scm
@@ -246,13 +246,18 @@ (define (php-package? package)
 (define* (latest-release package #:key (version #f))
   "Return an <upstream-source> for the latest release of PACKAGE."
   (let* ((php-name (guix-package->composer-name package))
-         (package (composer-fetch php-name #:version version))
-         (version (composer-package-version package))
-         (url (composer-source-url (composer-package-source package))))
-    (upstream-source
-     (package (composer-package-name package))
-     (version version)
-     (urls (list url)))))
+         (package (composer-fetch php-name #:version version)))
+    (match package
+      (#f
+       (format (current-error-port)
+               "warning: failed to parse ~a~%"
+               php-name)
+       #f)
+      (_
+       (upstream-source
+        (package (composer-package-name package))
+        (version (composer-package-version package))
+        (urls (composer-source-url (composer-package-source package))))))))
 
 (define %composer-updater
   (upstream-updater
-- 
2.41.0





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

* [bug#67898] [PATCH v2] guix: import: composer: Handle parsing failures.
  2023-12-19 11:19 [bug#67898] [PATCH] guix: import: composer: Handle parsing failures Nicolas Graves via Guix-patches via
@ 2023-12-19 11:38 ` Nicolas Graves via Guix-patches via
  2024-04-05 20:09   ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2023-12-19 11:38 UTC (permalink / raw)
  To: 67898; +Cc: ludo, ngraves

* guix/import/composer (latest-release): Handle parsing
failures. Rename package to composer-package for clarity.

Change-Id: I14936c2c6e6a850a32fe56891766ae92b693a295
---
 guix/import/composer.scm | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/guix/import/composer.scm b/guix/import/composer.scm
index 069a950f90..b23af1b91f 100644
--- a/guix/import/composer.scm
+++ b/guix/import/composer.scm
@@ -246,13 +246,19 @@ (define (php-package? package)
 (define* (latest-release package #:key (version #f))
   "Return an <upstream-source> for the latest release of PACKAGE."
   (let* ((php-name (guix-package->composer-name package))
-         (package (composer-fetch php-name #:version version))
-         (version (composer-package-version package))
-         (url (composer-source-url (composer-package-source package))))
-    (upstream-source
-     (package (composer-package-name package))
-     (version version)
-     (urls (list url)))))
+         (composer-package (composer-fetch php-name #:version version)))
+    (match composer-package
+      (#f
+       (format (current-error-port)
+               "warning: failed to parse ~a~%"
+               php-name)
+       #f)
+      (_
+       (upstream-source
+        (package (composer-package-name composer-package))
+        (version (composer-package-version composer-package))
+        (urls (list (composer-source-url
+                     (composer-package-source composer-package)))))))))
 
 (define %composer-updater
   (upstream-updater
-- 
2.41.0





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

* [bug#67898] [PATCH v2] guix: import: composer: Handle parsing failures.
  2023-12-19 11:38 ` [bug#67898] [PATCH v2] " Nicolas Graves via Guix-patches via
@ 2024-04-05 20:09   ` Ludovic Courtès
  2024-04-06  0:55     ` Nicolas Graves via Guix-patches via
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2024-04-05 20:09 UTC (permalink / raw)
  To: Nicolas Graves; +Cc: 67898

Hi,

Nicolas Graves <ngraves@ngraves.fr> skribis:

> * guix/import/composer (latest-release): Handle parsing
> failures. Rename package to composer-package for clarity.
>
> Change-Id: I14936c2c6e6a850a32fe56891766ae92b693a295

[...]

> +    (match composer-package
> +      (#f
> +       (format (current-error-port)
> +               "warning: failed to parse ~a~%"
> +               php-name)

Please use ‘warning’ from (guix diagnostics) instead.

Does #f necessarily indicate a parse error?  Couldn’t we have more
detailed info about the error?  (Not a blocker but it would be nice.)

> +       #f)
> +      (_
> +       (upstream-source

Nitpick: I’d suggest using a plain ‘if’ rather than ‘match’ in this case
since it’s a binary choice without destructuring.

Could you send an updated patch?

Thanks,
Ludo’.




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

* [bug#67898] [PATCH v2] guix: import: composer: Handle parsing failures.
  2024-04-05 20:09   ` Ludovic Courtès
@ 2024-04-06  0:55     ` Nicolas Graves via Guix-patches via
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Graves via Guix-patches via @ 2024-04-06  0:55 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 67898

On 2024-04-05 22:09, Ludovic Courtès wrote:

>> +    (match composer-package
>> +      (#f
>> +       (format (current-error-port)
>> +               "warning: failed to parse ~a~%"
>> +               php-name)
>
> Does #f necessarily indicate a parse error?  Couldn’t we have more
> detailed info about the error?  (Not a blocker but it would be nice.)
>

Well if go through the changes, it could fail on each step of the let*,
so we could indeed be more precise, though it eventually comes down to
a fetch or parsing error. Will fix this in a later patch.

Actually I'm probably going to merge the different patches in a single
patch series, that would make it more convenient to review on your side.


>> +       #f)
>> +      (_
>> +       (upstream-source
>
> Nitpick: I’d suggest using a plain ‘if’ rather than ‘match’ in this case
> since it’s a binary choice without destructuring.
>
> Could you send an updated patch?
>
> Thanks,
> Ludo’.

-- 
Best regards,
Nicolas Graves




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

end of thread, other threads:[~2024-04-06  0:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-19 11:19 [bug#67898] [PATCH] guix: import: composer: Handle parsing failures Nicolas Graves via Guix-patches via
2023-12-19 11:38 ` [bug#67898] [PATCH v2] " Nicolas Graves via Guix-patches via
2024-04-05 20:09   ` Ludovic Courtès
2024-04-06  0:55     ` Nicolas Graves via Guix-patches via

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).