GNU bug report logs -
#42912
cran.git importer fails because with-store swallows extra values.
Previous Next
Reported by: Ricardo Wurmus <rekado <at> elephly.net>
Date: Tue, 18 Aug 2020 09:51:02 UTC
Severity: normal
Done: Ricardo Wurmus <rekado <at> elephly.net>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 42912 <at> debbugs.gnu.org (full text, mbox):
This hack works around the problem:
--8<---------------cut here---------------start------------->8---
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index a1275b4822..e10ea25587 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -197,10 +197,17 @@ bioconductor package NAME, or #F if the package is unknown."
(define download
(memoize
(lambda* (url #:key method)
+ (define v1 #f)
+ (define v2 #f)
(with-store store
(cond
((eq? method 'git)
- (latest-repository-commit store url))
+ (call-with-values
+ (lambda ()
+ (latest-repository-commit store url))
+ (lambda (dir commit)
+ (set! v1 dir)
+ (set! v2 commit))))
((eq? method 'hg)
(call-with-temporary-directory
(lambda (dir)
@@ -214,8 +221,10 @@ bioconductor package NAME, or #F if the package is unknown."
(find-files dir "^\\.hg$" #:directories? #t))
(let ((store-directory
(add-to-store store (basename url) #t "sha256" dir)))
- (values store-directory changeset)))))))
- (else (download-to-store store url)))))))
+ (set! v1 store-directory)
+ (set! v2 changeset)))))))
+ (else (set! v1 (download-to-store store url)))))
+ (values v1 v2))))
(define (fetch-description repository name)
"Return an alist of the contents of the DESCRIPTION file for the R package
--8<---------------cut here---------------end--------------->8---
--
Ricardo
This bug report was last modified 4 years and 324 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.