51 lines
1.4 KiB
Nix
51 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";
|
||
|
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 ];
|
||
|
platforms = [ "x86_64-linux" ];
|
||
|
};
|
||
|
})
|