From: zimoun <zimon.toutoune@gmail.com>
To: 45984@debbugs.gnu.org
Subject: [bug#45984] [PATCH 5/5] scripts: import: gem: Fix recursive error handling.
Date: Tue, 19 Jan 2021 16:47:21 +0100 [thread overview]
Message-ID: <20210119154721.11999-5-zimon.toutoune@gmail.com> (raw)
In-Reply-To: <20210119154721.11999-1-zimon.toutoune@gmail.com>
Fixes partially <https://bugs.gnu.org/44115>.
* guix/scripts/import/gem.scm (guix-import-gem): Handle error.
---
guix/scripts/import/gem.scm | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/guix/scripts/import/gem.scm b/guix/scripts/import/gem.scm
index c64596b514..99a2955e4c 100644
--- a/guix/scripts/import/gem.scm
+++ b/guix/scripts/import/gem.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -88,18 +89,20 @@ Import and convert the RubyGems package for PACKAGE-NAME.\n"))
(reverse opts))))
(match args
((package-name)
- (if (assoc-ref opts 'recursive)
- (map (match-lambda
- ((and ('package ('name name) . rest) pkg)
- `(define-public ,(string->symbol name)
- ,pkg))
- (_ #f))
- (gem-recursive-import package-name 'rubygems))
- (let ((sexp (gem->guix-package package-name)))
- (unless sexp
- (leave (G_ "failed to download meta-data for package '~a'~%")
- package-name))
- sexp)))
+ (let ((code (if (assoc-ref opts 'recursive)
+ (map (match-lambda
+ ((and ('package ('name name) . rest) pkg)
+ `(define-public ,(string->symbol name)
+ ,pkg))
+ (_ #f))
+ (gem-recursive-import package-name 'rubygems))
+ (let ((sexp (gem->guix-package package-name)))
+ (if sexp sexp #f)))))
+ (match code
+ ((or #f '(#f))
+ (leave (G_ "failed to download meta-data for package '~a'~%")
+ package-name))
+ (_ code))))
(()
(leave (G_ "too few arguments~%")))
((many ...)
--
2.29.2
next prev parent reply other threads:[~2021-01-19 15:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-19 15:45 [bug#45984] [PATCH 0/5] Fix recursive importers zimoun
2021-01-19 15:47 ` [bug#45984] [PATCH 1/5] import: pypi: Return 'values' zimoun
2021-01-19 15:47 ` [bug#45984] [PATCH 2/5] import: hackage: " zimoun
2021-01-19 15:47 ` [bug#45984] [PATCH 3/5] import: elpa: " zimoun
2021-01-19 15:47 ` [bug#45984] [PATCH 4/5] import: cran: " zimoun
2021-01-19 15:47 ` zimoun [this message]
2021-01-26 22:24 ` [bug#45984] [PATCH 0/5] Fix recursive importers Ludovic Courtès
2021-01-26 23:16 ` zimoun
2021-01-28 13:22 ` Ludovic Courtès
2021-01-28 22:07 ` zimoun
2022-03-07 21:52 ` bug#45984: " Ludovic Courtès
2022-03-08 8:36 ` [bug#45984] " zimoun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210119154721.11999-5-zimon.toutoune@gmail.com \
--to=zimon.toutoune@gmail.com \
--cc=45984@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).