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.

(cherry picked from commit 41f3a4e0030a1b0233de6ca7f5208c44eb370313)
This commit is contained in:
Rob Vermaas 2018-04-06 14:18:16 +02:00
parent e7f2b7692b
commit f8fe297ff1
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
'';