diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 1a788ae642ea26..60a4e28609e5fb 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -244,7 +244,11 @@ stdenv.mkDerivation ({ configureFlags+=" --extra-lib-dirs=$p/lib" fi done - '' + (optionalString stdenv.isDarwin '' + '' + # only use the links hack if we're actually building dylibs. otherwise, the + # "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes + # "ln -s $out/lib/links", which tries to recreate the links dir and fails + + (optionalString (stdenv.isDarwin && enableSharedLibraries) '' # Work around a limit in the macOS Sierra linker on the number of paths # referenced by any one dynamic library: #