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/hackage.scm | |
parent | 37c3e0bbaf2efe137b434f866ca431803d33e0a9 (diff) | |
download | guix-patches-00290e7365aed9b34603bfb3cd6e8a4bdc1e7259.tar guix-patches-00290e7365aed9b34603bfb3cd6e8a4bdc1e7259.tar.gz |
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/hackage.scm')
-rw-r--r-- | guix/import/hackage.scm | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index dbc1afa4a7..35c67cad8d 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -346,22 +346,9 @@ respectively." (cons name args))) #:guix-name hackage-name->package-name)) -(define (hackage-package? package) - "Return #t if PACKAGE is a Haskell package from Hackage." - - (define haskell-url? - (let ((hackage-rx (make-regexp "https?://hackage.haskell.org"))) - (lambda (url) - (regexp-exec hackage-rx url)))) - - (let ((source-url (and=> (package-source package) origin-uri)) - (fetch-method (and=> (package-source package) origin-method))) - (and (eq? fetch-method url-fetch) - (match source-url - ((? string?) - (haskell-url? source-url)) - ((source-url ...) - (any haskell-url? source-url)))))) +(define hackage-package? + (let ((hackage-rx (make-regexp "https?://hackage.haskell.org"))) + (url-predicate (cut regexp-exec hackage-rx <>)))) (define (latest-release package) "Return an <upstream-source> for the latest release of PACKAGE." |