~ruther/guix-local

25e51b1c45374ca0dd1898fd5acaefe4fc3cd815 — Ricardo Wurmus 8 years ago 27baf50
guix: Add archive support for bioconductor-uri.

* guix/build-system/r.scm (bioconductor-uri): Also return the archive URL.
* guix/import/cran.scm (latest-bioconductor-release, fetch-description):
Adjust because bioconductor-uri now returns a list.
2 files changed, 8 insertions(+), 5 deletions(-)

M guix/build-system/r.scm
M guix/import/cran.scm
M guix/build-system/r.scm => guix/build-system/r.scm +6 -3
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 50,8 50,11 @@ available via the first URI, the second URI points to the archived version."
(define (bioconductor-uri name version)
  "Return a URI string for the R package archive on Bioconductor for the
release corresponding to NAME and VERSION."
  (string-append "https://bioconductor.org/packages/release/bioc/src/contrib/"
                 name "_" version ".tar.gz"))
  (list (string-append "https://bioconductor.org/packages/release/bioc/src/contrib/"
                       name "_" version ".tar.gz")
        ;; TODO: use %bioconductor-version from (guix import cran)
        (string-append "https://bioconductor.org/packages/3.6/bioc/src/contrib/Archive/"
                       name "_" version ".tar.gz")))

(define %r-build-system-modules
  ;; Build-side modules imported by default.

M guix/import/cran.scm => guix/import/cran.scm +2 -2
@@ 182,7 182,7 @@ from ~s: ~a (~s)~%"
     ;; package's DESCRIPTION file over HTTP, so we determine the version,
     ;; download the source tarball, and then extract the DESCRIPTION file.
     (let* ((version (latest-bioconductor-package-version name))
            (url     (bioconductor-uri name version))
            (url     (car (bioconductor-uri name version)))
            (tarball (with-store store (download-to-store store url))))
       (call-with-temporary-directory
        (lambda (dir)


@@ 469,7 469,7 @@ dependencies."
       (upstream-source
        (package (package-name package))
        (version version)
        (urls (list (bioconductor-uri upstream-name version))))))
        (urls (bioconductor-uri upstream-name version)))))

(define (cran-package? package)
  "Return true if PACKAGE is an R package from CRAN."