[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26772: [PATCH 2/3] import: cran: Robustify cran-package?.
From: |
Mathieu Othacehe |
Subject: |
bug#26772: [PATCH 2/3] import: cran: Robustify cran-package?. |
Date: |
Thu, 4 May 2017 12:06:26 +0200 |
* guix/import/cran.scm (package->upstream-name): Return #f if url
start and end index could not be determined.
(cran-package?): Check if the upstream-name can be extracted from
given package.
This fixes a failure of guix refresh on r-minimal because no
upsteam-name can be determined from ".../R-version.tar.gz" uri.
---
guix/import/cran.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index be34a75c8..20009e2af 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <address@hidden>
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <address@hidden>
+;;; Copyright © 2017 Mathieu Othacehe <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -374,7 +375,8 @@ dependencies."
(start (string-rindex url #\/)))
;; The URL ends on
;; (string-append "/" name "_" version ".tar.gz")
- (substring url (+ start 1) end)))
+ (if (and start end)
+ (substring url (+ start 1) end) #f)))
(_ #f)))
(_ #f)))))
@@ -415,6 +417,9 @@ dependencies."
(define (cran-package? package)
"Return true if PACKAGE is an R package from CRAN."
(and (string-prefix? "r-" (package-name package))
+ ;; Check if the upstream name can be extracted from package uri.
+ (package->upstream-name package)
+ ;; Check if package uri(s) are prefixed by "mirror://cran".
(match (and=> (package-source package) origin-uri)
((? string? uri)
(string-prefix? "mirror://cran" uri))
--
2.12.2