haskell/generic-builder.nix: Fix C lib multiple inclusions

Allow the darwin links code to overwrite libs that were already
copied, because C dependencies can occur multiple times.

Solves errors like

    ln: failed to create symbolic link '/nix/store/higpc9xavwcjjzdipz7m9ly03bh7iy2z-hercules-ci-agent-source-0.7.0/lib/links/libboost_context.dylib': File exists
This commit is contained in:
Robert Hensing 2020-05-14 15:26:01 +02:00 committed by Peter Simons
parent 4ed93cc494
commit 4353027d0b

View file

@ -383,7 +383,8 @@ stdenv.mkDerivation ({
for d in $(grep '^dynamic-library-dirs:' "$packageConfDir"/* | cut -d' ' -f2- | tr ' ' '\n' | sort -u); do for d in $(grep '^dynamic-library-dirs:' "$packageConfDir"/* | cut -d' ' -f2- | tr ' ' '\n' | sort -u); do
for lib in "$d/"*.{dylib,so}; do for lib in "$d/"*.{dylib,so}; do
ln -s "$lib" "$dynamicLinksDir" # Allow overwriting because C libs can be pulled in multiple times.
ln -sf "$lib" "$dynamicLinksDir"
done done
done done
# Edit the local package DB to reference the links directory. # Edit the local package DB to reference the links directory.