From 19b0e079f409b90a51620454a1d3026d379c3fb1 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 18 Oct 2022 12:45:45 +0200 Subject: [PATCH 2/3] import/cran: Allow overriding description fetch function. X-Debbugs-Cc: zimon.toutoune@gmail.com X-Debbugs-Cc: dev@jpoiret.xyz X-Debbugs-Cc: mail@cbaines.net X-Debbugs-Cc: rekado@elephly.net X-Debbugs-Cc: othacehe@gnu.org X-Debbugs-Cc: ludo@gnu.org * guix/import/cran.scm (%fetch-description): New parameter. (cran->guix-package): Use it. (upstream-name): Use it. --- guix/import/cran.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index d13231f633..05374b5317 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -56,6 +56,7 @@ (define-module (guix import cran) #:use-module (gnu packages) #:export (%input-style %license-prefix + %fetch-description cran->guix-package bioconductor->guix-package @@ -350,6 +351,9 @@ (define* (fetch-description repository name #:optional version) `(hg-changeset . ,changeset) meta))))))))) +(define %fetch-description + (make-parameter fetch-description)) + (define (listify meta field) "Look up FIELD in the alist META. If FIELD contains a comma-separated string, turn it into a list and strip off parenthetic expressions. Return the @@ -640,7 +644,7 @@ (define cran->guix-package (lambda* (package-name #:key (repo 'cran) version) "Fetch the metadata for PACKAGE-NAME from REPO and return the `package' s-expression corresponding to that package, or #f on failure." - (let ((description (fetch-description repo package-name version))) + (let ((description ((%fetch-description) repo package-name version))) (if description (description->package repo description) (case repo @@ -694,7 +698,7 @@ (define upstream-name (package->upstream-name pkg)) (define meta - (fetch-description 'cran upstream-name)) + ((%fetch-description) 'cran upstream-name)) (and meta (let ((version (assoc-ref meta "Version"))) -- 2.37.3