Merge pull request #109717 from teto/fix-r-wrapper

rWrapper: use symlinkJoin instead of runCommand
This commit is contained in:
Peter Simons 2021-01-18 19:25:59 +01:00 committed by GitHub
commit 39cb2244ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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
''