diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/re')
-rw-r--r-- | nixpkgs/pkgs/by-name/re/redka/package.nix | 30 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/refinery-cli/package.nix | 28 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/regal/package.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/regina/package.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/regols/package.nix | 6 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix | 6 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/renode-unstable/package.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/renpy/package.nix | 138 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/renpy/shutup-erofs-errors.patch | 29 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/retool/package.nix | 4 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/retrospy/deps.nix | 154 | ||||
-rw-r--r-- | nixpkgs/pkgs/by-name/re/retrospy/package.nix | 89 | ||||
-rwxr-xr-x | nixpkgs/pkgs/by-name/re/retrospy/update.sh | 17 |
13 files changed, 499 insertions, 14 deletions
diff --git a/nixpkgs/pkgs/by-name/re/redka/package.nix b/nixpkgs/pkgs/by-name/re/redka/package.nix new file mode 100644 index 000000000000..3ead73db8310 --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/redka/package.nix @@ -0,0 +1,30 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "redka"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "nalgeon"; + repo = "redka"; + rev = "v${version}"; + hash = "sha256-Dm+QMmCYoYJWv+Crot0bwcSPHuUYQzhRgTO65jRjLLE="; + }; + + vendorHash = "sha256-aX0X6TWVEouo884LunCt+UzLyvDHgmvuxdV0wh0r7Ro="; + + subPackages = [ "cmd/redka" "cmd/cli" ]; + + ldflags = [ "-X main.version=v${version}" ]; + + postInstall = '' + mv $out/bin/{cli,redka-cli} + ''; + + meta = { + description = "Redis re-implemented with SQLite"; + homepage = "https://github.com/nalgeon/redka"; + maintainers = with lib.maintainers; [ sikmir ]; + license = lib.licenses.bsd3; + }; +} diff --git a/nixpkgs/pkgs/by-name/re/refinery-cli/package.nix b/nixpkgs/pkgs/by-name/re/refinery-cli/package.nix new file mode 100644 index 000000000000..609a2618f86c --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/refinery-cli/package.nix @@ -0,0 +1,28 @@ +{ fetchCrate, lib, stdenv, openssl, pkg-config, rustPlatform, darwin }: + +rustPlatform.buildRustPackage rec { + pname = "refinery-cli"; + version = "0.8.14"; + + src = fetchCrate { + pname = "refinery_cli"; + inherit version; + sha256 = "sha256-gHW+5WWzk1H2O5B2sWdl6QcOeUbNvbdZZBD10SmE1GA="; + }; + + cargoHash = "sha256-Go7+LZSze/IrNwEl+11Dm5O9RcREyPSkHPjlE9SPO70="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ openssl ] + ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; + + meta = with lib; { + description = "Run migrations for the Refinery ORM for Rust via the CLI"; + mainProgram = "refinery"; + homepage = "https://github.com/rust-db/refinery"; + changelog = "https://github.com/rust-db/refinery/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ lucperkins ]; + }; +} diff --git a/nixpkgs/pkgs/by-name/re/regal/package.nix b/nixpkgs/pkgs/by-name/re/regal/package.nix index 70f6058c674a..d97004f6439b 100644 --- a/nixpkgs/pkgs/by-name/re/regal/package.nix +++ b/nixpkgs/pkgs/by-name/re/regal/package.nix @@ -2,13 +2,13 @@ buildGoModule rec { name = "regal"; - version = "0.21.2"; + version = "0.21.3"; src = fetchFromGitHub { owner = "StyraInc"; repo = "regal"; rev = "v${version}"; - hash = "sha256-YGUXJ5rfzyLwqhOLBuIRdN1G0fTcrPmuIsYKS/CzzW4="; + hash = "sha256-MeEamVAETl+PJXJ2HpbhYdEG3kqvEeT5bGzRHyTrjcY="; }; vendorHash = "sha256-5rj2dCWya24VUmIFf0oJQop80trq9NnqqFlBW/A6opk="; diff --git a/nixpkgs/pkgs/by-name/re/regina/package.nix b/nixpkgs/pkgs/by-name/re/regina/package.nix index 7480ade5413c..f551d09dfc72 100644 --- a/nixpkgs/pkgs/by-name/re/regina/package.nix +++ b/nixpkgs/pkgs/by-name/re/regina/package.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "regina-rexx"; - version = "3.9.5"; + version = "3.9.6"; src = fetchurl { url = "mirror://sourceforge/regina-rexx/regina-rexx/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-COmpBhvuADjPtFRG3iB2b/2uUO6jf2ZCRG7E5zoqvFE="; + hash = "sha256-7ZjHp/HVpBSLAv7xsWruSmpthljQGoDPXFAwFe8Br6U="; }; buildInputs = [ ncurses ]; diff --git a/nixpkgs/pkgs/by-name/re/regols/package.nix b/nixpkgs/pkgs/by-name/re/regols/package.nix index 64515e5ed72e..d96dda45bf71 100644 --- a/nixpkgs/pkgs/by-name/re/regols/package.nix +++ b/nixpkgs/pkgs/by-name/re/regols/package.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "regols"; - version = "0.2.2"; + version = "0.2.3"; src = fetchFromGitHub { owner = "kitagry"; repo = "regols"; rev = "v${version}"; - hash = "sha256-2ZwmIlv3kJ26p15t7NvB9sX2GO+B3ypeNl50b7XA0Iw="; + hash = "sha256-nZ0zBCZXVY2AqzsBWm/HOp9wO7Cj1AsSgpi6YwmhfHY="; }; - vendorHash = "sha256-N6gtkZSNLXz3B961grM3xHzm7x4/kzcLkDOgiFLGp8U="; + vendorHash = "sha256-LQdYmsof4CRDBz65Q/YDl+Ll77fvAR/CV/P2RK8a0Lg="; meta = with lib; { description = "OPA Rego language server"; diff --git a/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix b/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix index 2472831eac22..47ef5321bd19 100644 --- a/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/nixpkgs/pkgs/by-name/re/renode-dts2repl/package.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication { pname = "renode-dts2repl"; - version = "unstable-2024-04-16"; + version = "0-unstable-2024-05-16"; pyproject = true; src = fetchFromGitHub { owner = "antmicro"; repo = "dts2repl"; - rev = "83e2d743202684eb1f89a1b93e859c69cd736455"; - hash = "sha256-iD+59mrFNVRu6g58XXLR2Pg8oDpNIiI/+TyCdbRbjtM="; + rev = "2eb930e6c9f6b5821e62ca568682a099a2aea99e"; + hash = "sha256-fMx3sbpxLDzNiDvqxEtqXvAKD8UWe7Du7JTOL1hVkk4="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix b/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix index dd971a8df0fe..46cf78a80971 100644 --- a/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix +++ b/nixpkgs/pkgs/by-name/re/renode-unstable/package.nix @@ -5,11 +5,11 @@ renode.overrideAttrs (finalAttrs: _: { pname = "renode-unstable"; - version = "1.15.0+20240426git72f3c383b"; + version = "1.15.0+20240515gita6b1d773d"; src = fetchurl { url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz"; - hash = "sha256-BOQT5nG6Vu12RyAkCwnh6PYfNQTcYGdV4XHDpi/8kPE="; + hash = "sha256-N0pdjbEsXZiPh/xr76akmwSmkEt/fsBXZl4Cjncz3hU="; }; passthru.updateScript = diff --git a/nixpkgs/pkgs/by-name/re/renpy/package.nix b/nixpkgs/pkgs/by-name/re/renpy/package.nix new file mode 100644 index 000000000000..d31ad9ced864 --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/renpy/package.nix @@ -0,0 +1,138 @@ +{ + lib, + stdenv, + fetchFromGitHub, + python3, + pkg-config, + SDL2, + libpng, + ffmpeg, + freetype, + glew, + libGL, + libGLU, + fribidi, + zlib, + harfbuzz, + makeWrapper, +}: + +let + # https://renpy.org/doc/html/changelog.html#versioning + # base_version is of the form major.minor.patch + # vc_version is of the form YYMMDDCC + # version corresponds to the tag on GitHub + base_version = "8.2.1"; + vc_version = "24030407"; + version = "${base_version}.${vc_version}"; +in +stdenv.mkDerivation { + pname = "renpy"; + inherit version; + + src = fetchFromGitHub { + owner = "renpy"; + repo = "renpy"; + rev = version; + hash = "sha256-07Hj8mJGR0+Pn1DQ+sK5YQ3x3CTMsZ5h5yEoz44b2TM="; + }; + + nativeBuildInputs = [ + pkg-config + makeWrapper + # Ren'Py currently does not compile on Cython 3.x. + # See https://github.com/renpy/renpy/issues/5359 + python3.pkgs.cython_0 + python3.pkgs.setuptools + ]; + + buildInputs = + [ + SDL2 + libpng + ffmpeg + freetype + glew + libGLU + libGL + fribidi + zlib + harfbuzz + ] + ++ (with python3.pkgs; [ + python + pygame-sdl2 + tkinter + future + six + pefile + requests + ecdsa + ]); + + RENPY_DEPS_INSTALL = lib.concatStringsSep "::" [ + SDL2 + SDL2.dev + libpng + ffmpeg.lib + freetype + glew.dev + libGLU + libGL + fribidi + zlib + harfbuzz.dev + ]; + + enableParallelBuilding = true; + + patches = [ ./shutup-erofs-errors.patch ]; + + postPatch = '' + cp tutorial/game/tutorial_director.rpy{m,} + + cat > renpy/vc_version.py << EOF + version = '${version}' + official = False + nightly = False + # Look at https://renpy.org/latest.html for what to put. + version_name = '64bit Sensation' + EOF + ''; + + buildPhase = with python3.pkgs; '' + runHook preBuild + ${python.pythonOnBuildForHost.interpreter} module/setup.py build --parallel=$NIX_BUILD_CORES + runHook postBuild + ''; + + installPhase = with python3.pkgs; '' + runHook preInstall + + ${python.pythonOnBuildForHost.interpreter} module/setup.py install_lib -d $out/${python.sitePackages} + mkdir -p $out/share/renpy + cp -vr sdk-fonts gui launcher renpy the_question tutorial renpy.py $out/share/renpy + + makeWrapper ${python.interpreter} $out/bin/renpy \ + --set PYTHONPATH "$PYTHONPATH:$out/${python.sitePackages}" \ + --add-flags "$out/share/renpy/renpy.py" + + runHook postInstall + ''; + + env.NIX_CFLAGS_COMPILE = with python3.pkgs; "-I${pygame-sdl2}/include/${python.libPrefix}"; + + meta = { + description = "Visual Novel Engine"; + mainProgram = "renpy"; + homepage = "https://renpy.org/"; + changelog = "https://renpy.org/doc/html/changelog.html"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ shadowrz ]; + }; + + passthru = { + inherit base_version vc_version; + }; +} diff --git a/nixpkgs/pkgs/by-name/re/renpy/shutup-erofs-errors.patch b/nixpkgs/pkgs/by-name/re/renpy/shutup-erofs-errors.patch new file mode 100644 index 000000000000..9889c9f8ef85 --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/renpy/shutup-erofs-errors.patch @@ -0,0 +1,29 @@ +From 09e598ddf1f6af72ccb6c7c9301abff689e64f88 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=A4=9C=E5=9D=82=E9=9B=85?= + <23130178+ShadowRZ@users.noreply.github.com> +Date: Wed, 17 May 2023 14:32:03 +0800 +Subject: [PATCH] Don't print a backtrace on EROFS + +This can shut up EROFS errors caused by writing to read-only /nix/store. +--- + renpy/script.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/renpy/script.py b/renpy/script.py +index de35457ba..b7d511560 100644 +--- a/renpy/script.py ++++ b/renpy/script.py +@@ -705,6 +705,10 @@ class Script(object): + rpydigest = hashlib.md5(fullf.read()).digest() + + self.write_rpyc_md5(f, rpydigest) ++ except OSError as e: ++ if e.errno != 30: ++ import traceback ++ traceback.print_exc() + except Exception: + import traceback + traceback.print_exc() +-- +2.40.1 + diff --git a/nixpkgs/pkgs/by-name/re/retool/package.nix b/nixpkgs/pkgs/by-name/re/retool/package.nix index 9d93358c3d14..dd47fa3e6d0a 100644 --- a/nixpkgs/pkgs/by-name/re/retool/package.nix +++ b/nixpkgs/pkgs/by-name/re/retool/package.nix @@ -7,7 +7,7 @@ python3.pkgs.buildPythonApplication rec { pname = "retool"; - version = "2.3.7"; + version = "2.3.8"; pyproject = true; disabled = python3.pkgs.pythonOlder "3.10"; @@ -16,7 +16,7 @@ python3.pkgs.buildPythonApplication rec { owner = "unexpectedpanda"; repo = "retool"; rev = "refs/tags/v${version}"; - hash = "sha256-WEx/S6+8lJXu+4yKazzJ55HTGKr38GMRL242FV7KdLQ="; + hash = "sha256-KGBpGZAC0SjStp0aulxVRJMmNwlpvSG0i0rtZgvFCpc="; }; nativeBuildInputs = with python3.pkgs; [ diff --git a/nixpkgs/pkgs/by-name/re/retrospy/deps.nix b/nixpkgs/pkgs/by-name/re/retrospy/deps.nix new file mode 100644 index 000000000000..3e91b8962400 --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/retrospy/deps.nix @@ -0,0 +1,154 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { pname = "Avalonia"; version = "11.0.0"; sha256 = "0wfbwrr8p5hg9f809d44gh2zfkfwnwayfw84vs33hh7ms0r380gd"; }) + (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; }) + (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.28"; sha256 = "0d9hyc1zmyvzlb320arwrv12ncp45llq98hibv711b7ibm11dm7c"; }) + (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0"; sha256 = "06wgzhxkivlaxkn8p61wainsprml2g1q4jmvy9fpn64qnfywjdn7"; }) + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.0"; sha256 = "0qlcdx4w1pcljgs7sfbn5xmmnqwp2m0fqyswrgz6c8cvjzcfsjsj"; }) + (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.0"; sha256 = "08y31b357fax7c1ggwhjsfwgaj6zkm2abhpc6amlmk6ci4zn12lf"; }) + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.0"; sha256 = "134xl19rfswnz75a1mhil9yqy8haqa788rmd1p1kk6ibjbhb3np9"; }) + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.0"; sha256 = "042s8lc83lw6ygcsiza14wlsc09rgzw3ch2qaxkhlp73bh736ps3"; }) + (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.0"; sha256 = "1j7wpv81wqwh6zhfzc1f36vb5dp6s2ig45v8km9sp0q6f66zkrsh"; }) + (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.0"; sha256 = "1fhp6f2aj2bmzlcj0s5r9i9rcxwakdg9gvjqvdqaq8s98d0s06qh"; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0"; sha256 = "1b5031k8slwiz7bncih67fjl6ny234yd4skqxk611l9zp5snjic2"; }) + (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0"; sha256 = "1ra1kd0kkblppr5zy7rzdbwllggrzvp9lkxblf9mg3y8rnp6fk83"; }) + (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.0"; sha256 = "0v1pnk3hjclr2yqxmff8w6mlgmjch5gfb6yb8h0z1a5m5j6y31qv"; }) + (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.0"; sha256 = "1qw76n78c14xl419yzabahbsrgymm850ql05gd4fh5naq2brksdm"; }) + (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.0"; sha256 = "1djp4m5yin4i2f9sjv4v3syv02fllwbfinzm9h0hm2abc2ccvrm3"; }) + (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.0"; sha256 = "1gd4zrjyw3hg3d48ivhxp0ca7ma13dnpr8y1wc7d51ddlrj3c86g"; }) + (fetchNuGet { pname = "ColorTextBlock.Avalonia"; version = "11.0.0-d1"; sha256 = "1vf5fp11zx21bsakbpf12j6mchafh749cs03w9cifb6ci98jchgh"; }) + (fetchNuGet { pname = "Desktop.Robot"; version = "1.5.0"; sha256 = "1y78cpv97cwk4xas0rcpr2wwyags424f3in63kzj8w80d9gradr1"; }) + (fetchNuGet { pname = "DialogHost.Avalonia"; version = "0.7.5"; sha256 = "1wkvqrzvhjhhg128gfr57fcm2xvs9yvix405nm7v06kn6xr12d73"; }) + (fetchNuGet { pname = "DynamicData"; version = "7.9.5"; sha256 = "1m9qx8g6na5ka6kd9vhg8gjmxrnkzb6v5cl5yqp1kdjsw4rcwy6x"; }) + (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; sha256 = "043hv36bg5240znbm8x5la7py17m4jfzy57q3ka32f6zjld83j36"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; }) + (fetchNuGet { pname = "LibUsbDotNet"; version = "3.0.102-alpha"; sha256 = "05hz68aj5z76lgxz87r26314xw1a37s9wjy6gmvwwa77kg6av4d0"; }) + (fetchNuGet { pname = "Markdown.Avalonia.Tight"; version = "11.0.0-d1"; sha256 = "0ks9k3wqwvdssiwbcjc4gnrfn1r8x2dbp9amraxkmws5a7vbjdyk"; }) + (fetchNuGet { pname = "MessageBox.Avalonia"; version = "3.0.0"; sha256 = "1hyfhbayyi8dqsy9fnp09qh92qdil9wsjy97pdfp2mywgr121q50"; }) + (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; }) + (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "7.0.0"; sha256 = "1bh77misznh19m1swqm3dsbji499b8xh9gk6w74sgbkarf6ni8lb"; }) + (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; }) + (fetchNuGet { pname = "NodaTime"; version = "3.1.9"; sha256 = "10vyhv24awjqxjhyq6sw0gbbim8wddj1hnsv9l7mjv2vmg71qz1w"; }) + (fetchNuGet { pname = "PolySharp"; version = "1.10.0"; sha256 = "06qici3hhk6a0jmy0nyvspcnmhbapnic6iin3i28pkdvrii02hnz"; }) + (fetchNuGet { pname = "ReactiveUI"; version = "18.3.1"; sha256 = "1lxkc8yk9glj0w9n5vry2dnwwvh8152ad2c5bivk8aciq64zidyn"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) + (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) + (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) + (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) + (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) + (fetchNuGet { pname = "runtime.linux-arm.runtime.native.System.IO.Ports"; version = "7.0.0"; sha256 = "1q38c2fq6c464h1hs3g6528m0m8c3a5a08vsg59mzmm42r0ayh4k"; }) + (fetchNuGet { pname = "runtime.linux-arm.runtime.native.System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "0gvrha8fp26hnzxqw99r50ki3mjnpjr6iaa483b4lahpljk06ijb"; }) + (fetchNuGet { pname = "runtime.linux-arm64.runtime.native.System.IO.Ports"; version = "7.0.0"; sha256 = "1z35v6bwwl8lv7yz37xj99gablhs9sr5y0r3zb57qmjx4psvix3f"; }) + (fetchNuGet { pname = "runtime.linux-arm64.runtime.native.System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "1flvgvbpk7iqsi3cr23bjm9kdj63rmb97bn1hxzcia8iyybdzcnj"; }) + (fetchNuGet { pname = "runtime.linux-x64.runtime.native.System.IO.Ports"; version = "7.0.0"; sha256 = "1gfzdz42rsv5gp1p4w5ygkw43gm101q444a3jzgsspp2jk50hdj7"; }) + (fetchNuGet { pname = "runtime.linux-x64.runtime.native.System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "17fw28ymsdbwpimmvh3nx2shc2khqm8gypg5q1s90kvyzb5ivzpg"; }) + (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) + (fetchNuGet { pname = "runtime.native.System.IO.Ports"; version = "7.0.0"; sha256 = "0l52l3kkl4rg9wg25lacb8khywmclcyq230mss0aqsyjqlyxv9l8"; }) + (fetchNuGet { pname = "runtime.native.System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "0gigh53b9ddkycvhm8vg5gz53wq02qzb7kivwh69vh2454f1qap7"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) + (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) + (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) + (fetchNuGet { pname = "runtime.osx-arm64.runtime.native.System.IO.Ports"; version = "7.0.0"; sha256 = "03fjxh2lcrkgbr63zdk3sal99rrr60z9rgwa58pz4a2y78zy5h53"; }) + (fetchNuGet { pname = "runtime.osx-arm64.runtime.native.System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "0zphic782inl2mc6ijv7m4003pdlrk3rb7xdkcavxb5gy00lgc7n"; }) + (fetchNuGet { pname = "runtime.osx-x64.runtime.native.System.IO.Ports"; version = "7.0.0"; sha256 = "0y3rj0dv8l4fsw4w149q94zbqz4wm28ix5cvbhs8da3r92nqy9dj"; }) + (fetchNuGet { pname = "runtime.osx-x64.runtime.native.System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "0rnx41sgf690wx02z3i6bxgiw43khx5xq7f27arp53v7m0d11xny"; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) + (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) + (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) + (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) + (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.0.0-beta.13"; sha256 = "1250z6sa9ghf84czlkzvaysb29c0n229z1f0vh5qls89akrkl7h8"; }) + (fetchNuGet { pname = "SharpGen.Runtime.COM"; version = "2.0.0-beta.13"; sha256 = "1lmv3jp2g7mgy9j23pd3j0wr3p89qiq8v6c6qxqf688izyni1166"; }) + (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.0.1"; sha256 = "12ypfknphk30szsymmn1378vlp4jmlcvsz88flfxyhwgxrir0453"; }) + (fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.3"; sha256 = "1w5njksq3amrrp7fqxw89nv6ar2kgc5yx092i4rxv7hrjbd1aagx"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; }) + (fetchNuGet { pname = "Splat"; version = "14.4.1"; sha256 = "03ycyjn2ii44npi015p4rk344xnjgdzz02cf63cmhx2ab8hv6p4b"; }) + (fetchNuGet { pname = "SSH.NET"; version = "2020.0.2"; sha256 = "18mq7jjdbzc7qcsh5wg2j0gd39qbnrxkn811cy8wrdvki0pfi0sm"; }) + (fetchNuGet { pname = "SshNet.Security.Cryptography"; version = "1.3.0"; sha256 = "1y9r9c2dn81l1l4nn976fwf0by83qbvb0sp1hw7m19pqz7pmaflh"; }) + (fetchNuGet { pname = "System.CodeDom"; version = "7.0.0"; sha256 = "08a2k2v7kdx8wmzl4xcpfj749yy476ggqsy4cps4iyqqszgyv0zc"; }) + (fetchNuGet { pname = "System.CodeDom"; version = "8.0.0-preview.6.23329.7"; sha256 = "1wbh229qyhrhcwihpkh99kzcfmn7f13s8l94gbw3hm4d24kqks7b"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) + (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) + (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "7.0.0"; sha256 = "149d9kmakzkbw69cip1ny0wjlgcvnhrr7vz5pavpsip36k2mw02a"; }) + (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "8.0.0-preview.6.23329.7"; sha256 = "1jj4yizbcj54m0qhj18il5b2r2cw4njl5z46v0121qvsxsgllc8k"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "7.0.0"; sha256 = "16p8z975dnzmncfifa9gw9n3k9ycpr2qvz7lglpghsvx0fava8k9"; }) + (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0-preview.6.23329.7"; sha256 = "0c1m9c6fq4mqxv8mnwzmhpv5321lrgnn3sikis9l2072cm5lzcnm"; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "7.0.0"; sha256 = "0jwyv5zjxzr4bm4vhmz394gsxqa02q6pxdqd2hwy1f116f0l30dp"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) + (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.0"; sha256 = "08211lvckdsdbd67xz4f6cyk76cli565j0dby1grlc4k9bhwby65"; }) + (fetchNuGet { pname = "System.IO.Ports"; version = "7.0.0"; sha256 = "0nk5r3vair9kvbgcrp8zbc60x2yr464cnm6gjsz6wj1pm5b51gvp"; }) + (fetchNuGet { pname = "System.IO.Ports"; version = "8.0.0-preview.6.23329.7"; sha256 = "0mc02ngqdbgazg7kw82g68kpbm5f7pdyjbfssjj30281116plyqq"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) + (fetchNuGet { pname = "System.Management"; version = "7.0.2"; sha256 = "0mjdkzl459hnz0qg4m0xp2kwizsqgdc9vc3xk7y7cv0znhhbb7bc"; }) + (fetchNuGet { pname = "System.Management"; version = "8.0.0-preview.6.23329.7"; sha256 = "1f7apr1yq5jpr9alq03g90mj8wg9s30vxd8hp6irnf3pk9sgk5ys"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) + (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) + (fetchNuGet { pname = "System.Reactive"; version = "6.0.0"; sha256 = "1mkvx1fwychpczksy6svfmniqhbm3xqblxqik6178l12xgq7aw45"; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) + (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) + (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "7.0.0"; sha256 = "15s9s6hsj9bz0nzw41mxbqdjgjd71w2djqbv0aj413gfi9amybk9"; }) + (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0-preview.6.23329.7"; sha256 = "1xs1fmz30gr0g5c2m0xy1dx5rlfsfapyj8l6v7a9c312bd02m4id"; }) + (fetchNuGet { pname = "System.Security.Permissions"; version = "7.0.0"; sha256 = "0wkm6bj4abknzj41ygkziifx8mzhj4bix92wjvj6lihaw1gniq8c"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) + (fetchNuGet { pname = "System.Windows.Extensions"; version = "7.0.0"; sha256 = "11r9f0v7qp365bdpq5ax023yra4qvygljz18dlqs650d44iay669"; }) + (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; sha256 = "0d99kcs7r9cp6gpyc7z230czkkyx4164x86dhy0mca73f2ykc2g2"; }) + (fetchNuGet { pname = "Vortice.DirectInput"; version = "3.2.0"; sha256 = "0ig60651kvynw6x3f70y3c95n581shr1k75b407p1n9mr8qnzfsy"; }) + (fetchNuGet { pname = "Vortice.DirectX"; version = "3.2.0"; sha256 = "15wlzag7p8kvrjzjpndaa1pb9acpvylnxz8vb3rx2d3q62k9k2hw"; }) + (fetchNuGet { pname = "Vortice.Mathematics"; version = "1.5.2"; sha256 = "04s282b07fz1h1d6rw1iiqcsfpj415fin5q5cxmq2bg7a930rfjz"; }) + (fetchNuGet { pname = "Vortice.XInput"; version = "3.2.0"; sha256 = "00bkrsml45rzy1yvxfrykdgmg9g74ac3a2xb0251205mziwa0m3x"; }) +] diff --git a/nixpkgs/pkgs/by-name/re/retrospy/package.nix b/nixpkgs/pkgs/by-name/re/retrospy/package.nix new file mode 100644 index 000000000000..07ba2d35da36 --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/retrospy/package.nix @@ -0,0 +1,89 @@ +{ buildDotnetModule +, fetchFromGitHub +, dotnetCorePackages +, copyDesktopItems +, makeDesktopItem +, lib +, fontconfig +, libX11 +, libXcursor +, libICE +, libSM +, runCommandLocal +}: +let + version = "6.4.8"; + + src = fetchFromGitHub { + owner = "retrospy"; + repo = "RetroSpy"; + rev = "v${version}"; + hash = "sha256-0rdLdud78gnBX8CIdG81caJ1IRoIjGzb7coP4huEPDA="; + }; + + executables = [ + "RetroSpy" + "GBPemu" + "GBPUpdater" + "UsbUpdater" + ]; + + retrospy-icons = runCommandLocal "retrospy-icons" { } '' + mkdir -p $out/share/retrospy + ${builtins.concatStringsSep "\n" (map (e: "cp ${src}/${e}.ico $out/share/retrospy/${e}.ico") executables)} + ''; +in +buildDotnetModule { + pname = "retrospy"; + inherit version; + + inherit src; + + nativeBuildInputs = [ + copyDesktopItems + ]; + + runtimeDeps = [ + fontconfig + libX11 + libICE + libXcursor + libSM + ]; + + projectFile = [ + "RetroSpyX/RetroSpyX.csproj" + "GBPemuX/GBPemuX.csproj" + "GBPUpdaterX2/GBPUpdaterX2.csproj" + "UsbUpdaterX2/UsbUpdaterX2.csproj" + ]; + + dotnet-sdk = dotnetCorePackages.sdk_7_0; + dotnet-runtime = dotnetCorePackages.aspnetcore_7_0; + + nugetDeps = ./deps.nix; + + inherit executables; + + passthru.updateScript = ./update.sh; + + desktopItems = map + (e: (makeDesktopItem { + name = e; + exec = e; + icon = "${retrospy-icons}/share/retrospy/${e}.ico"; + desktopName = "${e}"; + categories = [ "Utility" ]; + startupWMClass = e; + })) + executables; + + meta = { + description = "Live controller viewer for Nintendo consoles as well as many other retro consoles and computers"; + homepage = "https://retro-spy.com/"; + license = lib.licenses.gpl3; + maintainers = [ lib.maintainers.naxdy ]; + platforms = lib.platforms.linux; + }; +} + diff --git a/nixpkgs/pkgs/by-name/re/retrospy/update.sh b/nixpkgs/pkgs/by-name/re/retrospy/update.sh new file mode 100755 index 000000000000..f3715f9da478 --- /dev/null +++ b/nixpkgs/pkgs/by-name/re/retrospy/update.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq common-updater-scripts +# shellcheck shell=bash +set -euo pipefail + +new_version="$(curl -s "https://api.github.com/repos/retrospy/RetroSpy/releases?per_page=1" | jq -r '.[0].tag_name')" +new_version=${new_version#v} +old_version=$(nix-instantiate --eval -A retrospy.version | jq -e -r) + +if [[ "$new_version" == "$old_version" ]]; then + echo "Up to date" + exit 0 +fi + +update-source-version retrospy "$new_version" + +eval "$(nix-build . -A retrospy.fetch-deps --no-out-link)" |