Hi Ricardo, On lun., 11 avril 2022 at 18:15, Ricardo Wurmus wrote: > zimoun writes: > >> $ guix import cran -a bioconductor CHETAH >> guix import: warning: failed to retrieve package information from >> https://cran.r-project.org/web/packages/CHETAH/DESCRIPTION: 404 (Not Found) >> guix import: error: failed to download description for package 'CHETAH' >> >> The reason is because there is no source package. Only the Git source >> repo. > > We should finally switch to fetching the sources from Git. I wonder why > we haven’t done this earlier. Because, maybe, we have just finished the janitor work cleaning the files cran.scm, bioconductor.scm and bioinformatics.scm. :-) > I guess we should do this gradually to avoid mass updates, so perhaps we > should introduce bioconductor-git-reference and switch over packages one > by one. First, note that annotations do not have Git repo; at least not always, e.g., Second, if we go for something like: --8<---------------cut here---------------start------------->8--- (define* (bioconductor-git-reference name #:optional (release %bioconductor-version)) "Return a for the R package archive on Bioconductor for the RELEASE corresponding to NAME." (git-reference (url (string-append %bioconductor-git-url name)) (commit (string-append "RELEASE_" (string-replace-substring %bioconductor-version "." "_"))))) --8<---------------cut here---------------end--------------->8--- then, it raises the question: import/cran.scm or build-system/r.scm ? i.e., do we put a module dependency against (guix git-download) for the r-build-system or not? TeXLive already has a dependency to svn-download, so why not. Well, I am also in favor to break the API and move %bioconductor-version and %bioconductor-url to (guix build-system r). WDYT? It would simplify some things (#36805 and #39885), I guess. Third, the adjustments of the importer require a large cup of coffee. Back to CHETAH, note that guix import cran -a git htpps://git.bioconductor.org/CHETAH works but it points to master instead of RELEASE_3_14. Well, I am not very familiar with the Bioconductor workflow for their release. Last, using this in gnu/packages/bioconductor.scm, --8<---------------cut here---------------start------------->8--- (define-public r-chetah (package (name "r-chetah") (version "1.11.2") (source (origin (method git-fetch) (uri (bioconductor-git-reference "CHETAH")) (file-name (git-file-name name version)) (sha256 (base32 "021v5831zqdy4pirfsb35kbnz8kmz4lxqc4cwi55qgd6r081xlgh")))) (properties `((upstream-name . "CHETAH"))) (build-system r-build-system) (propagated-inputs (list r-biodist r-corrplot r-cowplot r-dendextend r-ggplot2 r-gplots r-pheatmap r-plotly r-reshape2 r-s4vectors r-shiny r-singlecellexperiment r-summarizedexperiment)) (native-inputs (list r-knitr)) (home-page "https://git.bioconductor.org/packages/CHETAH") (synopsis "Fast and accurate scRNA-seq cell type identification") (description "CHETAH (CHaracterization of cEll Types Aided by Hierarchical classification) is an accurate, selective and fast scRNA-seq classifier. Classification is guided by a reference dataset, preferentially also a scRNA-seq dataset. By hierarchical clustering of the reference data, CHETAH creates a classification tree that enables a step-wise, top-to-bottom classification. Using a novel stopping rule, CHETAH classifies the input cells to the cell types of the references and to \"intermediate types\": more general classifications that ended in an intermediate node of the tree.") (license #f))) --8<---------------cut here---------------end--------------->8--- it just builds with, ./pre-inst-env guix build r-chetah WDYT? Cheers, simon