From d309782f8e7e856f8a03e38dbdc3a304719c7d84 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Mon, 2 Dec 2024 08:03:03 -0400 Subject: [PATCH 1/3] dotnet: nixfmt output of nuget-to-nix (cherry picked from commit 597474a8f184e9be781e0509f8a85dceb378c327) --- pkgs/build-support/dotnet/add-nuget-deps/default.nix | 2 ++ pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh | 2 ++ pkgs/development/compilers/dotnet/stage0.nix | 7 ++++++- pkgs/development/tools/godot/3/mono/make-deps.nix | 5 +++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/dotnet/add-nuget-deps/default.nix b/pkgs/build-support/dotnet/add-nuget-deps/default.nix index bf3df815af8a5..fb349679e5796 100644 --- a/pkgs/build-support/dotnet/add-nuget-deps/default.nix +++ b/pkgs/build-support/dotnet/add-nuget-deps/default.nix @@ -5,6 +5,7 @@ lib, substituteAll, nuget-to-nix, + nixfmt-rfc-style, cacert, fetchNupkg, callPackage, @@ -67,6 +68,7 @@ attrs isExecutable = true; inherit cacert; nugetToNix = nuget-to-nix; + nixfmt = nixfmt-rfc-style; }; defaultDepsFile = diff --git a/pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh b/pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh index af560b96fcd53..4ffba47836778 100644 --- a/pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh +++ b/pkgs/build-support/dotnet/add-nuget-deps/fetch-deps.sh @@ -7,5 +7,7 @@ genericBuild @nugetToNix@/bin/nuget-to-nix "${NUGET_PACKAGES%/}" ) > deps.nix +@nixfmt@/bin/nixfmt deps.nix + mv deps.nix "$1" echo "Succesfully wrote lockfile to $1" diff --git a/pkgs/development/compilers/dotnet/stage0.nix b/pkgs/development/compilers/dotnet/stage0.nix index e8be69d1f0386..0a8a2b4a7b5c4 100644 --- a/pkgs/development/compilers/dotnet/stage0.nix +++ b/pkgs/development/compilers/dotnet/stage0.nix @@ -7,6 +7,7 @@ nix, cacert, nuget-to-nix, + nixfmt-rfc-style, dotnetCorePackages, xmlstarlet, patchNupkgs, @@ -94,6 +95,7 @@ let nix cacert nuget-to-nix + nixfmt-rfc-style ]; postPatch = old.postPatch or "" @@ -138,7 +140,10 @@ let --arg list "[ ''${depsFiles[*]} ]" \ --argstr baseRid ${targetRid} \ --arg otherRids '${lib.generators.toPretty { multiline = false; } otherRids}' \ - ) > "${toString prebuiltPackages.sourceFile}" + ) > deps.nix + nixfmt deps.nix + + mv deps.nix "${toString prebuiltPackages.sourceFile}" EOF ''; }; diff --git a/pkgs/development/tools/godot/3/mono/make-deps.nix b/pkgs/development/tools/godot/3/mono/make-deps.nix index 553b125dc6356..b654576daced4 100644 --- a/pkgs/development/tools/godot/3/mono/make-deps.nix +++ b/pkgs/development/tools/godot/3/mono/make-deps.nix @@ -1,9 +1,9 @@ -{ godot3-mono, nuget-to-nix }: +{ godot3-mono, nuget-to-nix, nixfmt-rfc-style }: godot3-mono.overrideAttrs (self: base: { pname = "godot3-mono-make-deps"; - nativeBuildInputs = base.nativeBuildInputs ++ [ nuget-to-nix ]; + nativeBuildInputs = base.nativeBuildInputs ++ [ nuget-to-nix nixfmt-rfc-style ]; nugetDeps = null; nugetSource = null; @@ -50,6 +50,7 @@ godot3-mono.overrideAttrs (self: base: { nugetRestore modules/mono/editor/GodotTools/GodotTools.sln nuget-to-nix nugetPackages > "$outdir"/deps.nix + nixfmt "$outdir"/deps.nix popd > /dev/null ''; From c196cdbc5c38afa1fb7478c5c52cbf093e17b54e Mon Sep 17 00:00:00 2001 From: David McFarland Date: Thu, 5 Dec 2024 09:33:09 -0400 Subject: [PATCH 2/3] dotnet: use fallback target packages from current binary sdk This was using the bootstrap SDK, which doesn't match the version of the source-built SDK. This will still be a problem if the binary and source-built SDKs don't have the same version. (cherry picked from commit d343c85889cd9b80eaa6032788a3f681c93c0dcd) --- pkgs/development/compilers/dotnet/8/default.nix | 1 + pkgs/development/compilers/dotnet/9/default.nix | 1 + pkgs/development/compilers/dotnet/dotnet.nix | 2 ++ pkgs/development/compilers/dotnet/stage0.nix | 1 + pkgs/development/compilers/dotnet/stage1.nix | 4 ++-- 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/dotnet/8/default.nix b/pkgs/development/compilers/dotnet/8/default.nix index d7310cd81994e..a660ac97f84a8 100644 --- a/pkgs/development/compilers/dotnet/8/default.nix +++ b/pkgs/development/compilers/dotnet/8/default.nix @@ -5,4 +5,5 @@ releaseInfoFile = ./release-info.json; bootstrapSdkFile = ./bootstrap-sdk.nix; depsFile = ./deps.nix; + fallbackTargetPackages = dotnetCorePackages.sdk_8_0.targetPackages; } diff --git a/pkgs/development/compilers/dotnet/9/default.nix b/pkgs/development/compilers/dotnet/9/default.nix index 55cb65f495031..c641543ad521a 100644 --- a/pkgs/development/compilers/dotnet/9/default.nix +++ b/pkgs/development/compilers/dotnet/9/default.nix @@ -6,4 +6,5 @@ bootstrapSdkFile = ./bootstrap-sdk.nix; allowPrerelease = true; depsFile = ./deps.nix; + fallbackTargetPackages = dotnetCorePackages.sdk_9_0.targetPackages; } diff --git a/pkgs/development/compilers/dotnet/dotnet.nix b/pkgs/development/compilers/dotnet/dotnet.nix index 2a61a5cb01ed9..cf5a0bca0782c 100644 --- a/pkgs/development/compilers/dotnet/dotnet.nix +++ b/pkgs/development/compilers/dotnet/dotnet.nix @@ -8,6 +8,7 @@ bootstrapSdkFile, allowPrerelease ? false, depsFile, + fallbackTargetPackages, pkgsBuildHost, buildDotnetSdk, }: @@ -25,6 +26,7 @@ let releaseManifestFile tarballHash depsFile + fallbackTargetPackages ; bootstrapSdk = (buildDotnetSdk bootstrapSdkFile).sdk.unwrapped.overrideAttrs (old: { passthru = old.passthru or { } // { diff --git a/pkgs/development/compilers/dotnet/stage0.nix b/pkgs/development/compilers/dotnet/stage0.nix index 0a8a2b4a7b5c4..4e1000e4a9687 100644 --- a/pkgs/development/compilers/dotnet/stage0.nix +++ b/pkgs/development/compilers/dotnet/stage0.nix @@ -17,6 +17,7 @@ releaseManifestFile, tarballHash, depsFile, + fallbackTargetPackages, bootstrapSdk, }: diff --git a/pkgs/development/compilers/dotnet/stage1.nix b/pkgs/development/compilers/dotnet/stage1.nix index 729ff7866a759..6954fc6ca8c1a 100644 --- a/pkgs/development/compilers/dotnet/stage1.nix +++ b/pkgs/development/compilers/dotnet/stage1.nix @@ -7,6 +7,7 @@ tarballHash, depsFile, bootstrapSdk, + fallbackTargetPackages, }@args: let @@ -33,8 +34,7 @@ let in mkPackages { - inherit vmr; - fallbackTargetPackages = bootstrapSdk.targetPackages; + inherit vmr fallbackTargetPackages; } // { stage0 = lib.dontRecurseIntoAttrs stage0; From b7e3f1fa54d9291b7484650062d9b109c8d71f31 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Thu, 5 Dec 2024 11:43:19 -0400 Subject: [PATCH 3/3] Revert "scarab: remove nuget patch" This reverts commit 7cd9f932236ead6a8af90c3618406845b3111a56. (cherry picked from commit 8fb55a6eb93c8cac75ca31d68c075e0bdf63ef33) --- pkgs/by-name/sc/scarab/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/sc/scarab/package.nix b/pkgs/by-name/sc/scarab/package.nix index dac80b14f84f8..ea0ca5ca0ad3d 100644 --- a/pkgs/by-name/sc/scarab/package.nix +++ b/pkgs/by-name/sc/scarab/package.nix @@ -31,6 +31,12 @@ buildDotnetModule rec { --replace-fail 'net6.0' 'net8.0' ''; + preConfigureNuGet = '' + # This should really be in the upstream nuget.config + dotnet nuget add source https://api.nuget.org/v3/index.json \ + -n nuget.org --configfile NuGet.Config + ''; + runtimeDeps = [ bc ];