diff options
Diffstat (limited to 'nixpkgs/pkgs/build-support/dotnet/make-nuget-source/default.nix')
-rw-r--r-- | nixpkgs/pkgs/build-support/dotnet/make-nuget-source/default.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/dotnet/make-nuget-source/default.nix b/nixpkgs/pkgs/build-support/dotnet/make-nuget-source/default.nix new file mode 100644 index 000000000000..4cf9c1a7412a --- /dev/null +++ b/nixpkgs/pkgs/build-support/dotnet/make-nuget-source/default.nix @@ -0,0 +1,28 @@ +{ lib, python3, stdenvNoCC }: + +{ name +, description ? "" +, deps ? [] +, ... +}@args: + +stdenvNoCC.mkDerivation (lib.recursiveUpdate { + inherit name; + + nativeBuildInputs = [ python3 ]; + + buildCommand = '' + mkdir -p $out/{lib,share} + + # 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 \ + ln -s '{}' -t $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") + python ${./extract-licenses-from-nupkgs.py} $out/lib > $out/share/licenses + ''; + + meta.description = description; +} (removeAttrs args [ "name" "description" "deps" ])) |