Whether it is a case of Carcinisation or not, it seems we are now in the age where different tools for making the R language ecosystem better, faster, or more consistent are being built, of course, in Rust. In the R-world it definitely feels like an effort to catch up with what Astral.sh has done for python.
Interestingly, though, while Astral seem to be a doing a focused job on providing several tools for python, the R-world looks a bit fragmented with Posit doing some tools, and then some other companies and/or individual doing some other tools. And some have LLM help visible in the GitHub contributors list.
Overall I am not sure how serious, or long-term all of this projects will be, but for now it seems fun to track them and see how they develop. And for that reason, and of course to make it easier to install these, I made Arch Linux AUR packages for all tools that seem to fit in this bundle of next-gen R tooling.
| Tool | Description | Source Package | Binary Package |
|---|---|---|---|
| air | An R language server and formatter | r-air | r-air-bin |
| arf | A modern R console | arf | arf-bin |
| ark | An R kernel | r-ark | r-ark-bin |
| jarl | Fast linter for the R language | jarl | jarl-bin |
| rig | The R Installation Manager | r-rig | r-rig-bin |
| rv | A declarative R package manager | rv | rv-bin |
Some notes on packaging
Overall, providing an AUR package is a simple process. Using any existing PKGBUILD can serve as a template. However, I had to make changes to few PKGBUILDS because not all releases on GitHub follow the same directory structure. Also sometimes files were named differently then expected, for example having LICENSE.md instead of just LICENSE would promt changes to the packaging files.
Additionally, it seems the authors of these tools were not always too mindful of other tools that exist with the same name. This is the case with air (a Go package), ark (the KDE archiving tool), and rig (A random identity generator) where binaries for other purposes alreary exist in the Linux distribution, so renaming those to r-air, r-ark, and r-rig was necessary to avoid conflicts.
Anyway, hopefully people find these useful. And if you try them out please report any issues.