forked from mirrors/nixpkgs
c1d24efd6a
As discussed in #10623, many R modules fail to build on Darwin without the libraries and compilers provided by these packages. For more detail, please see comment: https://github.com/NixOS/nixpkgs/pull/10623#issuecomment-172375342 |
||
---|---|---|
.. | ||
patches | ||
bioc-annotation-packages.nix | ||
bioc-experiment-packages.nix | ||
bioc-packages.nix | ||
cran-packages.nix | ||
default.nix | ||
generate-r-packages.R | ||
generate-shell.nix | ||
generic-builder.nix | ||
irkernel-packages.nix | ||
README.md | ||
test-evaluation.nix | ||
wrapper.nix |
R packages
Installation
Define an environment for R that contains all the libraries that you'd like to use by adding the following snippet to your $HOME/.nixpkgs/config.nix file:
{
packageOverrides = super: let self = super.pkgs; in
{
rEnv = super.rWrapper.override {
packages = with self.rPackages; [
devtools
ggplot2
reshape2
yaml
optparse
];
};
};
}
Then you can use nix-env -f "<nixpkgs>" -iA rEnv
to install it into your user
profile. The set of available libraries can be discovered by running the
command nix-env -f "<nixpkgs>" -qaP -A rPackages
. The first column from that
output is the name that has to be passed to rWrapper in the code snipped above.
Updating the package set
Rscript generate-r-packages.R cran > cran-packages.nix.new
mv cran-packages.nix.new cran-packages.nix
Rscript generate-r-packages.R bioc > bioc-packages.nix.new
mv bioc-packages.nix.new bioc-packages.nix
Rscript generate-r-packages.R irkernel > irkernel-packages.nix.new
mv irkernel-packages.nix.new irkernel-packages.nix
generate-r-packages.R <repo>
reads <repo>-packages.nix
, therefor the renaming.
Testing if the Nix-expression could be evaluated
nix-build test-evaluation.nix --dry-run
If this exits fine, the expression is ok. If not, you have to edit default.nix