about summary refs log tree commit diff
path: root/pkgs/development/r-modules/generate-r-packages.R
diff options
context:
space:
mode:
authorTikhon Jelvis <tikhon@jelv.is>2021-01-02 14:20:29 -0800
committerTikhon Jelvis <tikhon@jelv.is>2021-01-02 15:03:06 -0800
commit70cd2cb336fb0ba75f52590e3e2674ea1dd39789 (patch)
tree3965f9481c0fb2b219e3859fb7b05b7d8b8a6056 /pkgs/development/r-modules/generate-r-packages.R
parentda613094f76df071b255d456eb6a124edeba2ce9 (diff)
r-modules: update cran and bioc packages
The last snapshot was 4 months ago (2020-08-19). I also found that I needed newer definitions when I was trying to fix the R arrow package.

This update required a couple of manual changes:

  1. Removing a few deleted packages from default.nix
  2. Renaming the "assert" package to "r_assert" in generate-r-packages.R because "assert" is a keyword in Nix
Diffstat (limited to 'pkgs/development/r-modules/generate-r-packages.R')
-rwxr-xr-xpkgs/development/r-modules/generate-r-packages.R8
1 files changed, 6 insertions, 2 deletions
diff --git a/pkgs/development/r-modules/generate-r-packages.R b/pkgs/development/r-modules/generate-r-packages.R
index df489cdcacb5d..510eccd3f40a7 100755
--- a/pkgs/development/r-modules/generate-r-packages.R
+++ b/pkgs/development/r-modules/generate-r-packages.R
@@ -43,8 +43,12 @@ nixPrefetch <- function(name, version) {
 
 }
 
+escapeName <- function(name) {
+    switch(name, "import" = "r_import", "assert" = "r_assert", name)
+}
+
 formatPackage <- function(name, version, sha256, depends, imports, linkingTo) {
-    name <- ifelse(name == "import", "r_import", name)
+    name <- escapeName(name)
     attr <- gsub(".", "_", name, fixed=TRUE)
     options(warn=5)
     depends <- paste( if (is.na(depends)) "" else gsub("[ \t\n]+", "", depends)
@@ -56,7 +60,7 @@ formatPackage <- function(name, version, sha256, depends, imports, linkingTo) {
     depends <- lapply(depends, gsub, pattern="([^ \t\n(]+).*", replacement="\\1")
     depends <- lapply(depends, gsub, pattern=".", replacement="_", fixed=TRUE)
     depends <- depends[depends %in% knownPackages]
-    depends <- lapply(depends, function(d) ifelse(d == "import", "r_import", d))
+    depends <- lapply(depends, escapeName)
     depends <- paste(depends)
     depends <- paste(sort(unique(depends)), collapse=" ")
     paste0("  ", attr, " = derive2 { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };")