diff options
-rw-r--r-- | doc/languages-frameworks/r.section.md | 8 | ||||
-rwxr-xr-x | pkgs/development/r-modules/generate-r-packages.R | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/doc/languages-frameworks/r.section.md b/doc/languages-frameworks/r.section.md index 56e3da64df2a7..6b64e264b6692 100644 --- a/doc/languages-frameworks/r.section.md +++ b/doc/languages-frameworks/r.section.md @@ -113,11 +113,3 @@ mv bioc-experiment-packages.nix.new bioc-experiment-packages.nix ``` `generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefor the renaming. - -## Testing if the Nix-expression could be evaluated {#testing-if-the-nix-expression-could-be-evaluated} - -```bash -nix-build test-evaluation.nix --dry-run -``` - -If this exits fine, the expression is ok. If not, you have to edit `default.nix` diff --git a/pkgs/development/r-modules/generate-r-packages.R b/pkgs/development/r-modules/generate-r-packages.R index f656fdca0922d..8c97c651e4c4b 100755 --- a/pkgs/development/r-modules/generate-r-packages.R +++ b/pkgs/development/r-modules/generate-r-packages.R @@ -82,6 +82,17 @@ pkgs$sha256 <- parApply(cl, pkgs, 1, function(p) nixPrefetch(p[1], p[2])) nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], p[6])) write("done", stderr()) +# Mark deleted packages as broken +setkey(readFormatted, V2) +markBroken <- function(name) { + str <- paste0(readFormatted[name], collapse='"') + if(sum(grep("broken = true;", str))) + return(str) + write(paste("marked", name, "as broken"), stderr()) + gsub("};$", "broken = true; };", str) +} +broken <- lapply(setdiff(readFormatted[[2]], pkgs[[1]]), markBroken) + cat("# This file is generated from generate-r-packages.R. DO NOT EDIT.\n") cat("# Execute the following command to update the file.\n") cat("#\n") @@ -95,6 +106,7 @@ if (mirrorType == "cran") { cat("{ snapshot = \"", paste(snapshotDate), "\"; }", cat(";\n") cat("in with self; {\n") cat(paste(nix, collapse="\n"), "\n", sep="") +cat(paste(broken, collapse="\n"), "\n", sep="") cat("}\n") stopCluster(cl) |