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
commit 122ce602c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 23 deletions

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" ];
};
})

View File

@ -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
];

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";