nuget: move out of dotnet-packages and the dotnetPackages namespaces

This commit is contained in:
mdarocha 2023-09-16 01:24:12 +02:00
parent ad69bc581b
commit 8cc6699fd4
2 changed files with 48 additions and 21 deletions

View File

@ -0,0 +1,46 @@
{ stdenv, fetchFromGitHub, makeWrapper, mono, lib }:
stdenv.mkDerivation (attrs: {
pname = "Nuget";
version = "6.3.1.1";
src = fetchFromGitHub {
owner = "mono";
repo = "linux-packaging-nuget";
rev = "upstream/${attrs.version}.bin";
sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc=";
};
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
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"
'';
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" ];
};
})

View File

@ -10,12 +10,14 @@
, mono
, overrides ? {}
, boogie
, nuget
}:
let self = dotnetPackages // overrides; dotnetPackages = with self; {
# ALIASES FOR MOVED PACKAGES
Boogie = boogie;
Nuget = nuget;
# BINARY PACKAGES
@ -168,27 +170,6 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
outputFiles = [ "*" ];
};
Nuget = buildDotnetPackage rec {
pname = "Nuget";
version = "6.3.1.1";
src = fetchFromGitHub {
owner = "mono";
repo = "linux-packaging-nuget";
rev = "upstream/${version}.bin";
sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc=";
};
# configurePhase breaks the binary and results in
# `File does not contain a valid CIL image.`
dontConfigure = true;
dontBuild = true;
dontPlacateNuget = true;
outputFiles = [ "*" ];
exeFiles = [ "nuget.exe" ];
};
Paket = fetchNuGet {
pname = "Paket";
version = "5.179.1";