summaryrefslogtreecommitdiff
path: root/guix/import/elpa.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-07-03 22:45:21 +0200
committerLudovic Courtès <ludo@gnu.org>2020-07-03 23:53:31 +0200
commit00290e7365aed9b34603bfb3cd6e8a4bdc1e7259 (patch)
tree8ae5c67671bb571101eaf25c145dbe31230efed8 /guix/import/elpa.scm
parent37c3e0bbaf2efe137b434f866ca431803d33e0a9 (diff)
downloadguix-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/elpa.scm')
-rw-r--r--guix/import/elpa.scm12
1 files changed, 5 insertions, 7 deletions
diff --git a/guix/import/elpa.scm b/guix/import/elpa.scm
index 2d4487dba0..871b918f88 100644
--- a/guix/import/elpa.scm
+++ b/guix/import/elpa.scm
@@ -281,13 +281,11 @@ type '<elpa-package>'."
(urls (list url))
(signature-urls (list (string-append url ".sig"))))))
-(define (package-from-gnu.org? package)
- "Return true if PACKAGE is from elpa.gnu.org."
- (match (and=> (package-source package) origin-uri)
- ((? string? uri)
- (let ((uri (string->uri uri)))
- (and uri (string=? (uri-host uri) "elpa.gnu.org"))))
- (_ #f)))
+(define package-from-gnu.org?
+ (url-predicate (lambda (url)
+ (let ((uri (string->uri url)))
+ (and uri
+ (string=? (uri-host uri) "elpa.gnu.org"))))))
(define %elpa-updater
;; The ELPA updater. We restrict it to packages hosted on elpa.gnu.org