From 233cec301c8cdf8b34e702a67ee26230c1222e01 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 14 May 2020 15:26:01 +0200 Subject: [PATCH] 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 (cherry picked from commit a9373cdb0aeca1bef291d74be1cecdca8e0c3c27) --- pkgs/development/haskell-modules/generic-builder.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 513987dae7b3..bcaf522404e4 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -385,7 +385,8 @@ stdenv.mkDerivation ({ for d in $(grep '^dynamic-library-dirs:' "$packageConfDir"/* | cut -d' ' -f2- | tr ' ' '\n' | sort -u); do for lib in "$d/"*.dylib; do - ln -s "$lib" "$dynamicLinksDir" + # Allow overwriting because C libs can be pulled in multiple times. + ln -sf "$lib" "$dynamicLinksDir" done done # Edit the local package DB to reference the links directory.