Merge pull request #255386 from mdarocha/move-nuget

This commit is contained in:
Ryan Lahfa
2023-10-03 15:40:04 +02:00
committed by GitHub
3 changed files with 54 additions and 23 deletions
+50
View File
@@ -0,0 +1,50 @@
{ 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" ];
};
})
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnetCorePackages, writeText, roslyn }:
{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }:
let
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
];
buildInputs = [
dotnetPackages.Nuget
nuget
glibcLocales
];
+2 -21
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";