Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / nu / nuget / package.nix
blobdd0af4ab22441514cde9291c7ad3fd80ea63d8c7
1 { stdenv, fetchFromGitHub, makeWrapper, mono, lib }:
3 stdenv.mkDerivation (attrs: {
4   pname = "Nuget";
5   version = "6.6.1.2";
7   src = fetchFromGitHub {
8     owner = "mono";
9     repo = "linux-packaging-nuget";
10     rev = "upstream/${attrs.version}.bin";
11     sha256 = "sha256-9/dSeVshHbpYIgGE/8OzrB4towrWVB3UxDi8Esmbu7Y=";
12   };
14   nativeBuildInputs = [
15     makeWrapper
16   ];
18   installPhase = ''
19     runHook preInstall
21     mkdir -p $out/lib/${attrs.pname}
22     cp -r . $out/lib/${attrs.pname}/
24     mkdir -p $out/bin
25     makeWrapper \
26       "${mono}/bin/mono" \
27       "$out/bin/nuget" \
28       --add-flags "$out/lib/${attrs.pname}/nuget.exe"
30     runHook postInstall
31   '';
33   meta = with lib; {
34     description = "Package manager for the .NET platform";
35     mainProgram = "nuget";
36     homepage = "https://www.mono-project.com/";
37     longDescription = ''
38       NuGet is the package manager for the .NET platform.
39       This derivation bundles the Mono NuGet CLI, which is mostly used by
40       older projects based on .NET Framework.
42       Newer .NET projects can use the dotnet CLI, which has most of this
43       packages functionality built-in.
44     '';
45     # https://learn.microsoft.com/en-us/nuget/resources/nuget-faq#what-is-the-license-for-nuget-exe-
46     license = licenses.mit;
47     sourceProvenance = [ sourceTypes.binaryBytecode ];
48     maintainers = [ maintainers.mdarocha ];
49     inherit (mono.meta) platforms;
50   };