From b03c6ea7c0645184ba8dc5b3ee80752a27e029f7 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Fri, 8 May 2026 15:14:18 -0300 Subject: [PATCH] dotnet: build only source-build-reference-packages in fetch-deps This is all that's needed in practice to populate deps.json, and it's much faster. --- .../compilers/dotnet/source/stage0.nix | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/dotnet/source/stage0.nix b/pkgs/development/compilers/dotnet/source/stage0.nix index 58af9501a8b7..76cc50f977e9 100644 --- a/pkgs/development/compilers/dotnet/source/stage0.nix +++ b/pkgs/development/compilers/dotnet/source/stage0.nix @@ -135,8 +135,35 @@ let -s \$prev -t elem -n NoWarn -v '$(NoWarn);NU1901' \ src/$proj/Directory.Build.props done + + # disable all the after-build targets + substituteInPlace build.proj \ + --replace-fail 'AfterTargets="Build"' "" \ + --replace-quiet '$(RepoProjectsDir)dotnet.proj' '$(RepoProjectsDir)$(RootRepo).proj' + + [[ ! -e eng/finish-source-only.proj ]] || + substituteInPlace eng/finish-source-only.proj \ + --replace-quiet 'AfterTargets="Build"' "" \ + --replace-quiet 'BeforeTargets="Build"' "" + + [[ ! -e eng/extract-sdk-archive.proj ]] || + substituteInPlace eng/extract-sdk-archive.proj \ + --replace-quiet 'BeforeTargets="AfterBuild"' "" \ + --replace-quiet 'BeforeTargets="Build"' "" + + [[ ! -e eng/PublishSourceBuild.props ]] || + substituteInPlace eng/PublishSourceBuild.props \ + --replace-fail 'AfterTargets="Publish"' "" \ + --replace-fail 'AfterTargets="DiscoverArtifacts"' "" ''; - buildFlags = [ "--online" ] ++ old.buildFlags; + buildFlags = [ + "--online" + ] + ++ old.buildFlags + ++ [ + "-p:RootRepo=source-build-reference-packages" + "-p:SkipPrepareSdkArchive=true" + ]; prebuiltPackages = null; });