[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26772: [PATCH 2/3] import: cran: Robustify cran-package?.
From: |
Ludovic Courtès |
Subject: |
bug#26772: [PATCH 2/3] import: cran: Robustify cran-package?. |
Date: |
Sat, 13 May 2017 00:11:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Mathieu Othacehe <address@hidden> skribis:
> * 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.
[...]
> @@ -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)))
This can be written as:
(and start end (substring url …))
> @@ -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))
OK!
Do you think you could add this specific case (r-minimal) as a test case
for ‘cran-package?’ in tests/cran.scm? That would be awesome.
Otherwise LGTM, thanks!
Ludo’.