More scientific packages for GNU Guix

Lars-Dominik Braun — January 4, 2021

With increased usage of GNU Guix at scientific institutions there are also growing needs for packaging software used in research and teaching. The best place for that has been and still is Guix’ main repository because there the software is accessible and maintainable by the entire Guix community.

However some packages cannot be included there, because of the repository’s inclusion policy. RStudio for instance is notorious for vendoring components and difficult to build from source entirely. As another example JupyterLab bundles precompiled JavaScript, which cannot be unbundled without also packaging npm.

This has resulted in different institutes creating their own Guix channels and useful packages being scattered in different git repositories. For instance UMCU’s channel provides a package definition for RStudio that was copied from BIMSB’s Guix channel. At Leibniz Institute for Psychology (ZPID) we also used to maintain our own version of RStudio in our Guix channel.

Since there is a demand for these kind of packages we at ZPID decided to move our package definitions of RStudio, JupyterLab and JASP into a vendor-neutral channel called guix-science. The channel has a more relaxed inclusion policy regarding usage of prebuilt components than Guix itself and thus can include software that is difficult to build from source. It uses Guix’ authorization mechanism to build a trusted source of package definitions. Currently the three owners of the GitHub organization Ricardo Wurmus (BIMSB), Roel Janssen (UMCU) and me are also authorized committers. Binary substitutes, which we build for our own infrastructure, are publicly available for everyone at https://substitutes.guix.psychnotebook.org/. See the README file on how to use them.

We welcome contributions of new package definitions, as well as improvements to existing ones and hope to foster collaboration amongst scientific institutes who deploy software using GNU Guix.

Unless otherwise stated, blog posts on this site are copyrighted by their respective authors and published under the terms of the CC-BY-SA 4.0 license and those of the GNU Free Documentation License (version 1.3 or later, with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts).

  • MDC
  • Inria
  • UBC
  • UTHSC