Message ID | 20241006235605.24248-1-ngraves@ngraves.fr |
---|---|
State | New |
Headers | show |
Series | [bug#70227,v2,1/2] guix: import: composer: Handle parsing failures. | expand |
Hi, Nicolas Graves <ngraves@ngraves.fr> skribis: > * guix/import/composer (latest-release): Handle parsing > failures. Rename package to composer-package for clarity. > > Change-Id: I57f6fba7b05122b031177681e76cf0b5c9547736 [...] > * guix/import/composer.scm > (guix-package->composer-name): Simplify. > (composer-fetch): Replace reduce by fold to correct version selection logic. > (latest-release): Implement recursive package refresh. Rename to import-release. > (import-release): New function, formerly known as latest-release. > > Change-Id: I8f629b4d1da866f5986d39b4e159f2b44af9ee49 Applied, thanks! There are no new tests (we could improve on that…) but at least those already in ‘tests/composer.scm’ still pass. Ludo’.
diff --git a/guix/import/composer.scm b/guix/import/composer.scm index 1ad608964b..75419ca63e 100644 --- a/guix/import/composer.scm +++ b/guix/import/composer.scm @@ -243,16 +243,19 @@ (define (php-package? package) (eq? (package-build-system package) composer-build-system) (string-prefix? "php-" (package-name package)))) -(define (latest-release 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 (composer-package-version package)) - (url (composer-source-url (composer-package-source package)))) - (upstream-source - (package (package-name package)) - (version version) - (urls (list url))))) + (composer-package (composer-fetch php-name #:version version))) + (if composer-package + (upstream-source + (package (composer-package-name composer-package)) + (version (composer-package-version composer-package)) + (urls (list (composer-source-url + (composer-package-source composer-package))))) + (begin + (warning (G_ "failed to parse ~a~%") php-name) + #f)))) (define %composer-updater (upstream-updater