From 8cc6699fd45384e9c8528218d69e65ff664938cf Mon Sep 17 00:00:00 2001 From: mdarocha Date: Sat, 16 Sep 2023 01:24:12 +0200 Subject: [PATCH 1/3] nuget: move out of dotnet-packages and the dotnetPackages namespaces --- pkgs/by-name/nu/nuget/package.nix | 46 ++++++++++++++++++++++++++++++ pkgs/top-level/dotnet-packages.nix | 23 ++------------- 2 files changed, 48 insertions(+), 21 deletions(-) create mode 100644 pkgs/by-name/nu/nuget/package.nix diff --git a/pkgs/by-name/nu/nuget/package.nix b/pkgs/by-name/nu/nuget/package.nix new file mode 100644 index 000000000000..304b98039130 --- /dev/null +++ b/pkgs/by-name/nu/nuget/package.nix @@ -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" ]; + }; +}) diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index 661603b2ba1f..89fba136259e 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -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"; From 78dd0f11859a0c0805838c4245ce57ed7b4ab4b7 Mon Sep 17 00:00:00 2001 From: mdarocha Date: Sat, 16 Sep 2023 01:26:56 +0200 Subject: [PATCH 2/3] nuget: 6.3.1.1 -> 6.6.1.2 --- pkgs/by-name/nu/nuget/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nu/nuget/package.nix b/pkgs/by-name/nu/nuget/package.nix index 304b98039130..ff262c68ff64 100644 --- a/pkgs/by-name/nu/nuget/package.nix +++ b/pkgs/by-name/nu/nuget/package.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation (attrs: { pname = "Nuget"; - version = "6.3.1.1"; + version = "6.6.1.2"; src = fetchFromGitHub { owner = "mono"; repo = "linux-packaging-nuget"; rev = "upstream/${attrs.version}.bin"; - sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc="; + sha256 = "sha256-9/dSeVshHbpYIgGE/8OzrB4towrWVB3UxDi8Esmbu7Y="; }; nativeBuildInputs = [ @@ -16,6 +16,8 @@ stdenv.mkDerivation (attrs: { ]; installPhase = '' + runHook preInstall + mkdir -p $out/lib/${attrs.pname} cp -r . $out/lib/${attrs.pname}/ @@ -24,6 +26,8 @@ stdenv.mkDerivation (attrs: { "${mono}/bin/mono" \ "$out/bin/nuget" \ --add-flags "$out/lib/${attrs.pname}/nuget.exe" + + runHook postInstall ''; meta = with lib; { From 30f3705c0421a1b9b048175efc32229eab17d594 Mon Sep 17 00:00:00 2001 From: mdarocha Date: Sat, 16 Sep 2023 01:27:45 +0200 Subject: [PATCH 3/3] msbuild: fix usage of nuget --- pkgs/development/tools/build-managers/msbuild/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/msbuild/default.nix b/pkgs/development/tools/build-managers/msbuild/default.nix index 83cdcead353f..1b561470af79 100644 --- a/pkgs/development/tools/build-managers/msbuild/default.nix +++ b/pkgs/development/tools/build-managers/msbuild/default.nix @@ -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 ];