From fe02fc114dea033ea5031e22b046c84439a1bf1b Mon Sep 17 00:00:00 2001 From: js6pak Date: Sun, 13 Oct 2024 20:57:07 +0200 Subject: [PATCH 1/2] maintainers: add js6pak --- maintainers/maintainer-list.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5e27928250442..af0a495de1c04 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10922,6 +10922,14 @@ githubId = 3267697; name = "Joshua Potter"; }; + js6pak = { + name = "js6pak"; + email = "me@6pak.dev"; + matrix = "@6pak:matrix.org"; + github = "js6pak"; + githubId = 35262707; + keys = [ { fingerprint = "66D1 1EA6 571D E4F9 16B3 B8EB 3E3C D91E B1AA FB06"; } ]; + }; jshcmpbll = { email = "me@joshuadcampbell.com"; github = "jshcmpbll"; From 99be9899faf0e4d7b59ec093400325243497ebe9 Mon Sep 17 00:00:00 2001 From: js6pak Date: Sun, 13 Oct 2024 20:57:07 +0200 Subject: [PATCH 2/2] msbuild-structured-log-viewer: init at 2.2.383 --- .../ms/msbuild-structured-log-viewer/deps.nix | 69 ++++++++++++++ .../msbuild-structured-log-viewer/package.nix | 94 +++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 pkgs/by-name/ms/msbuild-structured-log-viewer/deps.nix create mode 100644 pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix diff --git a/pkgs/by-name/ms/msbuild-structured-log-viewer/deps.nix b/pkgs/by-name/ms/msbuild-structured-log-viewer/deps.nix new file mode 100644 index 0000000000000..65452a6f93de5 --- /dev/null +++ b/pkgs/by-name/ms/msbuild-structured-log-viewer/deps.nix @@ -0,0 +1,69 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { pname = "AutomaticGraphLayout"; version = "1.1.12"; hash = "sha256-Fe4pGr+Ln1FfgHD3Odq2WOTrhi2nD/jjnh2cKLC2pwo="; }) + (fetchNuGet { pname = "AutomaticGraphLayout.Drawing"; version = "1.1.12"; hash = "sha256-KPyc4JxcQkGTeb5tceB3zRN8FqTj7jzimb97NOhZPl0="; }) + (fetchNuGet { pname = "Avalonia"; version = "11.0.0"; hash = "sha256-7QE0MtD1QDiG3gRx5xW33E33BXyEtASQSw+Wi3Lmy3E="; }) + (fetchNuGet { pname = "Avalonia"; version = "11.1.3"; hash = "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0="; }) + (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.22045.20230930"; hash = "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc="; }) + (fetchNuGet { pname = "Avalonia.AvaloniaEdit"; version = "11.1.0"; hash = "sha256-K9+hK+4aK93dyuGytYvVU25daz605+KN54hmwQYXFF8="; }) + (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.28"; hash = "sha256-7NQWQl3xrBDOXhGihCkt5DIrws48KyDGon/7+gPzMDU="; }) + (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY="; }) + (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.1.3"; hash = "sha256-W17Wvmi8/47cf5gCF3QRcaKLz0ZpXtZYCCkaERkbyXU="; }) + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.1.3"; hash = "sha256-OOKTovi5kckn0x/8dMcq56cvq57UVMLzA9LRXDxm2Vc="; }) + (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.1.3"; hash = "sha256-mNFscbtyqLlodzGa3SJ3oVY467JjWwY45LxZiKDAn/w="; }) + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.1.3"; hash = "sha256-PD9ZIeBZJrLaVDjmWBz4GocrdUSNUou11gAERU+xWDo="; }) + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.1.3"; hash = "sha256-nUBhSRE0Bly3dVC14wXwU19vP3g0VbE4bCUohx7DCVI="; }) + (fetchNuGet { pname = "Avalonia.Native"; version = "11.1.3"; hash = "sha256-byAVGW7XgkyzDj1TnqaCeDU/xTD9z8ACGrSJgwJ+XXs="; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0"; hash = "sha256-gkVpdbk/0RDM7Hhq0jwZwltDpTsGRmbX+ZFTjWYYoKw="; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.1.3"; hash = "sha256-CKF+62zCbK1Rd/HiC6MGrags3ylXrVQ1lni3Um0Muqk="; }) + (fetchNuGet { pname = "Avalonia.Skia"; version = "11.1.3"; hash = "sha256-EtB86g+nz6i8wL6xytMkYl2Ehgt3GFMMNPzQfhbfopM="; }) + (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.1.3"; hash = "sha256-qfmRK2gLGSgHx4dNIeVesWxLUjcook9ET2xru/Xyiw8="; }) + (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.1.3"; hash = "sha256-Q6jL5J/6aBtOY85I641RVp8RpuqJbPy6C6LxnRkFtMM="; }) + (fetchNuGet { pname = "Avalonia.Win32"; version = "11.1.3"; hash = "sha256-zcxTpEnpLf50p8Yaiylk5/CS9MNDe7lK1uX1CPaJBUc="; }) + (fetchNuGet { pname = "Avalonia.X11"; version = "11.1.3"; hash = "sha256-M2+y661/znDxZRdwNRIQi4mS2m6T4kQkBbYeE7KyQAw="; }) + (fetchNuGet { pname = "DotUtils.StreamUtils.Sources"; version = "0.0.8"; hash = "sha256-KL5PkSsuZ9uPgtzK7rB0W6XGTcJQGqHoZqMLhpFR7tw="; }) + (fetchNuGet { pname = "GuiLabs.Language.Xml"; version = "1.2.93"; hash = "sha256-4fvD+8QBxEpVqcQtZ+gE8GhY7Iaay4aFr5HWQ9LGeqk="; }) + (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0.2"; hash = "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8="; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0.2"; hash = "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU="; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0.2"; hash = "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08="; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "7.3.0.2"; hash = "sha256-aEZr9uKAlCTeeHoYNR1Rs6L3P54765CemyrgJF8x09c="; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0.2"; hash = "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo="; }) + (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) + (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "17.5.0"; hash = "sha256-FVomTQ8rZ5Ga09piFxSDFQ+b3gpC2ddZd+pQBSn5Csw="; }) + (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "8.0.0"; hash = "sha256-vX6/kPij8vNAu8f7rrvHHhPrNph20IcufmrBgZNxpQA="; }) + (fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "17.5.0"; hash = "sha256-W4bN0E9/DgEw0fxopXUhMK9tuGGwm0NYK3APytAzNRI="; }) + (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "17.5.0"; hash = "sha256-9eoXaPQvt6YAeb+cK5/ekh3YFfjymZCzJAxsDsIPlMQ="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) + (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "8.0.0"; hash = "sha256-AfUqleVEqWuHE7z2hNiwOLnquBJ3tuYtbkdGMppHOXc="; }) + (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "8.0.0"; hash = "sha256-hNTkpKdCLY5kIuOmznD1mY+pRdJ0PKu2HypyXog9vb0="; }) + (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; hash = "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; hash = "sha256-N9EVZbl5w1VnMywGXyaVWzT9lh84iaJ3aD48hIBk1zA="; }) + (fetchNuGet { pname = "Nerdbank.GitVersioning"; version = "3.6.141"; hash = "sha256-i1pBJ12vlPmde6qSQK4PG2QLSpjaUCoY+odTi24R5XI="; }) + (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; hash = "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="; }) + (fetchNuGet { pname = "Nullable"; version = "1.3.1"; hash = "sha256-5x5+l+7YhKjlBR9GEFKrZ8uewyB7eNxMAREwITDJmUM="; }) + (fetchNuGet { pname = "SkiaSharp"; version = "2.88.8"; hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.8"; hash = "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y="; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.8"; hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.8"; hash = "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w="; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.8"; hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; hash = "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; hash = "sha256-F7OVjKNwpqbUh8lTidbqJWYi476nsq9n+6k0+QVRo3w="; }) + (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; hash = "sha256-15yE2NoT9vmL9oGCaxHClQR1jLW1j1ef5hHMg55xRso="; }) + (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; hash = "sha256-fPV668Cfi+8pNWrvGAarF4fewdPVEDwlJWvJk0y+Cms="; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; hash = "sha256-/9EaAbEeOjELRSMZaImS1O8FmUe8j4WuFUw1VOrPyAo="; }) + (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA="; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.5"; hash = "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; hash = "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) + (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; }) + (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; hash = "sha256-qOyWEBbNr3EjyS+etFG8/zMbuPjA+O+di717JP9Cxyg="; }) + (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; hash = "sha256-Wi9I9NbZlpQDXgS7Kl06RIFxY/9674S7hKiYw5EabRY="; }) + (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; hash = "sha256-/MMvtFWGN/vOQfjXdOhet1gsnMgh6lh5DCHimVsnVEs="; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; hash = "sha256-nGc2A6XYnwqGcq8rfgTRjGr+voISxNe/76k2K36coj4="; }) + (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; hash = "sha256-N+qg1E6FDJ9A9L50wmVt3xPQV8ZxlG1xeXgFuxO+yfM="; }) + (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.16.0"; hash = "sha256-vKYEaa1EszR7alHj48R8G3uYArhI+zh2ZgiBv955E98="; }) +] diff --git a/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix b/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix new file mode 100644 index 0000000000000..e3611f7bdec26 --- /dev/null +++ b/pkgs/by-name/ms/msbuild-structured-log-viewer/package.nix @@ -0,0 +1,94 @@ +{ + lib, + stdenv, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + autoPatchelfHook, + copyDesktopItems, + icu, + openssl, + libkrb5, + makeDesktopItem, + writeShellScript, + nix-update, +}: +buildDotnetModule (finalAttrs: rec { + pname = "msbuild-structured-log-viewer"; + version = "2.2.383"; + + src = fetchFromGitHub { + owner = "KirillOsenkov"; + repo = "MSBuildStructuredLog"; + rev = "v${version}"; + hash = "sha256-re1owocdiPKwoORCPD+A0eiRi4Nk4i9a1l0XTQJcxqE="; + }; + + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; + + projectFile = [ "src/StructuredLogViewer.Avalonia/StructuredLogViewer.Avalonia.csproj" ]; + nugetDeps = ./deps.nix; + + # HACK: Clear out RuntimeIdentifiers that's set in StructuredLogViewer.Avalonia.csproj, otherwise our --runtime has no effect + dotnetFlags = [ "-p:RuntimeIdentifiers=" ]; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + autoPatchelfHook + copyDesktopItems + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + stdenv.cc.cc.lib + icu + openssl + libkrb5 + ]; + + dontDotnetFixup = true; + + postFixup = + '' + wrapDotnetProgram $out/lib/${finalAttrs.pname}/StructuredLogViewer.Avalonia $out/bin/${meta.mainProgram} + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + install -Dm444 $src/src/StructuredLogViewer/icons/msbuild-structured-log-viewer.png $out/share/icons/hicolor/32x32/apps/${finalAttrs.pname}.png + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace src/StructuredLogViewer.Avalonia/Info.plist \ + --replace-fail "0.0.1" "${finalAttrs.version}" + + install -Dm444 src/StructuredLogViewer.Avalonia/Info.plist $out/Applications/StructuredLogViewer.app/Contents/Info.plist + install -Dm444 src/StructuredLogViewer.Avalonia/StructuredLogViewer.icns $out/Applications/StructuredLogViewer.app/Contents/Resources/StructuredLogViewer.icns + mkdir -p $out/Applications/StructuredLogViewer.app/Contents/MacOS + ln -s $out/bin/${meta.mainProgram} $out/Applications/StructuredLogViewer.app/Contents/MacOS/StructuredLogViewer.Avalonia + ''; + + desktopItems = makeDesktopItem { + name = finalAttrs.pname; + desktopName = "MSBuild Structured Log Viewer"; + comment = finalAttrs.meta.description; + icon = finalAttrs.pname; + exec = meta.mainProgram; + categories = [ "Development" ]; + }; + + passthru.updateScript = writeShellScript "update-${finalAttrs.pname}" '' + ${lib.getExe nix-update} + "$(nix-build -A "$UPDATE_NIX_ATTR_PATH.fetch-deps" --no-out-link)" + ''; + + meta = { + description = "Rich interactive log viewer for MSBuild logs"; + homepage = "https://github.com/KirillOsenkov/MSBuildStructuredLog"; + changelog = "https://github.com/KirillOsenkov/MSBuildStructuredLog/releases/tag/v${finalAttrs.version}"; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryBytecode + binaryNativeCode + ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ js6pak ]; + mainProgram = "msbuild-structured-log-viewer"; + }; +})