Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R: update CRAN package set #51916

Merged
merged 1 commit into from Dec 13, 2018
Merged

R: update CRAN package set #51916

merged 1 commit into from Dec 13, 2018

Conversation

jabranham
Copy link
Contributor

Motivation for this change

Update CRAN snapshot

Things done

Following instructions in doc/languages-frameworks/r.section.md:

$ cd pkgs/development/r-modules
$ nix-shell generate-shell.nix
$ Rscript generate-r-packages.R cran  > cran-packages.nix.new
$ mv cran-packages.nix.new cran-packages.nix
$ nix-build test-evaluation.nix --dry-run
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@peti
Copy link
Member

peti commented Dec 12, 2018

Pushed peti@de589cd to r-updates for test building at https://hydra.nixos.org/jobset/nixpkgs/r-updates.

@jabranham
Copy link
Contributor Author

Looks like hydra finished. Do I need to investigate those three failures more closely?

Also, since hydra is building the packages anyway, is there a way we can enable substitutions for R packages so users don't have to rebuild from source? If storage space is a concern, we could just do it for a small whitelist. Some popular packages (Rcpp, dplyr, etc) take a decent amount of time to build locally, especially on older laptops.

@Mic92
Copy link
Member

Mic92 commented Dec 13, 2018

The substitution should already happen when hydra is building the packages.

@jabranham
Copy link
Contributor Author

@Mic92 I don't think I've ever had any R package substituted. And as far as I know I'm not doing anything that would require them to be rebuilt.

@peti
Copy link
Member

peti commented Dec 13, 2018 via email

@peti peti merged commit c301779 into NixOS:master Dec 13, 2018
@jabranham
Copy link
Contributor Author

@peti Thanks. My question was though whether it's possible to enable that, at least for a subset of R packages. Some are very popular (Rcpp, dplyr, etc) and take a while to build locally. Other distros (e.g. Debian) do offer a subset of CRAN packages as binaries.

@jabranham jabranham deleted the cran-update branch December 13, 2018 16:54
@peti
Copy link
Member

peti commented Dec 13, 2018

I don't know. We used to build rPackages but had to disable that a while ago because the sheer number of packages overloaded Hydra's evaluator. It's possible that problem would still exist today, but I am not in a position to tell with any authority. We could probably build a subset without any problems ... but that poses the question of what that subset would be? Who defines that?

Personally, I don't feel stronly about any of this, to be honest. I compile my R packages locally and it seems to be no big deal. Maybe I'm just lucky with my choice of dependencies, though. Who knows.

@jabranham
Copy link
Contributor Author

Sure, that makes sense.

I don't think it would be very hard to come up with a reasonable whitelist. Perhaps the tidyverse + the X number of packages that have the highest number of reverse dependencies? Perhaps a few select others too based on the amount of compile time? rstan is one package (for me) that is annoying to compile locally because of the amount of time it takes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants