From 217f9f6af608324e593ce114108b97b65182339d Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 18 Oct 2022 12:45:56 +0200 Subject: [PATCH v2 4/6] import/cran: Allow overriding tarball download. * guix/import/cran.scm (description->package): New parameter DOWNLOAD-SOURCE. (cran->guix-package): Ditto. --- guix/import/cran.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index b2c58ee5ec..a89deb8e55 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -503,7 +503,8 @@ (define (needs-pkg-config? thing tarball?) (define (needs-knitr? meta) (member "knitr" (listify meta "VignetteBuilder"))) -(define* (description->package repository meta #:key (license-prefix identity)) +(define* (description->package repository meta #:key (license-prefix identity) + (download-source download)) "Return the `package' s-expression for an R package published on REPOSITORY from the alist META, which was derived from the R package's DESCRIPTION file." (let* ((base-url (case repository @@ -545,10 +546,10 @@ (define* (description->package repository meta #:key (license-prefix identity)) (_ #f))))) (git? (if (assoc-ref meta 'git) #true #false)) (hg? (if (assoc-ref meta 'hg) #true #false)) - (source (download source-url #:method (cond - (git? 'git) - (hg? 'hg) - (else #f)))) + (source (download-source source-url #:method (cond + (git? 'git) + (hg? 'hg) + (else #f)))) (sysdepends (append (if (needs-zlib? source (not (or git? hg?))) '("zlib") '()) (filter (lambda (name) @@ -641,13 +642,15 @@ (define cran->guix-package (memoize (lambda* (package-name #:key (repo 'cran) version (license-prefix identity) (fetch-description fetch-description) + (download-source download) #:allow-other-keys) "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))) (if description (description->package repo description - #:license-prefix license-prefix) + #:license-prefix license-prefix + #:download-source download-source) (case repo ((git) ;; Retry import from Bioconductor -- 2.37.4