nixpkgs/pkgs/development/r-modules/wrapper.nix
Matthieu Coudron ef156fb8ed rWrapper: use symlinkJoin instead of runCommand
While trying to build a haskell-project I got:

Configuring library for inline-r-0.10.4..
cabal: The pkg-config package 'libR' version ==3.0 || >3.0 is required but it
could not be found.

the rWrapper was only bringing the R binary without its companion
library: this fixes it.
2021-01-18 10:35:35 +01:00

32 lines
787 B
Nix

{ 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;
};
}