import: crate: Gracefully handle non-existent crates.
authorLudovic Courtès <ludo@gnu.org>
Mon, 27 Apr 2020 20:17:53 +0000 (22:17 +0200)
committerLudovic Courtès <ludo@gnu.org>
Mon, 27 Apr 2020 21:29:40 +0000 (23:29 +0200)
Fixes <https://bugs.gnu.org/40891>.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* guix/import/crate.scm (crate->guix-package): Wrap value of
'version-number' and 'version*' in (and crate ...).

guix/import/crate.scm

index 0b4482e..e3ec11d 100644 (file)
@@ -201,14 +201,16 @@ latest version of CRATE-NAME."
     (lookup-crate crate-name))
 
   (define version-number
-    (or version
-        (crate-latest-version crate)))
+    (and crate
+         (or version
+             (crate-latest-version crate))))
 
   (define version*
-    (find (lambda (version)
-            (string=? (crate-version-number version)
-                      version-number))
-          (crate-versions crate)))
+    (and crate
+         (find (lambda (version)
+                 (string=? (crate-version-number version)
+                           version-number))
+               (crate-versions crate))))
 
   (and crate version*
        (let* ((dependencies   (crate-version-dependencies version*))