diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-07-03 22:45:21 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-07-03 23:53:31 +0200 |
commit | 00290e7365aed9b34603bfb3cd6e8a4bdc1e7259 (patch) | |
tree | 8ae5c67671bb571101eaf25c145dbe31230efed8 /guix/import/cran.scm | |
parent | 37c3e0bbaf2efe137b434f866ca431803d33e0a9 (diff) |
upstream: Define 'url-predicate' and use it.
* guix/upstream.scm (url-predicate): New procedure.
(url-prefix-predicate): Define in terms of 'url-predicate'.
* guix/import/cpan.scm (cpan-package?): Use 'url-predicate'.
* guix/import/cran.scm (cran-package?)
(bioconductor-package?)
(bioconductor-data-package?)
(bioconductor-experiment-package?): Likewise.
* guix/import/crate.scm (crate-package?): Likewise.
* guix/import/elpa.scm (package-from-gnu.org?): Likewise.
* guix/import/hackage.scm (hackage-package?): Likewise.
* guix/import/pypi.scm (pypi-package?): Likewise.
* guix/import/gem.scm (gem-package?): Use 'url-prefix-predicate'.
Diffstat (limited to 'guix/import/cran.scm')
-rw-r--r-- | guix/import/cran.scm | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/guix/import/cran.scm b/guix/import/cran.scm index b822fbc0ae..a1275b4822 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -661,12 +661,7 @@ s-expression corresponding to that package, or #f on failure." ;; 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)) - ((? list? uris) - (any (cut string-prefix? "mirror://cran" <>) uris)) - (_ #f)))) + ((url-predicate (cut string-prefix? "mirror://cran" <>)) package))) (define (bioconductor-package? package) "Return true if PACKAGE is an R package from Bioconductor." @@ -680,12 +675,7 @@ s-expression corresponding to that package, or #f on failure." ;; Experiment packages are in a separate repository. (not (string-contains uri "/data/experiment/")))))) (and (string-prefix? "r-" (package-name package)) - (match (and=> (package-source package) origin-uri) - ((? string? uri) - (predicate uri)) - ((? list? uris) - (any predicate uris)) - (_ #f))))) + ((url-predicate predicate) package)))) (define (bioconductor-data-package? package) "Return true if PACKAGE is an R data package from Bioconductor." @@ -693,12 +683,7 @@ s-expression corresponding to that package, or #f on failure." (and (string-prefix? "https://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))))) + ((url-predicate predicate) package)))) (define (bioconductor-experiment-package? package) "Return true if PACKAGE is an R experiment package from Bioconductor." @@ -706,12 +691,7 @@ s-expression corresponding to that package, or #f on failure." (and (string-prefix? "https://bioconductor.org" uri) (string-contains uri "/data/experiment/"))))) (and (string-prefix? "r-" (package-name package)) - (match (and=> (package-source package) origin-uri) - ((? string? uri) - (predicate uri)) - ((? list? uris) - (any predicate uris)) - (_ #f))))) + ((url-predicate predicate) package)))) (define %cran-updater (upstream-updater |