diff --git a/pkgs/development/r-modules/wrapper.nix b/pkgs/development/r-modules/wrapper.nix index 76e819501a57..12704149666c 100644 --- a/pkgs/development/r-modules/wrapper.nix +++ b/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 -''