From c8a0f01473bc31f242edc7a8059a8c9e6b38be81 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Sat, 7 Sep 2024 19:39:01 +0100 Subject: [PATCH] dotnetCorePackages.fetchNupkg: override avalonia to include upstream fix Backport https://github.com/AvaloniaUI/Avalonia/pull/16835 to versions 11.1.0 through 11.2.0-beta1 Co-authored-by: Nick Cao --- .../dotnet/fetch-nupkg/overrides.nix | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/pkgs/build-support/dotnet/fetch-nupkg/overrides.nix b/pkgs/build-support/dotnet/fetch-nupkg/overrides.nix index f4bc1976e0eb..76e241c0cd3a 100644 --- a/pkgs/build-support/dotnet/fetch-nupkg/overrides.nix +++ b/pkgs/build-support/dotnet/fetch-nupkg/overrides.nix @@ -17,6 +17,38 @@ # buildInputs = old.buildInputs or [ ] ++ [ hello ]; # }); + "Avalonia" = + package: + package.overrideAttrs ( + old: + let + # These versions have a runtime error when built with `dotnet publish --no-build` + # When attempting to draw a window, Avalonia will throw "No precompiled XAML found" + # + # Introduced in https://github.com/AvaloniaUI/Avalonia/pull/13840 + # Fixed by https://github.com/AvaloniaUI/Avalonia/pull/16835 + affectedVersions = [ + "11.1.0-beta1" + "11.1.0-beta2" + "11.1.0-rc1" + "11.1.0-rc2" + "11.1.0" + "11.1.1" + "11.1.2-rc1" + "11.1.2" + "11.1.3" + "11.2.0-beta1" + ]; + in + lib.optionalAttrs (builtins.elem old.version affectedVersions) { + postPatch = '' + substituteInPlace {build,buildTransitive}/AvaloniaBuildTasks.targets \ + --replace-fail 'BeforeTargets="CopyFilesToOutputDirectory;BuiltProjectOutputGroup"' \ + 'BeforeTargets="CopyFilesToOutputDirectory;BuiltProjectOutputGroup;ComputeResolvedFilesToPublishList"' + ''; + } + ); + "Avalonia.X11" = package: package.overrideAttrs (