From eac0641ae6dba32d844346e1f8a1dbe7744b7710 Mon Sep 17 00:00:00 2001 From: Raphael Robatsch Date: Thu, 25 May 2023 11:49:10 +0200 Subject: mkNugetSource: Also copy .nupkg files from subdirectories Previously only .nupkg files directly in the deps directory were copied. This is a regression because it breaks `projectReferences = [ ... ];` in buildDotnetModule. (cherry picked from commit 0d2981488007617e666959b55e43fb1b2c2409f8) --- pkgs/build-support/dotnet/make-nuget-source/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/dotnet/make-nuget-source/default.nix b/pkgs/build-support/dotnet/make-nuget-source/default.nix index 6bda65f18d58..a23a143ab246 100644 --- a/pkgs/build-support/dotnet/make-nuget-source/default.nix +++ b/pkgs/build-support/dotnet/make-nuget-source/default.nix @@ -15,12 +15,10 @@ let buildCommand = '' mkdir -p $out/{lib,share} - ( - shopt -s nullglob - for nupkg in ${lib.concatMapStringsSep " " (dep: "\"${dep}\"/*.nupkg") deps}; do - cp --no-clobber "$nupkg" $out/lib - done - ) + # use -L to follow symbolic links. When `projectReferences` is used in + # buildDotnetModule, one of the deps will be a symlink farm. + find -L ${lib.concatStringsSep " " deps} -type f -name '*.nupkg' -exec \ + cp --no-clobber '{}' $out/lib ';' # Generates a list of all licenses' spdx ids, if available. # Note that this currently ignores any license provided in plain text (e.g. "LICENSE.txt") -- cgit v1.2.3