From be0c407290566cc0ffced92b6bd72ffcdf28549b Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sat, 26 Apr 2025 19:19:17 -0500 Subject: [PATCH 1/7] maintainers: add ImSapphire --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 63c34175999d..419dc145cfa4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10415,6 +10415,13 @@ githubId = 36996706; name = "Philip Rying"; }; + ImSapphire = { + email = "imsapphire0@gmail.com"; + github = "ImSapphire"; + githubId = 48931512; + name = "Sapphire"; + keys = [ { fingerprint = "D303 4473 1843 D27B 5D4E 2273 6429 11AA 4025 C8CC"; } ]; + }; imsick = { email = "lent-lather-excuse@duck.com"; github = "dvishal485"; From 2f436a4a1db7026be7393cfe57002b5543b74300 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sat, 26 Apr 2025 19:19:38 -0500 Subject: [PATCH 2/7] vrcx: Build from source --- pkgs/by-name/vr/vrcx/deps.json | 912 +++++++++++++++++++++++++++++++ pkgs/by-name/vr/vrcx/package.nix | 96 +++- 2 files changed, 986 insertions(+), 22 deletions(-) create mode 100644 pkgs/by-name/vr/vrcx/deps.json diff --git a/pkgs/by-name/vr/vrcx/deps.json b/pkgs/by-name/vr/vrcx/deps.json new file mode 100644 index 000000000000..bab0850a0623 --- /dev/null +++ b/pkgs/by-name/vr/vrcx/deps.json @@ -0,0 +1,912 @@ +[ + { + "pname": "DiscordRichPresence", + "version": "1.2.1.24", + "hash": "sha256-oRNrlF1/yK0QvrW2+48RsmSg9h9/pDIfA56/bpoHXFU=" + }, + { + "pname": "EntityFramework", + "version": "6.4.4", + "hash": "sha256-CmA8ZDT3ZmBAbzIQRT0gH+JSG2rodWAfaPSxOrkhLdw=" + }, + { + "pname": "Microsoft.CodeAnalysis.Analyzers", + "version": "3.3.3", + "hash": "sha256-pkZiggwLw8k+CVSXKTzsVGsT+K49LxXUS3VH5PNlpCY=" + }, + { + "pname": "Microsoft.CodeAnalysis.Analyzers", + "version": "3.3.4", + "hash": "sha256-qDzTfZBSCvAUu9gzq2k+LOvh6/eRvJ9++VCNck/ZpnE=" + }, + { + "pname": "Microsoft.CodeAnalysis.Common", + "version": "4.1.0", + "hash": "sha256-g3RLyeHfdOOF6H89VLJi06/k8/eJ6j2dgNYZ/MBdfNU=" + }, + { + "pname": "Microsoft.CodeAnalysis.CSharp", + "version": "4.1.0", + "hash": "sha256-pM9WXvxZI3SS89CGVjxqtAyZyfyiZQzW0UnNCDiQrQA=" + }, + { + "pname": "Microsoft.CSharp", + "version": "4.7.0", + "hash": "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "8.0.0", + "hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8=" + }, + { + "pname": "Microsoft.Extensions.Logging.Abstractions", + "version": "8.0.0", + "hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4=" + }, + { + "pname": "Microsoft.IO.RecyclableMemoryStream", + "version": "3.0.0", + "hash": "sha256-WBXkqxC5g4tJ481sa1uft39LqA/5hx5yOfiTfMRMg/4=" + }, + { + "pname": "Microsoft.JavaScript.NodeApi", + "version": "0.9.5", + "hash": "sha256-IJjCix/X0rh+3Fc7eVxKyk0P/Ex5ItlAM4ugTG7OYo4=" + }, + { + "pname": "Microsoft.JavaScript.NodeApi.Generator", + "version": "0.9.5", + "hash": "sha256-Me3fsW0tc00O8bCcItEjLvm2Tik6Xbc7FPBddaLim8w=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.0", + "hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "1.1.1", + "hash": "sha256-8hLiUKvy/YirCWlFwzdejD2Db3DaXhHxT7GSZx/znJg=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "2.0.0", + "hash": "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "2.1.2", + "hash": "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "3.1.0", + "hash": "sha256-cnygditsEaU86bnYtIthNMymAHqaT/sf9Gjykhzqgb0=" + }, + { + "pname": "Microsoft.NETCore.Targets", + "version": "1.1.0", + "hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ=" + }, + { + "pname": "Microsoft.NETCore.Targets", + "version": "1.1.3", + "hash": "sha256-WLsf1NuUfRWyr7C7Rl9jiua9jximnVvzy6nk2D2bVRc=" + }, + { + "pname": "Microsoft.Toolkit.Uwp.Notifications", + "version": "7.1.3", + "hash": "sha256-sygTmtEBzLgQ6dh0Hpq/Cz9x+dcDl73+9maOvZvNbF4=" + }, + { + "pname": "Microsoft.Win32.Primitives", + "version": "4.3.0", + "hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg=" + }, + { + "pname": "Microsoft.Win32.Registry", + "version": "4.5.0", + "hash": "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0=" + }, + { + "pname": "Microsoft.Win32.Registry", + "version": "4.7.0", + "hash": "sha256-+jWCwRqU/J/jLdQKDFm93WfIDrDMXMJ984UevaQMoi8=" + }, + { + "pname": "Microsoft.Win32.SystemEvents", + "version": "9.0.2", + "hash": "sha256-WXgu8y2LT8OtQSVRojumtlTkJVjfvXeZ8N9iRKIW/lI=" + }, + { + "pname": "NETStandard.Library", + "version": "1.6.1", + "hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.1", + "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.3", + "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc=" + }, + { + "pname": "NLog", + "version": "5.4.0", + "hash": "sha256-l2R0UHHCL02KPMC96e62AL2ONFD0PAty619y9UnD25A=" + }, + { + "pname": "runtime.any.System.Collections", + "version": "4.3.0", + "hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8=" + }, + { + "pname": "runtime.any.System.Diagnostics.Tools", + "version": "4.3.0", + "hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I=" + }, + { + "pname": "runtime.any.System.Diagnostics.Tracing", + "version": "4.3.0", + "hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI=" + }, + { + "pname": "runtime.any.System.Globalization", + "version": "4.3.0", + "hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU=" + }, + { + "pname": "runtime.any.System.Globalization.Calendars", + "version": "4.3.0", + "hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4=" + }, + { + "pname": "runtime.any.System.IO", + "version": "4.3.0", + "hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE=" + }, + { + "pname": "runtime.any.System.Reflection", + "version": "4.3.0", + "hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk=" + }, + { + "pname": "runtime.any.System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8=" + }, + { + "pname": "runtime.any.System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ=" + }, + { + "pname": "runtime.any.System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4=" + }, + { + "pname": "runtime.any.System.Runtime", + "version": "4.3.0", + "hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM=" + }, + { + "pname": "runtime.any.System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4=" + }, + { + "pname": "runtime.any.System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA=" + }, + { + "pname": "runtime.any.System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs=" + }, + { + "pname": "runtime.any.System.Text.Encoding.Extensions", + "version": "4.3.0", + "hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM=" + }, + { + "pname": "runtime.any.System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4=" + }, + { + "pname": "runtime.any.System.Threading.Timer", + "version": "4.3.0", + "hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs=" + }, + { + "pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-EbnOqPOrAgI9eNheXLR++VnY4pHzMsEKw1dFPJ/Fl2c=" + }, + { + "pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-mVg02TNvJc1BuHU03q3fH3M6cMgkKaQPBxraSHl/Btg=" + }, + { + "pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-g9Uiikrl+M40hYe0JMlGHe/lrR0+nN05YF64wzLmBBA=" + }, + { + "pname": "runtime.native.System", + "version": "4.3.0", + "hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y=" + }, + { + "pname": "runtime.native.System.Data.SqlClient.sni", + "version": "4.7.0", + "hash": "sha256-cj0+BpmoibwOWj2wNXwONJeTGosmFwhD349zPjNaBK0=" + }, + { + "pname": "runtime.native.System.IO.Compression", + "version": "4.3.0", + "hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8=" + }, + { + "pname": "runtime.native.System.Net.Http", + "version": "4.3.0", + "hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.Apple", + "version": "4.3.0", + "hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I=" + }, + { + "pname": "runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-xqF6LbbtpzNC9n1Ua16PnYgXHU0LvblEROTfK4vIxX8=" + }, + { + "pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-aJBu6Frcg6webvzVcKNoUP1b462OAqReF2giTSyBzCQ=" + }, + { + "pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-Mpt7KN2Kq51QYOEVesEjhWcCGTqWckuPf8HlQ110qLY=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple", + "version": "4.3.0", + "hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM=" + }, + { + "pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-JvMltmfVC53mCZtKDHE69G3RT6Id28hnskntP9MMP9U=" + }, + { + "pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-QfFxWTVRNBhN4Dm1XRbCf+soNQpy81PsZed3x6op/bI=" + }, + { + "pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-EaJHVc9aDZ6F7ltM2JwlIuiJvqM67CKRq682iVSo+pU=" + }, + { + "pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-PHR0+6rIjJswn89eoiWYY1DuU8u6xRJLrtjykAMuFmA=" + }, + { + "pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl", + "version": "4.3.2", + "hash": "sha256-LFkh7ua7R4rI5w2KGjcHlGXLecsncCy6kDXLuy4qD/Q=" + }, + { + "pname": "runtime.unix.Microsoft.Win32.Primitives", + "version": "4.3.0", + "hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg=" + }, + { + "pname": "runtime.unix.System.Console", + "version": "4.3.1", + "hash": "sha256-dxyn/1Px4FKLZ2QMUrkFpW619Y1lhPeTiGLWYM6IbpY=" + }, + { + "pname": "runtime.unix.System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI=" + }, + { + "pname": "runtime.unix.System.IO.FileSystem", + "version": "4.3.0", + "hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I=" + }, + { + "pname": "runtime.unix.System.Net.Primitives", + "version": "4.3.0", + "hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0=" + }, + { + "pname": "runtime.unix.System.Net.Sockets", + "version": "4.3.0", + "hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4=" + }, + { + "pname": "runtime.unix.System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs=" + }, + { + "pname": "runtime.unix.System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4=" + }, + { + "pname": "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni", + "version": "4.4.0", + "hash": "sha256-8xGiqk5g4kM79//SirozmDtDpqwVXH3CmvIs7GNwfh0=" + }, + { + "pname": "runtime.win-x64.runtime.native.System.Data.SqlClient.sni", + "version": "4.4.0", + "hash": "sha256-HoXKGBkue0RJT1SZxAliVmT5rbfU3xD8mH8hfCvRxwQ=" + }, + { + "pname": "runtime.win-x86.runtime.native.System.Data.SqlClient.sni", + "version": "4.4.0", + "hash": "sha256-jPnWzDcbufO51GLGjynWHy0b+5PBqNxM+VKmSrObeUw=" + }, + { + "pname": "SharpDX", + "version": "4.2.0", + "hash": "sha256-EXEmBAIA+qoRjxMSrVpbHn0GfJCr9ucm8YttFjUhb8M=" + }, + { + "pname": "SharpDX.Direct3D11", + "version": "4.2.0", + "hash": "sha256-Id7c+LHdtQ6j/4H2HUVRGux51yfRW9qa5FwF1QWO4hk=" + }, + { + "pname": "SharpDX.DXGI", + "version": "4.2.0", + "hash": "sha256-y0oxvQE37IhFsjRiGmkOWrK0WDC94KPSfKq8W87V/Jc=" + }, + { + "pname": "SharpDX.Mathematics", + "version": "4.2.0", + "hash": "sha256-yxB/K3PHmCoxp/ndLnTBwmL3t56LQDRAU6IvKtjx1ZQ=" + }, + { + "pname": "SixLabors.Fonts", + "version": "2.0.8", + "hash": "sha256-ujiUYbg/uHYjJsLuljwK0kdaQHzrceZ+W6jgjCpv5LE=" + }, + { + "pname": "SixLabors.ImageSharp", + "version": "3.1.6", + "hash": "sha256-FQjLyC4158F1GyhlKjzjGo6TxAu698rYWTY9lkko/fA=" + }, + { + "pname": "SixLabors.ImageSharp.Drawing", + "version": "2.1.5", + "hash": "sha256-n54bDQpp5i2V4LgMXuuq/bHHs6/7PyK8eSx0vJ2NHbA=" + }, + { + "pname": "sqlite-net-pcl", + "version": "1.9.172", + "hash": "sha256-0PTcOwm4k8bMeLm5+z0iWjy379KYdQXjqkaBGBR20cc=" + }, + { + "pname": "SQLitePCLRaw.bundle_green", + "version": "2.1.2", + "hash": "sha256-7858BCblsCoALR11Q7ejjPKHk7johTjWxgndHwUYNws=" + }, + { + "pname": "SQLitePCLRaw.core", + "version": "2.1.2", + "hash": "sha256-bbymML2TTQJDKZbYXoiyYJnF6mh/PjKrzDkqWhLaHaY=" + }, + { + "pname": "SQLitePCLRaw.lib.e_sqlite3", + "version": "2.1.2", + "hash": "sha256-34lJgnGvODwrjn9WTkkBIg2jzYph/ARi1QSiKedCyUo=" + }, + { + "pname": "SQLitePCLRaw.provider.e_sqlite3", + "version": "2.1.2", + "hash": "sha256-e56+FgxEHqV3SGQx0ZAqzlscPxNUPXJ8Ls9rtqET1S4=" + }, + { + "pname": "Stub.System.Data.SQLite.Core.NetStandard", + "version": "1.0.119", + "hash": "sha256-e7MHfrWsJpg/IW8A8LRm410yIwoevZsVXa8uRvPEKDs=" + }, + { + "pname": "System.AppContext", + "version": "4.3.0", + "hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg=" + }, + { + "pname": "System.Buffers", + "version": "4.3.0", + "hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk=" + }, + { + "pname": "System.CodeDom", + "version": "4.7.0", + "hash": "sha256-4lO4CQyyqvwSG/EtNsRTQsbwyiY5pr225kAQXvlDkNE=" + }, + { + "pname": "System.CodeDom", + "version": "9.0.2", + "hash": "sha256-hNhCSyuD9/teTgFuX4zrBn/LWlijczwrMqv+r3/yfHI=" + }, + { + "pname": "System.Collections", + "version": "4.3.0", + "hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc=" + }, + { + "pname": "System.Collections.Concurrent", + "version": "4.3.0", + "hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI=" + }, + { + "pname": "System.Collections.Immutable", + "version": "5.0.0", + "hash": "sha256-GdwSIjLMM0uVfE56VUSLVNgpW0B//oCeSFj8/hSlbM8=" + }, + { + "pname": "System.Collections.Immutable", + "version": "6.0.0", + "hash": "sha256-DKEbpFqXCIEfqp9p3ezqadn5b/S1YTk32/EQK+tEScs=" + }, + { + "pname": "System.ComponentModel.Annotations", + "version": "4.7.0", + "hash": "sha256-PxG9lvf2v/IAIs7LhO4Ur+EpX/L5nYbEs0D21gypoRs=" + }, + { + "pname": "System.Configuration.ConfigurationManager", + "version": "4.7.0", + "hash": "sha256-rYjp/UmagI4ZULU1ocia/AiXxLNL8uhMV8LBF4QFW10=" + }, + { + "pname": "System.Console", + "version": "4.3.0", + "hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo=" + }, + { + "pname": "System.Data.SqlClient", + "version": "4.8.1", + "hash": "sha256-SrhZIjgbS7XpFHsydxRBs8zu0qbgGLkdtvP0PBORv6A=" + }, + { + "pname": "System.Data.SQLite", + "version": "1.0.119", + "hash": "sha256-gPziL5rGBwktacKY9UPIxiystVPhQXgr+NVD+ZTFuAE=" + }, + { + "pname": "System.Data.SQLite.Core", + "version": "1.0.119", + "hash": "sha256-IQax/eN49q67S+TGNmuWN4Dz1ADjY4jqRPetytsgwIk=" + }, + { + "pname": "System.Data.SQLite.EF6", + "version": "1.0.119", + "hash": "sha256-upgcZ/YGVNT7kl+oZ/4fsLVourVef/8xpLQjk+J9+7w=" + }, + { + "pname": "System.Diagnostics.Debug", + "version": "4.3.0", + "hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM=" + }, + { + "pname": "System.Diagnostics.DiagnosticSource", + "version": "4.3.0", + "hash": "sha256-OFJRb0ygep0Z3yDBLwAgM/Tkfs4JCDtsNhwDH9cd1Xw=" + }, + { + "pname": "System.Diagnostics.Tools", + "version": "4.3.0", + "hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y=" + }, + { + "pname": "System.Diagnostics.Tracing", + "version": "4.3.0", + "hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q=" + }, + { + "pname": "System.Drawing.Common", + "version": "4.7.0", + "hash": "sha256-D3qG+xAe78lZHvlco9gHK2TEAM370k09c6+SQi873Hk=" + }, + { + "pname": "System.Drawing.Common", + "version": "9.0.2", + "hash": "sha256-S7IMV4R/nWbZs/YCwI9UwwLHDP57NkfSEIaoYNbRq54=" + }, + { + "pname": "System.Globalization", + "version": "4.3.0", + "hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI=" + }, + { + "pname": "System.Globalization.Calendars", + "version": "4.3.0", + "hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc=" + }, + { + "pname": "System.Globalization.Extensions", + "version": "4.3.0", + "hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk=" + }, + { + "pname": "System.IO", + "version": "4.3.0", + "hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY=" + }, + { + "pname": "System.IO.Compression", + "version": "4.3.0", + "hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA=" + }, + { + "pname": "System.IO.Compression.ZipFile", + "version": "4.3.0", + "hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs=" + }, + { + "pname": "System.IO.FileSystem", + "version": "4.3.0", + "hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw=" + }, + { + "pname": "System.IO.FileSystem.Primitives", + "version": "4.3.0", + "hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg=" + }, + { + "pname": "System.Linq", + "version": "4.3.0", + "hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A=" + }, + { + "pname": "System.Linq.Expressions", + "version": "4.3.0", + "hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8=" + }, + { + "pname": "System.Management", + "version": "9.0.2", + "hash": "sha256-7FhGnAYgoJnPcHy+HbVdK/fD8ICSLAttLtueTLBoWZc=" + }, + { + "pname": "System.Memory", + "version": "4.5.3", + "hash": "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk=" + }, + { + "pname": "System.Memory", + "version": "4.5.4", + "hash": "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E=" + }, + { + "pname": "System.Net.Http", + "version": "4.3.0", + "hash": "sha256-UoBB7WPDp2Bne/fwxKF0nE8grJ6FzTMXdT/jfsphj8Q=" + }, + { + "pname": "System.Net.Http", + "version": "4.3.4", + "hash": "sha256-FMoU0K7nlPLxoDju0NL21Wjlga9GpnAoQjsFhFYYt00=" + }, + { + "pname": "System.Net.NameResolution", + "version": "4.3.0", + "hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c=" + }, + { + "pname": "System.Net.Primitives", + "version": "4.3.0", + "hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE=" + }, + { + "pname": "System.Net.Sockets", + "version": "4.3.0", + "hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus=" + }, + { + "pname": "System.ObjectModel", + "version": "4.3.0", + "hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q=" + }, + { + "pname": "System.Private.Uri", + "version": "4.3.0", + "hash": "sha256-fVfgcoP4AVN1E5wHZbKBIOPYZ/xBeSIdsNF+bdukIRM=" + }, + { + "pname": "System.Reactive", + "version": "6.0.0", + "hash": "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y=" + }, + { + "pname": "System.Reflection", + "version": "4.3.0", + "hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY=" + }, + { + "pname": "System.Reflection.Emit", + "version": "4.3.0", + "hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU=" + }, + { + "pname": "System.Reflection.Emit.ILGeneration", + "version": "4.3.0", + "hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA=" + }, + { + "pname": "System.Reflection.Emit.Lightweight", + "version": "4.3.0", + "hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I=" + }, + { + "pname": "System.Reflection.Extensions", + "version": "4.3.0", + "hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk=" + }, + { + "pname": "System.Reflection.Metadata", + "version": "5.0.0", + "hash": "sha256-Wo+MiqhcP9dQ6NuFGrQTw6hpbJORFwp+TBNTq2yhGp8=" + }, + { + "pname": "System.Reflection.Metadata", + "version": "6.0.0", + "hash": "sha256-VJHXPjP05w6RE/Swu8wa2hilEWuji3g9bl/6lBMSC/Q=" + }, + { + "pname": "System.Reflection.MetadataLoadContext", + "version": "6.0.0", + "hash": "sha256-82aeU8c4rnYPLL3ba1ho1fxfpYQt5qrSK5e6ES+OTsY=" + }, + { + "pname": "System.Reflection.Primitives", + "version": "4.3.0", + "hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM=" + }, + { + "pname": "System.Reflection.TypeExtensions", + "version": "4.3.0", + "hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng=" + }, + { + "pname": "System.Resources.ResourceManager", + "version": "4.3.0", + "hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo=" + }, + { + "pname": "System.Runtime", + "version": "4.3.0", + "hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg=" + }, + { + "pname": "System.Runtime", + "version": "4.3.1", + "hash": "sha256-R9T68AzS1PJJ7v6ARz9vo88pKL1dWqLOANg4pkQjkA0=" + }, + { + "pname": "System.Runtime.CompilerServices.Unsafe", + "version": "4.5.2", + "hash": "sha256-8eUXXGWO2LL7uATMZye2iCpQOETn2jCcjUhG6coR5O8=" + }, + { + "pname": "System.Runtime.CompilerServices.Unsafe", + "version": "5.0.0", + "hash": "sha256-neARSpLPUzPxEKhJRwoBzhPxK+cKIitLx7WBYncsYgo=" + }, + { + "pname": "System.Runtime.CompilerServices.Unsafe", + "version": "6.0.0", + "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I=" + }, + { + "pname": "System.Runtime.Extensions", + "version": "4.3.0", + "hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o=" + }, + { + "pname": "System.Runtime.Handles", + "version": "4.3.0", + "hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms=" + }, + { + "pname": "System.Runtime.InteropServices", + "version": "4.3.0", + "hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI=" + }, + { + "pname": "System.Runtime.InteropServices.RuntimeInformation", + "version": "4.3.0", + "hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA=" + }, + { + "pname": "System.Runtime.Numerics", + "version": "4.3.0", + "hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc=" + }, + { + "pname": "System.Security.AccessControl", + "version": "4.5.0", + "hash": "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM=" + }, + { + "pname": "System.Security.AccessControl", + "version": "4.7.0", + "hash": "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g=" + }, + { + "pname": "System.Security.Cryptography.Algorithms", + "version": "4.3.0", + "hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8=" + }, + { + "pname": "System.Security.Cryptography.Cng", + "version": "4.3.0", + "hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw=" + }, + { + "pname": "System.Security.Cryptography.Csp", + "version": "4.3.0", + "hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ=" + }, + { + "pname": "System.Security.Cryptography.Encoding", + "version": "4.3.0", + "hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss=" + }, + { + "pname": "System.Security.Cryptography.OpenSsl", + "version": "4.3.0", + "hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4=" + }, + { + "pname": "System.Security.Cryptography.Primitives", + "version": "4.3.0", + "hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318=" + }, + { + "pname": "System.Security.Cryptography.ProtectedData", + "version": "4.7.0", + "hash": "sha256-dZfs5q3Ij1W1eJCfYjxI2o+41aSiFpaAugpoECaCOug=" + }, + { + "pname": "System.Security.Cryptography.X509Certificates", + "version": "4.3.0", + "hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0=" + }, + { + "pname": "System.Security.Permissions", + "version": "4.7.0", + "hash": "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "4.3.0", + "hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "4.5.0", + "hash": "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "4.7.0", + "hash": "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg=" + }, + { + "pname": "System.Text.Encoding", + "version": "4.3.0", + "hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg=" + }, + { + "pname": "System.Text.Encoding.CodePages", + "version": "4.5.1", + "hash": "sha256-PIhkv59IXjyiuefdhKxS9hQfEwO9YWRuNudpo53HQfw=" + }, + { + "pname": "System.Text.Encoding.Extensions", + "version": "4.3.0", + "hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc=" + }, + { + "pname": "System.Text.Json", + "version": "9.0.2", + "hash": "sha256-kftKUuGgZtF4APmp77U79ws76mEIi+R9+DSVGikA5y8=" + }, + { + "pname": "System.Text.RegularExpressions", + "version": "4.3.0", + "hash": "sha256-VLCk1D1kcN2wbAe3d0YQM/PqCsPHOuqlBY1yd2Yo+K0=" + }, + { + "pname": "System.Text.RegularExpressions", + "version": "4.3.1", + "hash": "sha256-DxsEZ0nnPozyC1W164yrMUXwnAdHShS9En7ImD/GJMM=" + }, + { + "pname": "System.Threading", + "version": "4.3.0", + "hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc=" + }, + { + "pname": "System.Threading.Channels", + "version": "8.0.0", + "hash": "sha256-c5TYoLNXDLroLIPnlfyMHk7nZ70QAckc/c7V199YChg=" + }, + { + "pname": "System.Threading.Tasks", + "version": "4.3.0", + "hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w=" + }, + { + "pname": "System.Threading.Tasks.Extensions", + "version": "4.3.0", + "hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc=" + }, + { + "pname": "System.Threading.Tasks.Extensions", + "version": "4.5.4", + "hash": "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng=" + }, + { + "pname": "System.Threading.ThreadPool", + "version": "4.3.0", + "hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg=" + }, + { + "pname": "System.Threading.Timer", + "version": "4.3.0", + "hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s=" + }, + { + "pname": "System.ValueTuple", + "version": "4.5.0", + "hash": "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI=" + }, + { + "pname": "System.Windows.Extensions", + "version": "4.7.0", + "hash": "sha256-yW+GvQranReaqPw5ZFv+mSjByQ5y1pRLl05JIEf3tYU=" + }, + { + "pname": "System.Xml.ReaderWriter", + "version": "4.3.0", + "hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA=" + }, + { + "pname": "System.Xml.XDocument", + "version": "4.3.0", + "hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI=" + }, + { + "pname": "Websocket.Client", + "version": "5.1.2", + "hash": "sha256-T0uXa9hAr3+9cvpJ/FVwtqNmE7QvSJxXsIoWV624cHs=" + } +] diff --git a/pkgs/by-name/vr/vrcx/package.nix b/pkgs/by-name/vr/vrcx/package.nix index 81e4bd785906..dea67517ddb8 100644 --- a/pkgs/by-name/vr/vrcx/package.nix +++ b/pkgs/by-name/vr/vrcx/package.nix @@ -1,35 +1,85 @@ { lib, - fetchurl, - appimageTools, - dotnet-runtime_9, + buildNpmPackage, + electron_34, + makeWrapper, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, }: let pname = "vrcx"; version = "2025.03.01"; - filename = builtins.replaceStrings [ "." ] [ "" ] version; - src = fetchurl { - hash = "sha256-d+sqebPDZC0GWtd+5/R1KXIKUbpZ0k9YFupsf29IHCs="; - url = "https://github.com/vrcx-team/VRCX/releases/download/v${version}/VRCX_${filename}.AppImage"; + electron = electron_34; + + src = fetchFromGitHub { + owner = "vrcx-team"; + repo = "VRCX"; + # v2025.03.01 tag is actually behind a few commits, namely the one that bumps the version (so it complains about not being up-to-date) + #tag = "v${version}"; + rev = "1980eeb4cccebfcf33826d44b7833a9aa6f5a955"; + hash = "sha256-HiFcHnytynWYbeUd+KsG38dLU1FhDu0VD3JPT3kUO6s="; }; - appimageContents = appimageTools.extract { - inherit pname src version; + + backend = buildDotnetModule { + inherit version src; + pname = "${pname}-backend"; + + nugetDeps = ./deps.json; + dotnet-sdk = dotnetCorePackages.dotnet_9.sdk; + dotnet-runtime = dotnetCorePackages.dotnet_9.runtime; + projectFile = "Dotnet/VRCX-Electron.csproj"; + + installPhase = '' + runHook preInstall + + cp -r build/Electron $out + + runHook postInstall + ''; }; in -appimageTools.wrapType2 rec { +buildNpmPackage { inherit pname version src; - extraPkgs = pkgs: [ dotnet-runtime_9 ]; - extraInstallCommands = '' - install -m 444 -D ${appimageContents}/vrcx.desktop \ - $out/share/applications/VRCX.desktop - install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/256x256/apps/vrcx.png \ - $out/share/icons/hicolor/256x256/apps/VRCX.png - substituteInPlace $out/share/applications/VRCX.desktop \ - --replace-fail 'Exec=AppRun' 'Exec=${pname} --no-install --ozone-platform-hint=auto' - substituteInPlace $out/share/applications/VRCX.desktop \ - --replace-fail 'Icon=VRCX' "Icon=$out/share/icons/hicolor/256x256/apps/VRCX.png" + npmDepsHash = "sha256-2ZU+9NPPx3GbU75XfjVroZCpjXr7IK2HtEIqLJLOjyw="; + npmFlags = [ "--ignore-scripts" ]; + makeCacheWritable = true; + + nativeBuildInputs = [ + makeWrapper + ]; + + buildPhase = '' + runHook preBuild + + env PLATFORM=linux npm exec webpack -- --config webpack.config.js --mode production + node src-electron/patch-package-version.js + npm exec electron-builder -- --dir \ + -c.electronDist=${electron.dist} \ + -c.electronVersion=${electron.version} + node src-electron/patch-node-api-dotnet.js + + runHook postBuild ''; + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/vrcx + cp -r build/*-unpacked/resources "$out/lib/vrcx/" + mkdir -p $out/lib/vrcx/resources/app.asar.unpacked/build + cp -r ${backend} "$out/lib/vrcx/resources/app.asar.unpacked/build/Electron" + + makeWrapper '${electron}/bin/electron' "$out/bin/vrcx" \ + --add-flags "$out/lib/vrcx/resources/app.asar" \ + --set NODE_ENV production + + runHook postInstall + ''; + + passthru = { + inherit backend; + }; meta = { description = "Friendship management tool for VRChat"; @@ -40,8 +90,10 @@ appimageTools.wrapType2 rec { license = lib.licenses.mit; homepage = "https://github.com/vrcx-team/VRCX"; downloadPage = "https://github.com/vrcx-team/VRCX/releases"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - maintainers = with lib.maintainers; [ ShyAssassin ]; + maintainers = with lib.maintainers; [ + ShyAssassin + ImSapphire + ]; platforms = lib.platforms.linux; }; } From 8e4d39ec1b540c5614e795690690c2e369bf11e2 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sat, 26 Apr 2025 22:21:05 -0500 Subject: [PATCH 3/7] vrcx: Add desktop item, move $out/lib to $out/share --- pkgs/by-name/vr/vrcx/package.nix | 36 +++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/vr/vrcx/package.nix b/pkgs/by-name/vr/vrcx/package.nix index dea67517ddb8..508149e1d899 100644 --- a/pkgs/by-name/vr/vrcx/package.nix +++ b/pkgs/by-name/vr/vrcx/package.nix @@ -1,11 +1,13 @@ { lib, + fetchFromGitHub, + buildDotnetModule, + dotnetCorePackages, buildNpmPackage, electron_34, makeWrapper, - buildDotnetModule, - fetchFromGitHub, - dotnetCorePackages, + copyDesktopItems, + makeDesktopItem, }: let pname = "vrcx"; @@ -48,6 +50,7 @@ buildNpmPackage { nativeBuildInputs = [ makeWrapper + copyDesktopItems ]; buildPhase = '' @@ -65,18 +68,35 @@ buildNpmPackage { installPhase = '' runHook preInstall - mkdir -p $out/lib/vrcx - cp -r build/*-unpacked/resources "$out/lib/vrcx/" - mkdir -p $out/lib/vrcx/resources/app.asar.unpacked/build - cp -r ${backend} "$out/lib/vrcx/resources/app.asar.unpacked/build/Electron" + mkdir -p "$out/share/vrcx" + cp -r build/*-unpacked/resources "$out/share/vrcx/" + mkdir -p $out/share/vrcx/resources/app.asar.unpacked/build + cp -r ${backend} "$out/share/vrcx/resources/app.asar.unpacked/build/Electron" makeWrapper '${electron}/bin/electron' "$out/bin/vrcx" \ - --add-flags "$out/lib/vrcx/resources/app.asar" \ + --add-flags "$out/share/vrcx/resources/app.asar" \ --set NODE_ENV production + install -Dm644 VRCX.png "$out/share/icons/hicolor/256x256/apps/vrcx.png" + runHook postInstall ''; + desktopItems = [ + (makeDesktopItem { + name = "vrcx"; + desktopName = "VRCX"; + comment = "Friendship management tool for VRChat"; + icon = "vrcx"; + exec = "vrcx"; + terminal = false; + categories = [ + "Utility" + "Application" + ]; + }) + ]; + passthru = { inherit backend; }; From 1f82d68766cd1d11ef95439bf7847dd689100607 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sun, 27 Apr 2025 04:02:57 -0500 Subject: [PATCH 4/7] vrcx: Add vrcx:// handler to desktop item --- pkgs/by-name/vr/vrcx/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/vr/vrcx/package.nix b/pkgs/by-name/vr/vrcx/package.nix index 508149e1d899..547c4b383476 100644 --- a/pkgs/by-name/vr/vrcx/package.nix +++ b/pkgs/by-name/vr/vrcx/package.nix @@ -94,6 +94,7 @@ buildNpmPackage { "Utility" "Application" ]; + mimeTypes = [ "x-scheme-handler/vrcx" ]; }) ]; From f5717f435a16c9f5424cf9ffda88a4963a5125e0 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sun, 27 Apr 2025 10:18:05 -0500 Subject: [PATCH 5/7] vrcx: Provide dotnet at runtime --- pkgs/by-name/vr/vrcx/package.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/vr/vrcx/package.nix b/pkgs/by-name/vr/vrcx/package.nix index 547c4b383476..9d3d36e24c59 100644 --- a/pkgs/by-name/vr/vrcx/package.nix +++ b/pkgs/by-name/vr/vrcx/package.nix @@ -12,6 +12,7 @@ let pname = "vrcx"; version = "2025.03.01"; + dotnet = dotnetCorePackages.dotnet_9; electron = electron_34; src = fetchFromGitHub { @@ -27,11 +28,12 @@ let inherit version src; pname = "${pname}-backend"; - nugetDeps = ./deps.json; - dotnet-sdk = dotnetCorePackages.dotnet_9.sdk; - dotnet-runtime = dotnetCorePackages.dotnet_9.runtime; + dotnet-sdk = dotnet.sdk; + dotnet-runtime = dotnet.runtime; projectFile = "Dotnet/VRCX-Electron.csproj"; + nugetDeps = ./deps.json; + installPhase = '' runHook preInstall @@ -73,9 +75,11 @@ buildNpmPackage { mkdir -p $out/share/vrcx/resources/app.asar.unpacked/build cp -r ${backend} "$out/share/vrcx/resources/app.asar.unpacked/build/Electron" - makeWrapper '${electron}/bin/electron' "$out/bin/vrcx" \ - --add-flags "$out/share/vrcx/resources/app.asar" \ - --set NODE_ENV production + makeWrapper '${electron}/bin/electron' "$out/bin/vrcx" \ + --add-flags "$out/share/vrcx/resources/app.asar" \ + --set NODE_ENV production \ + --set DOTNET_ROOT ${dotnet.runtime}/share/dotnet \ + --prefix PATH : ${lib.makeBinPath [ dotnet.runtime ]} install -Dm644 VRCX.png "$out/share/icons/hicolor/256x256/apps/vrcx.png" From f83e8fd2b122f297272583faefe2cccae3d9d853 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sun, 27 Apr 2025 17:27:55 -0500 Subject: [PATCH 6/7] vrcx: Add flag `--ozone-platform-hint=auto` to avoid relaunch --- pkgs/by-name/vr/vrcx/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/vr/vrcx/package.nix b/pkgs/by-name/vr/vrcx/package.nix index 9d3d36e24c59..b18ec869d545 100644 --- a/pkgs/by-name/vr/vrcx/package.nix +++ b/pkgs/by-name/vr/vrcx/package.nix @@ -76,6 +76,7 @@ buildNpmPackage { cp -r ${backend} "$out/share/vrcx/resources/app.asar.unpacked/build/Electron" makeWrapper '${electron}/bin/electron' "$out/bin/vrcx" \ + --add-flags "--ozone-platform-hint=auto" \ --add-flags "$out/share/vrcx/resources/app.asar" \ --set NODE_ENV production \ --set DOTNET_ROOT ${dotnet.runtime}/share/dotnet \ From 7c53b3b6960b953f27679737a5db27b276eedd51 Mon Sep 17 00:00:00 2001 From: Sapphire Date: Sun, 27 Apr 2025 17:28:23 -0500 Subject: [PATCH 7/7] vrcx: Mark non-x86_64 as broken --- pkgs/by-name/vr/vrcx/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/vr/vrcx/package.nix b/pkgs/by-name/vr/vrcx/package.nix index b18ec869d545..e1c651982fdf 100644 --- a/pkgs/by-name/vr/vrcx/package.nix +++ b/pkgs/by-name/vr/vrcx/package.nix @@ -8,6 +8,7 @@ makeWrapper, copyDesktopItems, makeDesktopItem, + stdenv, }: let pname = "vrcx"; @@ -121,5 +122,6 @@ buildNpmPackage { ImSapphire ]; platforms = lib.platforms.linux; + broken = !stdenv.hostPlatform.isx86_64; }; }