buildDotnetModule: support ReadyToRun and native binaries inside nuget files#233422
buildDotnetModule: support ReadyToRun and native binaries inside nuget files#233422SuperSandro2000 merged 6 commits intoNixOS:masterfrom
Conversation
28f8446 to
efe9c7b
Compare
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
Outdated
Show resolved
Hide resolved
pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
Outdated
Show resolved
Hide resolved
raphaelr
left a comment
There was a problem hiding this comment.
dotnet 8.0.nix needs to be regenerated as well (the current preview4 verison is in nixpkgs master now)
Otherwise LGTM
|
Updated, should be ready to merge |
|
35 packages built: Result of 35 packages built:
|
|
I confirmed that R2R works fine. |
99242cf to
0aca53f
Compare
…ing when not allowed. This fixes up some build errors
This helps with ie. crossgen2 building, and packages that use protoc
Also bring back support for non-x86 linux, since crossgen2 works properly now.
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Description of changes
Closes #230848
Closes #181373
This adds
crossgen2nugets to the per-sdk nuget source, allowing them to be foundby the dotnet build process.
Also, we iterate over the entire
.nugetfolder after restore, and performpatchelfon any native binaries found, allowing them to run properly during the build process. This allows dotnet packages that usecrossgen2(PublishReadyToRunflag), and other nugets using native binaries, likeprotocorminver, to work properly without any hacks.This PR also contains small changes to how the
--runtimeflag is set, so that hopefully some errors can be avoided automatically (ie. runningPublishReadyToRunmay require the--runtimeflag). The flag is now set when building a.csprojfile or whenselfContainedBuildis on (as before).Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)