3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/r-modules
Michael Stone c1d24efd6a darwin: R: provide gettext and gfortran as buildInputs on Darwin.
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
2016-07-22 13:31:40 -04:00
..
patches Remove no longer (or never) referenced patches 2016-01-24 02:02:21 +01:00
bioc-annotation-packages.nix r-modules: update CRAN, add Bioconductor data pkgs 2016-03-22 22:50:54 -07:00
bioc-experiment-packages.nix r-modules: update CRAN, add Bioconductor data pkgs 2016-03-22 22:50:54 -07:00
bioc-packages.nix work on fixing up bioconductor packages 2016-03-31 16:16:34 -07:00
cran-packages.nix work on fixing up bioconductor packages 2016-03-31 16:16:34 -07:00
default.nix darwin: R: provide gettext and gfortran as buildInputs on Darwin. 2016-07-22 13:31:40 -04:00
generate-r-packages.R r-modules: update CRAN, add Bioconductor data pkgs 2016-03-22 22:50:54 -07:00
generate-shell.nix
generic-builder.nix darwin: R: provide gettext and gfortran as buildInputs on Darwin. 2016-07-22 13:31:40 -04:00
irkernel-packages.nix
README.md nixpkgs manual: add basic R documentation, fixes #13362 2016-02-22 10:16:06 +01:00
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