about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/r-modules/wrapper.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/r-modules/wrapper.nix')
-rw-r--r--nixpkgs/pkgs/development/r-modules/wrapper.nix32
1 files changed, 21 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/development/r-modules/wrapper.nix b/nixpkgs/pkgs/development/r-modules/wrapper.nix
index 76e819501a57..12704149666c 100644
--- a/nixpkgs/pkgs/development/r-modules/wrapper.nix
+++ b/nixpkgs/pkgs/development/r-modules/wrapper.nix
@@ -1,21 +1,31 @@
-{ runCommand, R, makeWrapper, recommendedPackages, packages }:
-
-runCommand (R.name + "-wrapper") {
+{ symlinkJoin, R, makeWrapper, recommendedPackages, packages }:
+symlinkJoin {
+  name = R.name + "-wrapper";
   preferLocalBuild = true;
   allowSubstitutes = false;
 
   buildInputs = [R] ++ recommendedPackages ++ packages;
+  paths = [ R ];
 
   nativeBuildInputs = [makeWrapper];
 
+  postBuild = ''
+    cd ${R}/bin
+    for exe in *; do
+      rm "$out/bin/$exe"
+
+      makeWrapper "${R}/bin/$exe" "$out/bin/$exe" \
+        --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
+    done
+  '';
+
   # Make the list of recommended R packages accessible to other packages such as rpy2
   passthru = { inherit recommendedPackages; };
+
+    meta = R.meta // {
+      # To prevent builds on hydra
+      hydraPlatforms = [];
+      # prefer wrapper over the package
+      priority = (R.meta.priority or 0) - 1;
+    };
 }
-''
-mkdir -p $out/bin
-cd ${R}/bin
-for exe in *; do
-  makeWrapper ${R}/bin/$exe $out/bin/$exe \
-    --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
-done
-''