[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#63053] [PATCH 2/3] scripts: import: crate: Handle non-existent pack
From: |
Simon Tournier |
Subject: |
[bug#63053] [PATCH 2/3] scripts: import: crate: Handle non-existent package. |
Date: |
Mon, 24 Apr 2023 17:51:18 +0200 |
Fixes <https://bugs/gnu.org/63020>.
* guix/scripts/import/crate.scm (guix-import-crate): Handle non-existent
package input.
---
guix/scripts/import/crate.scm | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/guix/scripts/import/crate.scm b/guix/scripts/import/crate.scm
index 97152904ac..038faa87db 100644
--- a/guix/scripts/import/crate.scm
+++ b/guix/scripts/import/crate.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,15 +91,16 @@ (define (parse-options)
(define-values (name version)
(package-name->name+version spec))
- (if (assoc-ref opts 'recursive)
- (crate-recursive-import name #:version version)
- (let ((sexp (crate->guix-package name #:version version
#:include-dev-deps? #t)))
- (unless sexp
- (leave (G_ "failed to download meta-data for package '~a'~%")
- (if version
- (string-append name "@" version)
- name)))
- (list sexp))))
+ (match (if (assoc-ref opts 'recursive)
+ (crate-recursive-import name #:version version)
+ (crate->guix-package name #:version version
#:include-dev-deps? #t))
+ ((or #f '())
+ (leave (G_ "failed to download meta-data for package '~a'~%")
+ (if version
+ (string-append name "@" version)
+ name)))
+ ((? list? sexps) sexps)
+ (sexp (list sexp))))
(()
(leave (G_ "too few arguments~%")))
((many ...)
--
2.38.1