Subject: [bug#63053] [PATCH 0/3] Fix "guix import crate"

From: Simon Tournier <[email-masked]>
Date: Mon, 24 Apr 2023 17:48:01 +0200

Hi,

Consider,

--8<---------------cut here---------------start------------->8---
$ guix import crate non-existent
guix import: error: failed to download meta-data for package 'non-existent'
--8<---------------cut here---------------end--------------->8---

and then,

--8<---------------cut here---------------start------------->8---
$ guix import crate non-existent -r
Backtrace:
           5 (primitive-load "/home/simon/.config/guix/current/bin/guix")
In guix/ui.scm:
   2300:7  4 (run-guix . _)
  2263:10  3 (run-guix-command _ . _)
In guix/scripts/import.scm:
    89:11  2 (guix-import . _)
In guix/import/utils.scm:
   638:27  1 (recursive-import "non-existent" #:repo->guix-package _ #:guix-name _ #:version _ . _)
   630:33  0 (lookup-node "non-existent" #f)

guix/import/utils.scm:630:33: In procedure lookup-node:
Wrong number of values returned to continuation (expected 2)
--8<---------------cut here---------------end--------------->8---

as reported by #63030 [1].  This patch set fixes that.

Note that ’guile-semver’ is already part of ’self’ but not part of ’guix’,
therefore “guix shell -D guix” does not provide the necessary guile-semver for
testing with ./pre-inst-env.

1: https://issues.guix.gnu.org/issue/63020

Simon Tournier (3):
  guix: import: crate: Fix incorrect returned values.
  scripts: import: crate: Handle non-existent package.
  gnu: guix: Add guile-semver.

 gnu/packages/package-management.scm |  1 +
 guix/import/crate.scm               | 54 +++++++++++++++--------------
 guix/scripts/import/crate.scm       | 20 ++++++-----
 3 files changed, 40 insertions(+), 35 deletions(-)

base-commit: 9350347dabd0f25f89fd2a703a250b20872ad911
-- 
2.38.1