Dirk Eddelbuettel
2023-Mar-26 23:30 UTC
[R-sig-Debian] Announcing r2u: 20k CRAN binaries for Ubuntu 22.04 + 20.04
The r2u repository [1] has been providing CRAN packages as Ubuntu binaries (with *full* and *complete* dependency resolution) since last May. It is being served from a well-connect Internet2 mirror thanks to the University of Illinois making it *fast*. By relying on the bspm package [2], it can access the 20k binaries (all of CRAN, essentially, and around 240 BioConductor packages for the two most recent Ubuntu LTS releases 22.04 and 20.04) via the standard R functions such as install.packages(). Over the last few months I have provided multiple 'demos' as animated gifs showing how for example `system.time(install.package("tinyverse"))` installs all these packages and all their dependencies in under twenty seconds (!!). So yes: this gives us on Ubuntu what Windows and macOS users had all those years. All packages as binaries, *fast*. It integrates with the system so it will both update naturally to newer versions and never leave you stranded by removing a shared library your R package depends upon. As apt and dpkg now "know" through the complete system-level resolution of dependencies, they will not remove a shared library they know to be in use. [3] The documentation site [1] also has a link to the nice gitpod.io site where (after getting access via your github handle) you can test drive this in the browser (!!). For those familiar with Docker there are also containers eddelbuettel/r2u appropriately tagged (20.04, focal, 22.04, jammy). Otherwise the site has two short scripts for adding r2u support to an existing Ubuntu setup. Also, my own default CI setup (for use at GitHub, Azure Pipelines, Travis, ...) long switched to it as well [4]. I hope you find this useful too. Cheers, Dirk [1] Documentation is at https://eddelbuettel.github.io/r2u/ including a short FAQ section [2] https://cloud.r-project.org/package=bspm [3] A classic example that bit me many times is RcppGSL being dependent on the current version of GSL. And when, say, libgsl24 is updated to libgsl25 the compiled RcppGSL would break. No more: now apt will keep libgsl24 and install libgsl25 next to it, and your R use cannot break. No other OS gives you that. [3] See https://eddelbuettel.github.io/r-ci -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
Dirk Eddelbuettel
2023-Mar-26 23:53 UTC
[R-sig-Debian] Announcing r2u: 20k CRAN binaries for Ubuntu 22.04 + 20.04
On 26 March 2023 at 18:30, Dirk Eddelbuettel wrote: | Over the last few months I have provided multiple 'demos' as animated gifs | showing how for example `system.time(install.package("tinyverse"))` installs | all these packages and all their dependencies in under twenty seconds (!!). Classic typo as Josh kindly pointed out over DM: `system.time(install.package("tidyverse"))` is what I meant. Sorry for any confusion this may have caused. Dirk -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org