import/cran: Also update annotation and experiment packages.

* guix/import/cran.scm (latest-bioconductor-release): Determine package type
and pass it to LATEST-BIOCONDUCTOR-PACKAGE-VERSION and BIOCONDUCTOR-URI.
(%bioconductor-updater): Compose all bioconductor predicates.

Change-Id: Icef3ae05e28ed0f2796d9abf90e51821d2dfcc4c
This commit is contained in:
Ricardo Wurmus 2024-01-22 12:38:27 +01:00
parent d264237d55
commit 29353820f2
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -928,15 +928,25 @@ (define* (latest-bioconductor-release pkg #:key (version #f))
(define upstream-name
(package->upstream-name pkg))
(define type
(cond
((bioconductor-data-package? pkg)
'annotation)
((bioconductor-experiment-package? pkg)
'experiment)
((bioconductor-package? pkg)
#true)
(else #false)))
(define latest-version
(latest-bioconductor-package-version upstream-name))
(latest-bioconductor-package-version upstream-name type))
(and latest-version
;; Bioconductor does not provide signatures.
(upstream-source
(package (package-name pkg))
(version latest-version)
(urls (bioconductor-uri upstream-name latest-version))
(urls (bioconductor-uri upstream-name latest-version type))
(inputs
(let ((meta (fetch-description 'bioconductor upstream-name)))
(cran-package-inputs meta 'bioconductor))))))
@ -990,7 +1000,10 @@ (define %bioconductor-updater
(upstream-updater
(name 'bioconductor)
(description "Updater for Bioconductor packages")
(pred bioconductor-package?)
(pred (lambda (pkg)
(or (bioconductor-package? pkg)
(bioconductor-data-package? pkg)
(bioconductor-experiment-package? pkg))))
(import latest-bioconductor-release)))
;;; cran.scm ends here