about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorJustin Bedo <cu@cua0.org>2013-09-20 09:26:07 +1000
committerPeter Simons <simons@cryp.to>2013-09-28 13:19:43 +0200
commitfdc6e4372fea92d18e0069faf7d5f29314869a56 (patch)
tree083900c5a1cc2b8aac0b5d6fd36195070544a4b2 /pkgs/development
parentb0bf894b432c66fc1f707542a353375996b5dab5 (diff)
Wrapped R's package system similarly to perlPackages
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/r-modules/generic/builder.sh23
-rw-r--r--pkgs/development/r-modules/generic/default.nix17
2 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/development/r-modules/generic/builder.sh b/pkgs/development/r-modules/generic/builder.sh
new file mode 100644
index 0000000000000..0c5d934c10c37
--- /dev/null
+++ b/pkgs/development/r-modules/generic/builder.sh
@@ -0,0 +1,23 @@
+source $stdenv/setup
+
+export R_LIBS_SITE="$R_LIBS_SITE${R_LIBS_SITE:+:}$out/library"
+
+
+if test -n "$rPreHook"; then
+    eval "$rPreHook"
+fi
+
+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
+}
+
+genericBuild
diff --git a/pkgs/development/r-modules/generic/default.nix b/pkgs/development/r-modules/generic/default.nix
new file mode 100644
index 0000000000000..d405cc018d151
--- /dev/null
+++ b/pkgs/development/r-modules/generic/default.nix
@@ -0,0 +1,17 @@
+R:
+
+{ buildInputs ? [], ... } @ attrs:
+
+R.stdenv.mkDerivation (
+  {
+  }
+  //
+  attrs
+  //
+  {
+    name = "r-" + attrs.name;
+    builder = ./builder.sh;
+    buildInputs = buildInputs ++ [ R ];
+    phases = [ "installPhase" "fixupPhase" ];
+  }
+)