summaryrefslogtreecommitdiff
path: root/guix/import/cran.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/import/cran.scm')
-rw-r--r--guix/import/cran.scm66
1 files changed, 33 insertions, 33 deletions
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 4e1ce7c010..d7f6945675 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -200,11 +200,11 @@ bioconductor package NAME, or #F if the package is unknown."
;; Little helper to download URLs only once.
(define download
(memoize
- (lambda* (url #:key method)
+ (lambda* (url #:key method (ref '()))
(with-store store
(cond
((eq? method 'git)
- (latest-repository-commit store url))
+ (latest-repository-commit store url #:ref ref))
((eq? method 'hg)
(call-with-temporary-directory
(lambda (dir)
@@ -516,32 +516,32 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
(package
`(package
(name ,(cran-guix-name name))
- (version ,(case repository
- ((git)
- `(git-version ,version revision commit))
- ((hg)
- `(string-append ,version "-" revision "." changeset))
- (else version)))
+ (version ,(cond
+ (git?
+ `(git-version ,version revision commit))
+ (hg?
+ `(string-append ,version "-" revision "." changeset))
+ (else version)))
(source (origin
(method ,(cond
(git? 'git-fetch)
(hg? 'hg-fetch)
(else 'url-fetch)))
- (uri ,(case repository
- ((git)
- `(git-reference
- (url ,(assoc-ref meta 'git))
- (commit commit)))
- ((hg)
- `(hg-reference
- (url ,(assoc-ref meta 'hg))
- (changeset changeset)))
- (else
- `(,(procedure-name uri-helper) ,name version
- ,@(or (and=> (assoc-ref meta 'bioconductor-type)
- (lambda (type)
- (list (list 'quote type))))
- '())))))
+ (uri ,(cond
+ (git?
+ `(git-reference
+ (url ,(assoc-ref meta 'git))
+ (commit commit)))
+ (hg?
+ `(hg-reference
+ (url ,(assoc-ref meta 'hg))
+ (changeset changeset)))
+ (else
+ `(,(procedure-name uri-helper) ,name version
+ ,@(or (and=> (assoc-ref meta 'bioconductor-type)
+ (lambda (type)
+ (list (list 'quote type))))
+ '())))))
,@(cond
(git?
'((file-name (git-file-name name version))))
@@ -576,16 +576,16 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
"")))
(license ,license))))
(values
- (case repository
- ((git)
- `(let ((commit ,(assoc-ref meta 'git-commit))
- (revision "1"))
- ,package))
- ((hg)
- `(let ((changeset ,(assoc-ref meta 'hg-changeset))
- (revision "1"))
- ,package))
- (else package))
+ (cond
+ (git?
+ `(let ((commit ,(assoc-ref meta 'git-commit))
+ (revision "1"))
+ ,package))
+ (hg?
+ `(let ((changeset ,(assoc-ref meta 'hg-changeset))
+ (revision "1"))
+ ,package))
+ (else package))
propagate)))
(define cran->guix-package