cran2crux: automatically create CRUX ports for R-packages
Year: 2026
Type: preprint
Abstract: Motivation R together with CRAN and Bioconductor provides one of the richest ecosystems for bioinformatics and computational biology, with thousands of specialized packages. While GNU/Linux is a vastly-used operating system in this field, R-packages are typically managed independently of the system’s native package manager. This separation makes installation, updates and mass rebuilds cumbersome. CRUX, a minimalist semi-source GNU/Linux distribution, offers great flexibility with its ports-based system for the seamless integration of R-packages with its native package manager. Results The hereby presented cran2crux tool automatically generates CRUX ports for packages from both CRAN and Bioconductor. It performs recursive dependency resolution, handles naming conventions, extracts dependencies information, and supports inclusion of optional dependencies. The tool also provides convenient functions for checking updates and regenerating outdated ports. It can generate over 140 ports for complex packages such as Seurat in approximately 11 seconds, dramatically simplifying the maintenance of large R-dedicated repositories on CRUX. Availability cran2crux is available under the MIT license at https://github.com/izzilab/cran2crux . As of now, more than 650 R package ports, generated with the tool, are available in the CRUX ports database.
Authors: Petar B. Petrov, Valerio Izzi
Institution: University of Oulu
Topic: Data Analysis with R
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
Funders: Sigrid Juséliuksen Säätiö, Syöpäsäätiö
OpenAlex ID: W7161012147
