summaryrefslogtreecommitdiff
path: root/guix/import/cran.scm
AgeCommit message (Collapse)Author
2021-06-05guix: Update to Bioconductor 3.13.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Update version. * guix/import/cran.scm (%bioconductor-version): Update.
2021-03-01import/cran: Fix detection of Fortran files.Mădălin Ionel Patrașcu
This fixes a bug whereby the Guix importer considers files like .f.* to be Fortran files. The expression "\\.f(90|95)?" would match a lot of files containing ".f" although they are not Fortran files. Instead we should only consider files with this *suffix*. * guix/import/cran.scm (directory-needs-fortran?): Only check for suffixes. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2021-01-20import/cran: Add more invalid package names to ignore.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): Add more names.
2020-12-22import/cran: Add input style "specification".Ricardo Wurmus
* guix/import/cran.scm (%input-style): New parameter. (format-inputs): Use it. * guix/scripts/import/cran.scm (guix-import-cran): Set the %input-style parameter. (%options): Add "--style" option. * doc/guix.texi (Invoking guix import): Document it.
2020-12-15import: cran: Use CRAN’s canonical URL as home-page.Lars-Dominik Braun
* guix/import/cran.scm (%cran-canonical-url): New variable. (description->package): Construct home-page using canonical URL. Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-12-12import/cran: Abort with error message when recursive import fails.Ricardo Wurmus
Previously, after a failed recursive import "guix import" would signal success. * guix/import/cran.scm (cran->guix-package): Raise a condition when all repositories have been exhausted. * guix/scripts/import/cran.scm (guix-import-cran): Handle errors.
2020-12-09import: cran: Update the Bioconductor version to 3.12.Roel Janssen
* guix/import/cran.scm (%bioconductor-version): Set to 3.12. * guix/build-system/r.scm (bioconductor-uri): Update to 3.12.
2020-12-04import/cran: Fix calls to CRAN->GUIX-PACKAGE.Ricardo Wurmus
* guix/import/cran.scm (cran->guix-package, latest-bioconductor-release): Invoke CRAN->GUIX-PACKAGE with #:REPO keyword argument.
2020-12-02import: utils: 'recursive-import' accepts an optional version parameter.Martin Becze
This adds a key VERSION to 'recursive-import' and moves the parameter REPO to a key. This also changes all the places that rely on 'recursive-import'. * guix/import/utils.scm (recursive-import): Add the VERSION key. Make REPO a key. (package->definition): Add optional 'append-version?'. * guix/scripts/import/crate.scm (guix-import-crate): Add the VERSION key. * guix/import/crate.scm (crate->guix-package): Add the VERSION key. (crate-recursive-import): Pass VERSION to recursive-import, remove now unnecessary code. * guix/import/cran.scm (cran->guix-package, cran-recursive-import): Change the REPO parameter to a key. * guix/import/elpa.scm (elpa->guix-package, elpa-recursive-import): Likewise. * guix/import/gem.scm (gem->guix-package, recursive-import): Likewise. * guix/import/opam.scm (opam-recurive-import): Likewise. * guix/import/pypi.scm (pypi-recursive-import): Likewise. * guix/import/stackage.scm (stackage-recursive-import): Likewise. * guix/scripts/import/cran.scm (guix-import-cran): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * tests/elpa.scm (eval-test-with-elpa): Likewise. * tests/import-utils.scm (recursive-import): Likewise. Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
2020-07-03upstream: Define 'url-predicate' and use it.Ludovic Courtès
* guix/upstream.scm (url-predicate): New procedure. (url-prefix-predicate): Define in terms of 'url-predicate'. * guix/import/cpan.scm (cpan-package?): Use 'url-predicate'. * guix/import/cran.scm (cran-package?) (bioconductor-package?) (bioconductor-data-package?) (bioconductor-experiment-package?): Likewise. * guix/import/crate.scm (crate-package?): Likewise. * guix/import/elpa.scm (package-from-gnu.org?): Likewise. * guix/import/hackage.scm (hackage-package?): Likewise. * guix/import/pypi.scm (pypi-package?): Likewise. * guix/import/gem.scm (gem-package?): Use 'url-prefix-predicate'.
2020-06-13guix: Update to Bioconductor 3.11.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Use new URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.11.
2020-05-13guix: cran: Add missing default R package.pimi
* guix/import/cran.scm (default-r-packages): Add "datasets" to the list of default R packages. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2020-03-25import/cran: Import missing module.Ricardo Wurmus
This is a follow-up to commit b005c240bb5e436ffe9d55c2dd75c9af85aa0fdd. Reported-by: Ludovic Courtès <ludo@gnu.org> * guix/import/cran.scm: Import (guix ui) module.
2020-03-25import/cran: Support importing from Mercurial repositories.Ricardo Wurmus
* guix/import/cran.scm (download): Accept keyword #:method; add case for hg method. (fetch-description): Handle hg repository. (description->package): Add cases for hg repositories and update call of DOWNLOAD procedure. (cran->guix-package): Retry importing from Bioconductor when hg import failed.
2020-03-07import/cran: Add vignette builder to native inputs.Ricardo Wurmus
* guix/import/cran.scm (needs-knitr?): New procedure. (description->package): Use it.
2020-01-16import: cran: Avoid uses of '@@' in the tests.Ludovic Courtès
* guix/import/cran.scm (description->alist, description->package): Export. <top level>: Set! 'listify'. * tests/cran.scm (description-alist, "description->package"): Remove use of '@@' to access the relevant bindings.
2020-01-03import: cran: Fix file descriptor leak.Ludovic Courtès
Fixes <https://bugs.gnu.org/38836>. Reported by Ricardo Wurmus <rekado@elephly.net>. * guix/import/cran.scm (bioconductor-packages-list): Close the port returned by 'http-fetch/cached'. (fetch-description): Likewise.
2019-12-15guix: Upgrade to Bioconductor 3.10.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Switch to version 3.10. * guix/import/cran.scm (%bioconductor-version): Same.
2019-12-14import: cran: Recognize LGPL 2.1+.Ricardo Wurmus
* guix/import/cran.scm (string->license): Add case for lgpl2.1+.
2019-12-11import: utils: 'recursive-import' returns packages in topological order.Ludovic Courtès
* guix/import/utils.scm (topological-sort): New procedure. (recursive-import): Rewrite to use it. * tests/import-utils.scm ("recursive-import"): New test. * guix/import/cran.scm (cran->guix-package): Always return two values. * guix/scripts/import/cran.scm (guix-import-cran): Remove 'reverse' call on 'cran-recursive-import' result. * guix/scripts/import/crate.scm (guix-import-crate): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * guix/scripts/import/gem.scm (guix-import-gem): Likewise. * guix/scripts/import/hackage.scm (guix-import-hackage): Likewise. * guix/scripts/import/opam.scm (guix-import-opam): Likewise. * guix/scripts/import/pypi.scm (guix-import-pypi): Likewise. * guix/scripts/import/stackage.scm (guix-import-stackage): Likewise. * tests/gem.scm ("gem-recursive-import"): Change the order of package expressions accordingly.
2019-09-16import/cran: Export %bioconductor-version.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-version): Export it.
2019-09-02import: cran: Only use the git import with what looks like a URL.Ricardo Wurmus
* guix/import/cran.scm (fetch-description): Abort if the argument does not look like a URL.
2019-09-02import: cran: Retry failed git imports on Bioconductor.Ricardo Wurmus
* guix/import/cran.scm (cran->guix-package): Retry failed git imports on Bioconductor.
2019-08-29import: cran: Add support for git repositories.Ricardo Wurmus
* guix/import/cran.scm (vcs-file?): New procedure. (download): Support downloading from git. (fetch-description): Add a clause for the 'git repository type. (files-match-pattern?): New procedure. (tarball-files-match-pattern?): Implement in terms of FILES-MATCH-PATTERN?. (directory-needs-fortran?, directory-needs-zlib?, directory-needs-pkg-config?): New procedures. (needs-fortran?, needs-zlib?, needs-pkg-config?): Rename these procedures... (tarball-needs-fortran?, tarball-needs-zlib?, tarball-needs-pkg-config?): ...to this, and use them. (file-hash): New procedure. (description->package): Handle the 'git repository type. * guix/import/utils.scm (package->definition): Handle package expression inside of a let. * guix/scripts/import.scm (guix-import): Handle let expressions. * doc/guix.texi (Invoking guix import): Document it.
2019-08-16import: cran: Support experiment and annotation packages.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-packages-list-url): Replace variable... (bioconductor-packages-list-url): ...with this procedure. (bioconductor-packages-list): Accept optional TYPE argument. (latest-bioconductor-package-version): Same. (fetch-description): Determine package type and use it in calls to LATEST-BIOCONDUCTOR-PACKAGE-VERSION and BIOCONDUCTOR-URI. (description->package): Pass package type to URI helper procedure; include package type in annotation or experiment packages from Bioconducter.
2019-05-28import: cran: Ignore invalid packages from the system requirements.Ricardo Wurmus
* guix/import/cran.scm (description->package): Filter invalid packages from the list of system requirements.
2019-05-23import: cran: Ignore invalid packages.Ricardo Wurmus
* guix/import/cran.scm (invalid-packages): New variable. (description->package): Use it.
2019-05-06guix: Update to Bioconductor 3.9.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Use 3.9 archive URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.9.
2019-01-12import: cran: Suggest input changes.Ricardo Wurmus
* guix/import/cran.scm (latest-cran-release, latest-bioconductor-release): Return input-changes.
2019-01-03import: cran: Default to 'cran repo.Ricardo Wurmus
* guix/import/cran.scm (cran-recursive-import): Default to 'cran repo.
2019-01-03import: cran: Abort if no description could be fetched.Ricardo Wurmus
* guix/import/cran.scm (cran->guix-package): Only proceed if a valid description could be fetched.
2019-01-03import: cran: Use HTTPS.Ricardo Wurmus
* guix/import/cran.scm (%cran-url): Use HTTPS.
2019-01-03import: cran: Download tarballs only once.Ricardo Wurmus
* guix/import/cran.scm (download): New procedure. (fetch-description, description->package): Use it.
2018-12-20import: cran: Try import via CRAN if package is not on Bioconductor.Ricardo Wurmus
* guix/import/cran.scm (fetch-description): Return #F on failure. (cran->guix-package): Retry from CRAN on failure to fetch description from bioconductor.
2018-11-06guix: Update to Bioconductor 3.8.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-version): Update to 3.8. * guix/build-system/r.scm (bioconductor-uri): Update archive URL.
2018-09-04Switch to Guile-Gcrypt.Ludovic Courtès
This removes (guix hash) and (guix pk-crypto), which now live as part of Guile-Gcrypt (version 0.1.0.) * guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm, tests/hash.scm, tests/pk-crypto.scm: Remove. * configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and LIBGCRYPT_LIBDIR assignments. * m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove. * README: Add Guile-Gcrypt to the dependencies; move libgcrypt as "required unless --disable-daemon". * doc/guix.texi (Requirements): Likewise. * gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm, guix/git.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm, guix/import/gnu.scm, guix/import/hackage.scm, guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm, guix/pki.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/scripts/pack.scm, guix/scripts/publish.scm, guix/scripts/refresh.scm, guix/scripts/substitute.scm, guix/store.scm, guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm, tests/builders.scm, tests/challenge.scm, tests/cpan.scm, tests/crate.scm, tests/derivations.scm, tests/gem.scm, tests/nar.scm, tests/opam.scm, tests/pki.scm, tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm, tests/store.scm, tests/substitute.scm: Adjust imports. * gnu/system/vm.scm: Likewise. (guile-sqlite3&co): Rename to... (gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT. (expression->derivation-in-linux-vm)[config]: Remove. (iso9660-image)[config]: Remove. (qemu-image)[config]: Remove. (system-docker-image)[config]: Remove. * guix/scripts/pack.scm: Adjust imports. (guile-sqlite3&co): Rename to... (gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT. (self-contained-tarball)[build]: Call 'make-config.scm' without #:libgcrypt argument. (squashfs-image)[libgcrypt]: Remove. [build]: Call 'make-config.scm' without #:libgcrypt. (docker-image)[config, json]: Remove. [build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from the imported modules. * guix/self.scm (specification->package): Remove "libgcrypt", add "guile-gcrypt". (compiled-guix): Remove #:libgcrypt. [guile-gcrypt]: New variable. [dependencies]: Add it. [*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call. Add #:extensions. [*config*]: Remove #:libgcrypt from 'make-config.scm' call. (%dependency-variables): Remove %libgcrypt. (make-config.scm): Remove #:libgcrypt. * build-aux/build-self.scm (guile-gcrypt): New variable. (make-config.scm): Remove #:libgcrypt. (build-program)[fake-gcrypt-hash]: New variable. Add (gcrypt hash) to the imported modules. Adjust load path assignments. * gnu/packages/package-management.scm (guix)[propagated-inputs]: Add GUILE-GCRYPT. [arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search path.
2018-06-08import: utils: Add recursive-import.Oleg Pykhalov
* guix/import/cran.scm (cran-guix-name, cran-recursive-import): New procedures. (recursive-import): Remove procedure. * guix/import/utils.scm (guix-name, recursive-import): New procedures. * guix/scripts/import/cran.scm (guix-import-cran): Use 'cran-recursive-import' procedure.
2018-06-02import: cran: Update to Bioconductor 3.7.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-version): Update to 3.7.
2017-11-07guix: Add archive support for bioconductor-uri.Ricardo Wurmus
* 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.
2017-11-07import: cran: Use Bioconductor 3.6 helpers.Ricardo Wurmus
* guix/import/cran.scm (bioconductor-mirror-url): Remove procedure. (fetch-description): Extract DESCRIPTION file from tarball for Bioconductor packages. (latest-bioconductor-release): Use latest-bioconductor-package-version.
2017-11-07import: cran: Add support for Bioconductor 3.6.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-version, %bioconductor-packages-list-url): New variables. (bioconductor-packages-list, latest-bioconductor-package-version): New procedures.
2017-10-21Use HTTPS for bioconductor.org.Tobias Geerinckx-Rice
* doc/guix.texi (Invoking guix import, Invoking guix refresh): Use HTTPS for bioconductor.org URLs. * gnu/packages/bioinformatics.scm (r-annotate, r-geneplotter, r-genefilter) (r-deseq2, r-dexseq, r-annotationforge, r-rbgl, r-gseabase, r-category) (r-gostats, r-shortread, r-biocgenerics, r-biocinstaller, r-biocviews) (r-biocstyle, r-bioccheck, r-s4vectors, r-iranges, r-genomeinfodbdata) (r-genomeinfodb, r-xvector, r-genomicranges, r-biobase, r-annotationdbi) (r-biomart, r-biocparallel, r-biostrings, r-rsamtools, r-delayedarray) (r-summarizedexperiment, r-genomicalignments, r-rtracklayer) (r-genomicfeatures, r-graph, r-topgo, r-bsgenome, r-impute, r-seqpattern) (r-seqlogo, r-motifrg, r-bamsignals, r-mutationalpatterns, r-tximport) (r-rhdf5, r-chipseq, r-sva, r-affy, r-vsn, r-mzid, r-msnid) (r-interactivedisplaybase, r-annotationhub)[home-page]: Likewise. * gnu/packages/bioinformatics.scm (r-txdb-hsapiens-ucsc-hg19-knowngene) (r-go-db, r-bsgenome-hsapiens-1000genomes-hs37d5, r-org-hs-eg-db) (r-org-ce-eg-db, r-org-dm-eg-db, r-org-mm-eg-db) (r-bsgenome-hsapiens-ucsc-hg19, r-bsgenome-mmusculus-ucsc-mm9) (r-bsgenome-mmusculus-ucsc-mm10, r-txdb-mmusculus-ucsc-mm10-knowngene) (r-bsgenome-celegans-ucsc-ce6, r-bsgenome-celegans-ucsc-ce10) (r-bsgenome-dmelanogaster-ucsc-dm3, r-copyhelper)[source, home-page]: Likewise. * gnu/packages/statistics.scm (r-rcurl)[source]: Likewise. * guix/build-system/r.scm (bioconductor-uri): Likewise. * guix/import/cran.scm (%cran-url, bioconductor-package?) (bioconductor-data-package?, bioconductor-experiment-package?): Likewise.
2017-06-26import cran: Generate a valid 'license' field for "GPL".Ludovic Courtès
Fixes <http://bugs.gnu.org/27294>. Reported by Joshua Sierles <joshua@joshua.si>. * guix/import/cran.scm (string->license) <"GPL">: Return a quoted list.
2017-05-16import cran: Check if pkg-config is needed.Ricardo Wurmus
* guix/import/cran.scm (needs-pkg-config?): New procedure. (description->package): Use it.
2017-05-16import cran: Refactor "needs-zlib?".Ricardo Wurmus
* guix/import/cran.scm (tarball-files-match-pattern?): New procedure. (needs-zlib?): Implement in terms of "tarball-files-match-pattern?".
2017-05-16import cran: Export package predicates.Ricardo Wurmus
* guix/import/cran.scm (cran-package?, bioconductor-package?, bioconductor-data-package?, bioconductor-experiment-package?): Export procedures.
2017-05-16import cran: Add predicate for Bioconductor experiment packages.Ricardo Wurmus
* guix/import/cran.scm (bioconductor-experiment-package?): New variable.
2017-05-16import cran: Exclude experiment packages in predicate "bioconductor-package?".Ricardo Wurmus
* guix/import/cran.scm (bioconductor-package?): Exclude experiment packages, because they cannot be updated with the default bioconductor updater.
2017-05-16import cran: Fetch DESCRIPTION files from Github mirror.Ricardo Wurmus
* guix/import/cran.scm (%bioconductor-svn-url): Remove variable. (bioconductor-mirror-url): New procedure. (fetch-description): Take a REPOSITORY symbol instead of a BASE-URL string. (cran->guix-package): Pass REPOSITORY symbol to "fetch-description". (latest-cran-release, latest-bioconductor-release): Adjust accordingly. (bioconductor-package?): Update comment about SVN.
2017-05-13import: cran: Robustify cran-package?.Mathieu Othacehe
* guix/import/cran.scm (package->upstream-name): Return #f if url start and end index could not be determined. (cran-package?): Check if the upstream-name can be extracted from given package. * tests/cran.scm: Add "r-minimal is not a cran package" to make sure that r-minimal is not detected as a cran package. This fixes a failure of guix refresh on r-minimal because no upsteam-name can be determined from ".../R-version.tar.gz" uri.