mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-19 18:44:13 +00:00
rPackages: mark packages as broken when generating package sets
The current behaviour for generate-r-packages.R is to delete packages that have been remove upstream. This patch changes the behaviour to mark packages as broken rather than removing them. This has the advantage of never breaking expressions, which previously occured when a package with overrides in default.nix was deleted. As a result, the update procedure is simplified, allowing automated updates to the package tree to run, and additionally if a package is re-established upstream the previous overrides still exist.
This commit is contained in:
parent
3489318f65
commit
9bc37bff1a
@ -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`
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user