Bringing R packages to Fedora (in fact, to any distro) is an Herculean task, especially considering the rate at which CRAN grows nowadays. This is an attempt to maintain RPM repos for most of CRAN (~15k packages as of Feb. 2020) in an automated way using Fedora Copr, while ensuring compatibility with the packages already in the official repos.
To enable this Copr repository in your system:
$ sudo dnf copr enable iucar/cran
Package names are prefixed with
R-CRAN-. So, for example, to install package
$ sudo dnf install R-CRAN-car
Currently, only x86_64 chroots for supported (non-EOL) versions of Fedora, including rawhide, are enabled. If you are interested in other chroots (from the supported architectures and distros), please open an issue on GitHub expressing so, but it is unlikely that it will be enabled in the short to medium term due to current storage limitations in the Copr infrastructure.
These repos are automatically synchronized with CRAN every day at 00:00 UTC through a GitHub Action that removes archived packages and builds the most recent updates. If you find any issue with any of the supported packages (see details and limitations below), please open an issue on GitHub.
Details and limitations
This project works with a set of R scripts around the
copr-cli Python tool, which is rather limited yet.
SPECs are generated from a standard template (see
specfile.tpl), a list of system requirements (currently manually maintained; see the
TODO list for a possible replacement), and a handful of fixes for particular cases (because, despite all the good work by the CRAN team, still some bad practices sneak in).
All in all, this procedure must work in an automated way for ~15k packages (as of Feb. 2020), which means that this project needs to relax some packaging guidelines that are otherwise enforced in the official Fedora repos. Particularly,
- Package names, versions and license strings are copied from DESCRIPTION files unmodified.
- Dependencies are probably over-specified in most cases, but this shouldn't be a problem.
- Packages are built as-is, without unbundling any included third-party library.
- To ensure compatibility with the official repos, the
/usr/localprefix is used for package installation.
- All packages are installed under
/usr/local/lib/R/library(no distinction for noarch packages, which, following Fedora's guidelines, should be placed under
- Noarch packages incorrectly flagged as needing compilation are inadvertently built as arch-specific.
- Packages that require (Depends or Imports) Bioconductor packages are excluded (see
- Packages that require unsupported system requirements are excluded (see
The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).
|Fedora 31||x86_64 (0)*||Fedora 31 (115 downloads)|
|Fedora 32||x86_64 (0)*||Fedora 32 (37 downloads)|
|Fedora rawhide||x86_64 (0)*||Fedora rawhide (96 downloads)|
* Total number of packages downloaded in the last seven days.