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