nixpkgs/pkgs/by-name/nu/nuget/package.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

52 lines
1.4 KiB
Nix

{ stdenv, fetchFromGitHub, makeWrapper, mono, lib }:
stdenv.mkDerivation (attrs: {
pname = "Nuget";
version = "6.6.1.2";
src = fetchFromGitHub {
owner = "mono";
repo = "linux-packaging-nuget";
rev = "upstream/${attrs.version}.bin";
sha256 = "sha256-9/dSeVshHbpYIgGE/8OzrB4towrWVB3UxDi8Esmbu7Y=";
};
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
runHook preInstall
mkdir -p $out/lib/${attrs.pname}
cp -r . $out/lib/${attrs.pname}/
mkdir -p $out/bin
makeWrapper \
"${mono}/bin/mono" \
"$out/bin/nuget" \
--add-flags "$out/lib/${attrs.pname}/nuget.exe"
runHook postInstall
'';
meta = with lib; {
description = "A package manager for the .NET platform";
mainProgram = "nuget";
homepage = "https://www.mono-project.com/";
longDescription = ''
NuGet is the package manager for the .NET platform.
This derivation bundles the Mono NuGet CLI, which is mostly used by
older projects based on .NET Framework.
Newer .NET projects can use the dotnet CLI, which has most of this
packages functionality built-in.
'';
# https://learn.microsoft.com/en-us/nuget/resources/nuget-faq#what-is-the-license-for-nuget-exe-
license = licenses.mit;
sourceProvenance = [ sourceTypes.binaryBytecode ];
maintainers = [ maintainers.mdarocha ];
inherit (mono.meta) platforms;
};
})