diff --git a/pkgs/os-specific/cygwin/cygwin-dll-link-hook/cygwin-dll-link.sh b/pkgs/os-specific/cygwin/cygwin-dll-link-hook/cygwin-dll-link.sh index 371ba633edc8..2d2023d49a71 100644 --- a/pkgs/os-specific/cygwin/cygwin-dll-link-hook/cygwin-dll-link.sh +++ b/pkgs/os-specific/cygwin/cygwin-dll-link-hook/cygwin-dll-link.sh @@ -29,7 +29,11 @@ _linkDeps() { local dll _dllDeps "$target" | while read -r dll; do echo ' dll:' "$dll" - if [[ -e "$dir/$dll" ]]; then continue; fi + if [[ -L "$dir/$dll" || -e "$dir/$dll" ]]; then continue; fi + if [[ $dll = cygwin1.dll ]]; then + CYGWIN+=\ winsymlinks:nativestrict ln -sr /bin/cygwin1.dll "$dir" + continue + fi # Locate the DLL - it should be an *executable* file on $LINK_DLL_FOLDERS. local dllPath if ! dllPath="$(PATH="$(dirname "$target"):$LINK_DLL_FOLDERS" type -P "$dll")"; then diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index d66fbf71035e..4f5ee160dbcf 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -704,7 +704,6 @@ let allowedImpureDLLs ++ lib.optionals isCygwin [ "KERNEL32.dll" - "cygwin1.dll" ]; } // (