aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/r-modules/generic-builder.nix
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2014-05-04 23:54:11 +0200
committerPeter Simons <simons@cryp.to>2014-05-04 23:54:11 +0200
commit66bcd77f0ebdacb99ad54339945fb9a082f20df6 (patch)
tree83ab5b72461c36a7228594d0c78756bfd043f309 /pkgs/development/r-modules/generic-builder.nix
parent401f4a28c1e5be0b35f1aea317a70cea7f535096 (diff)
R: simplify the generic builder
Diffstat (limited to 'pkgs/development/r-modules/generic-builder.nix')
-rw-r--r--pkgs/development/r-modules/generic-builder.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix
new file mode 100644
index 000000000000..e1b3a6cc1a80
--- /dev/null
+++ b/pkgs/development/r-modules/generic-builder.nix
@@ -0,0 +1,33 @@
+R:
+
+{ name, buildInputs ? [], ... } @ attrs:
+
+R.stdenv.mkDerivation ({
+ name = "r-" + name;
+
+ buildInputs = buildInputs ++ [R];
+
+ configurePhase = ''
+ runHook preConfigure
+ export R_LIBS_SITE="$R_LIBS_SITE''${R_LIBS_SITE:+:}$out/library"
+ runHook postConfigure
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ runHook postBuild
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/library
+ R CMD INSTALL -l $out/library $src
+ runHook postInstall
+ '';
+
+ postFixup = ''
+ if test -e $out/nix-support/propagated-native-build-inputs; then
+ ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
+ fi
+ '';
+} // attrs)