julia: remove wrapper from julia binaries, in stead

symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
as using a wrapper with LD_LIBRARY_PATH causes segmentation
faults when program returns an error:

 $ julia -e 'throw(Error())'

only applied for 0.6, which is the current julia version. Will
see if we can remove the older versions in master.
This commit is contained in:
Rob Vermaas 2018-04-06 14:18:16 +02:00
parent 97de18f5aa
commit 41f3a4e003
No known key found for this signature in database
GPG Key ID: 6B726FB2EE6F4255

View File

@ -172,10 +172,14 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
wrapProgram "$prog" \
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:$out/lib/julia" \
--prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
# as using a wrapper with LD_LIBRARY_PATH causes segmentation
# faults when program returns an error:
# $ julia -e 'throw(Error())'
find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do
if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then
ln -sv $lib $out/lib/julia/$(basename $lib)
fi
done
'';