mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
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'.
This commit is contained in:
parent
37c3e0bbaf
commit
00290e7365
8 changed files with 49 additions and 121 deletions
|
@ -316,25 +316,13 @@ in RELEASE, a <cpan-release> record."
|
|||
(let ((release (cpan-fetch (module->name module-name))))
|
||||
(and=> release cpan-module->sexp)))
|
||||
|
||||
(define (cpan-package? package)
|
||||
"Return #t if PACKAGE is a package from CPAN."
|
||||
(define cpan-url?
|
||||
(let ((cpan-rx (make-regexp (string-append "("
|
||||
"mirror://cpan" "|"
|
||||
"https?://www.cpan.org" "|"
|
||||
"https?://cpan.metacpan.org"
|
||||
")"))))
|
||||
(lambda (url)
|
||||
(regexp-exec cpan-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?)
|
||||
(cpan-url? source-url))
|
||||
((source-url ...)
|
||||
(any cpan-url? source-url))))))
|
||||
(define cpan-package?
|
||||
(let ((cpan-rx (make-regexp (string-append "("
|
||||
"mirror://cpan" "|"
|
||||
"https?://www.cpan.org" "|"
|
||||
"https?://cpan.metacpan.org"
|
||||
")"))))
|
||||
(url-predicate (cut regexp-exec cpan-rx <>))))
|
||||
|
||||
(define (latest-release package)
|
||||
"Return an <upstream-source> for the latest release of PACKAGE."
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue