summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-09-02 14:45:17 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-09-02 14:45:17 +0200
commitc7358ac4fc6369cdf87f95ec8600a21e809a22eb (patch)
tree65785d5dc1ef7c3fcc0ebf0c98e9a62f3e534162
parente107ccea8421cd9b74589b73c15127fc812c3a33 (diff)
downloadguix-c7358ac4fc6369cdf87f95ec8600a21e809a22eb.tar.gz
import: cran: Retry failed git imports on Bioconductor.
* guix/import/cran.scm (cran->guix-package): Retry failed git imports on
Bioconductor.
-rw-r--r--guix/import/cran.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 51c7ea7b2f..b5321b44ef 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -494,12 +494,16 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
      "Fetch the metadata for PACKAGE-NAME from REPO and return the `package'
 s-expression corresponding to that package, or #f on failure."
      (let ((description (fetch-description repo package-name)))
-       (if (and (not description)
-                (eq? repo 'bioconductor))
-           ;; Retry import from CRAN
-           (cran->guix-package package-name 'cran)
-           (and description
-                (description->package repo description)))))))
+       (if description
+           (description->package repo description)
+           (case repo
+             ((git)
+              ;; Retry import from Bioconductor
+              (cran->guix-package package-name 'bioconductor))
+             ((bioconductor)
+              ;; Retry import from CRAN
+              (cran->guix-package package-name 'cran))
+             (else #f)))))))
 
 (define* (cran-recursive-import package-name #:optional (repo 'cran))
   (recursive-import package-name repo