import cran: Distinguish Bioconductor data packages.
* guix/import/cran.scm (bioconductor-package?): Exclude Bioconductor data packages. (bioconductor-data-package?): New procedure.master
parent
1108a920bd
commit
5ae63362ae
|
@ -424,13 +424,30 @@ dependencies."
|
||||||
|
|
||||||
(define (bioconductor-package? package)
|
(define (bioconductor-package? package)
|
||||||
"Return true if PACKAGE is an R package from Bioconductor."
|
"Return true if PACKAGE is an R package from Bioconductor."
|
||||||
(and (string-prefix? "r-" (package-name package))
|
(let ((predicate (lambda (uri)
|
||||||
(match (and=> (package-source package) origin-uri)
|
(and (string-prefix? "http://bioconductor.org" uri)
|
||||||
((? string? uri)
|
;; Data packages are not listed in SVN
|
||||||
(string-prefix? "http://bioconductor.org" uri))
|
(not (string-contains uri "/data/annotation/"))))))
|
||||||
((? list? uris)
|
(and (string-prefix? "r-" (package-name package))
|
||||||
(any (cut string-prefix? "http://bioconductor.org" <>) uris))
|
(match (and=> (package-source package) origin-uri)
|
||||||
(_ #f))))
|
((? string? uri)
|
||||||
|
(predicate uri))
|
||||||
|
((? list? uris)
|
||||||
|
(any predicate uris))
|
||||||
|
(_ #f)))))
|
||||||
|
|
||||||
|
(define (bioconductor-data-package? package)
|
||||||
|
"Return true if PACKAGE is an R data package from Bioconductor."
|
||||||
|
(let ((predicate (lambda (uri)
|
||||||
|
(and (string-prefix? "http://bioconductor.org" uri)
|
||||||
|
(string-contains uri "/data/annotation/")))))
|
||||||
|
(and (string-prefix? "r-" (package-name package))
|
||||||
|
(match (and=> (package-source package) origin-uri)
|
||||||
|
((? string? uri)
|
||||||
|
(predicate uri))
|
||||||
|
((? list? uris)
|
||||||
|
(any predicate uris))
|
||||||
|
(_ #f)))))
|
||||||
|
|
||||||
(define %cran-updater
|
(define %cran-updater
|
||||||
(upstream-updater
|
(upstream-updater
|
||||||
|
|
Reference in New Issue