summary refs log tree commit diff
path: root/pkgs/build-support/dotnet
diff options
context:
space:
mode:
authorRaphael Robatsch <raphael-git@tapesoftware.net>2023-05-25 11:49:10 +0200
committerRaphael Robatsch <raphael-git@tapesoftware.net>2023-05-26 16:18:07 +0200
commit0d2981488007617e666959b55e43fb1b2c2409f8 (patch)
treeb8d647fb3e26cbcf33bed24923ce5a79259df252 /pkgs/build-support/dotnet
parent256c3a7a534106cfc441c88b97c4514793bccda3 (diff)
downloadnixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.tar
nixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.tar.gz
nixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.tar.bz2
nixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.tar.lz
nixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.tar.xz
nixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.tar.zst
nixpkgs-0d2981488007617e666959b55e43fb1b2c2409f8.zip
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.
Diffstat (limited to 'pkgs/build-support/dotnet')
-rw-r--r--pkgs/build-support/dotnet/make-nuget-source/default.nix10
1 files 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 6bda65f18d5..a23a143ab24 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")