1{
2 lib,
3 symlinkJoin,
4 R,
5 makeWrapper,
6 recommendedPackages,
7 packages,
8}:
9symlinkJoin {
10 name = R.name + "-wrapper";
11 preferLocalBuild = true;
12 allowSubstitutes = false;
13
14 buildInputs = [ R ] ++ recommendedPackages ++ packages;
15 paths = [ R ];
16
17 nativeBuildInputs = [ makeWrapper ];
18
19 postBuild = ''
20 cd ${R}/bin
21 for exe in *; do
22 rm "$out/bin/$exe"
23
24 makeWrapper "${R}/bin/$exe" "$out/bin/$exe" \
25 --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE"
26 done
27 '';
28
29 # Make the list of recommended R packages accessible to other packages such as rpy2
30 passthru = { inherit recommendedPackages; };
31
32 meta = R.meta // {
33 # To prevent builds on hydra
34 hydraPlatforms = [ ];
35 # prefer wrapper over the package
36 priority = (R.meta.priority or lib.meta.defaultPriority) - 1;
37 };
38}