diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-10 07:13:44 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-12 14:07:16 +0000 |
commit | e2698550456abba83c6dcd5d5e5a9990a0b96f8a (patch) | |
tree | 79a56f0df3fa55e470d84b4dff6059fbf487ec18 /nixpkgs/pkgs/misc/emulators | |
parent | 1cdc42df888dc98c347e03bd942ed9825a55bcb3 (diff) | |
parent | 84d74ae9c9cbed73274b8e4e00be14688ffc93fe (diff) | |
download | nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.gz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.bz2 nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.lz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.xz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.zst nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.zip |
Merge commit '84d74ae9c9cbed73274b8e4e00be14688ffc93fe'
Diffstat (limited to 'nixpkgs/pkgs/misc/emulators')
23 files changed, 1388 insertions, 48 deletions
diff --git a/nixpkgs/pkgs/misc/emulators/ccemux/default.nix b/nixpkgs/pkgs/misc/emulators/ccemux/default.nix index fc5d4c813882..2313a63dc698 100644 --- a/nixpkgs/pkgs/misc/emulators/ccemux/default.nix +++ b/nixpkgs/pkgs/misc/emulators/ccemux/default.nix @@ -29,7 +29,7 @@ let comment = "A modular ComputerCraft emulator"; desktopName = "CCEmuX"; genericName = "ComputerCraft Emulator"; - categories = "Application;Emulator;"; + categories = "Emulator;"; }; in diff --git a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix b/nixpkgs/pkgs/misc/emulators/dosbox/default.nix index b70f0e058c07..160c8733ff5c 100644 --- a/nixpkgs/pkgs/misc/emulators/dosbox/default.nix +++ b/nixpkgs/pkgs/misc/emulators/dosbox/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { comment = "x86 emulator with internal DOS"; desktopName = "DOSBox"; genericName = "DOS emulator"; - categories = "Application;Emulator;"; + categories = "Emulator;"; }; postInstall = '' diff --git a/nixpkgs/pkgs/misc/emulators/emu2/default.nix b/nixpkgs/pkgs/misc/emulators/emu2/default.nix new file mode 100644 index 000000000000..fb13b602b6a6 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/emu2/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "emu2"; + version = "unstable-2020-06-04"; + + src = fetchFromGitHub { + owner = "dmsc"; + repo = "emu2"; + rev = "f9599d347aab07d9281400ec8b214aabd187fbcd"; + sha256 = "0d8fb3wp477kfi0p4mmr69lxsbgb4gl9pqmm68g9ixzrfch837v4"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/dmsc/emu2/"; + description = "A simple text-mode x86 + DOS emulator"; + platforms = platforms.linux; + maintainers = with maintainers; [ dramaturg ]; + license = licenses.gpl2; + }; +} diff --git a/nixpkgs/pkgs/misc/emulators/gxemul/default.nix b/nixpkgs/pkgs/misc/emulators/gxemul/default.nix index e742fde90ac9..8671056d14eb 100644 --- a/nixpkgs/pkgs/misc/emulators/gxemul/default.nix +++ b/nixpkgs/pkgs/misc/emulators/gxemul/default.nix @@ -2,26 +2,24 @@ stdenv.mkDerivation rec { pname = "gxemul"; - version = "0.6.0.1"; + version = "0.6.2"; src = fetchurl { - url = "http://gxemul.sourceforge.net/src/${pname}-${version}.tar.gz"; - sha256 = "1afd9l0igyv7qgc0pn3rkdgrl5d0ywlyib0qhg4li23zilyq5407"; + url = "http://gavare.se/gxemul/src/gxemul-${version}.tar.gz"; + sha256 = "0iqmazfn7ss5n27m1a9n9nps3vzhag1phzb7qw0wgczycmwsq0x7"; }; configurePhase = "./configure"; installPhase = '' - mkdir -p $out/bin; - mkdir -p $out/share/${pname}-${version}; - cp gxemul $out/bin; - cp -r doc $out/share/${pname}-${version}; - cp -r demos $out/share/${pname}-${version}; - cp -r ./man $out/; + mkdir -p {$out/bin,$out/share/${pname}-${version}} + cp -r {doc,demos} $out/share/${pname}-${version} + cp gxemul $out/bin + cp -r ./man $out ''; - meta = { - license = stdenv.lib.licenses.bsd3; + meta = with stdenv.lib; { + homepage = "http://gavare.se/gxemul/"; description = "Gavare's experimental emulator"; longDescription = '' GXemul is a framework for full-system computer architecture @@ -32,6 +30,6 @@ stdenv.mkDerivation rec { and serial controllers. The emulation is working well enough to allow several unmodified "guest" operating systems to run. ''; - homepage = "http://gxemul.sourceforge.net/"; + license = licenses.bsd3; }; } diff --git a/nixpkgs/pkgs/misc/emulators/mame/default.nix b/nixpkgs/pkgs/misc/emulators/mame/default.nix index d72af71f6634..f83e26c28ce1 100644 --- a/nixpkgs/pkgs/misc/emulators/mame/default.nix +++ b/nixpkgs/pkgs/misc/emulators/mame/default.nix @@ -1,4 +1,4 @@ -{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper +{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, makeDesktopItem, makeWrapper , python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama , libpcap, CoreAudioKit, ForceFeedback , installShellFiles }: @@ -7,7 +7,7 @@ with stdenv; let majorVersion = "0"; - minorVersion = "221"; + minorVersion = "224"; desktopItem = makeDesktopItem { name = "MAME"; @@ -26,7 +26,7 @@ in mkDerivation { owner = "mamedev"; repo = "mame"; rev = "mame${majorVersion}${minorVersion}"; - sha256 = "1pqwa5qcrk0wgbyns6fkv7j3pn7byf216cixc3phhhgvfidgr8ww"; + sha256 = "1z012fk7nlvxxixxcavmzc9443xli6i7xzz7fdf755g7v1cys7im"; }; hardeningDisable = [ "fortify" ]; @@ -51,7 +51,15 @@ in mkDerivation { # by default MAME assumes that paths with stock resources # are relative and that you run MAME changing to # install directory, so we add absolute paths here - patches = [ ./emuopts.patch ]; + patches = [ + ./emuopts.patch + # Make the parallel build reliable -- see https://github.com/mamedev/mame/pull/7279 + (fetchpatch { + name = "fix-mame-parallel-build.patch"; + url = "https://github.com/mamedev/mame/commit/13a54fd4e8b8b1a4aad77671562b2d9ef3d82e1f.patch"; + sha256 = "1p4bszir9hcdjx6am58p48zh17rhjzlhx2baiacas7fnig61i02n"; + }) + ]; postPatch = '' substituteInPlace src/emu/emuopts.cpp \ diff --git a/nixpkgs/pkgs/misc/emulators/mgba/default.nix b/nixpkgs/pkgs/misc/emulators/mgba/default.nix index 872fdc713836..73845581b1bf 100644 --- a/nixpkgs/pkgs/misc/emulators/mgba/default.nix +++ b/nixpkgs/pkgs/misc/emulators/mgba/default.nix @@ -15,13 +15,13 @@ let }; in stdenv.mkDerivation rec { pname = "mgba"; - version = "0.8.1"; + version = "0.8.3"; src = fetchFromGitHub { owner = "mgba-emu"; repo = "mgba"; rev = version; - sha256 = "1if82mfaak3696w5d5yshynpzywrxgvg3ifdfi2rwlpvq1gpd429"; + sha256 = "0rwlfjdr0rzbq4kaplvwsgyb8xq6nrzxss2c8xrgw9hqw3ymx4s3"; }; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/misc/emulators/openmsx/custom-nixos.mk b/nixpkgs/pkgs/misc/emulators/openmsx/custom-nix.mk index 9098762e40d5..9098762e40d5 100644 --- a/nixpkgs/pkgs/misc/emulators/openmsx/custom-nixos.mk +++ b/nixpkgs/pkgs/misc/emulators/openmsx/custom-nix.mk diff --git a/nixpkgs/pkgs/misc/emulators/openmsx/default.nix b/nixpkgs/pkgs/misc/emulators/openmsx/default.nix index 68b464f4d358..dc533c4f17ce 100644 --- a/nixpkgs/pkgs/misc/emulators/openmsx/default.nix +++ b/nixpkgs/pkgs/misc/emulators/openmsx/default.nix @@ -2,21 +2,19 @@ , python , alsaLib, glew, libGL, libpng , libogg, libtheora, libvorbis -, SDL, SDL_image, SDL_ttf +, SDL2, SDL2_image, SDL2_ttf , freetype, tcl, zlib }: -with stdenv.lib; stdenv.mkDerivation rec { - pname = "openmsx"; - version = "0.15.0"; + version = "16.0"; src = fetchFromGitHub { owner = "openMSX"; repo = "openMSX"; - rev = "RELEASE_0_15_0"; - sha256 = "1lv5kdw0812mkf7k20z2djzk0pbs792xq2mibbnz9rfjf02whi7l"; + rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] version}"; + sha256 = "04sphn9ph378r0qv881riv90cgz58650jcqcwmi1mv6gbcb3img5"; fetchSubmodules = true; }; @@ -24,10 +22,10 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib glew libGL libpng libogg libtheora libvorbis freetype - SDL SDL_image SDL_ttf tcl zlib ]; + SDL2 SDL2_image SDL2_ttf tcl zlib ]; postPatch = '' - cp ${./custom-nixos.mk} build/custom.mk + cp ${./custom-nix.mk} build/custom.mk ''; dontAddPrefix = true; @@ -36,8 +34,8 @@ stdenv.mkDerivation rec { # for providing support to Nixpkgs :) TCL_CONFIG="${tcl}/lib/"; - meta = { - description = "A MSX emulator"; + meta = with stdenv.lib;{ + description = "The MSX emulator that aims for perfection"; longDescription = '' OpenMSX is an emulator for the MSX home computer system. Its goal is to emulate all aspects of the MSX with 100% accuracy. @@ -45,5 +43,6 @@ stdenv.mkDerivation rec { homepage = "https://openmsx.org"; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix; + license = with licenses; [ bsd2 boost gpl2 ]; }; } diff --git a/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix b/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix index 3faba2ee467c..af2cca5494e1 100644 --- a/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix +++ b/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "pcsx2"; - version = "1.6.0-rc"; + version = "1.6.0"; src = fetchFromGitHub { owner = "PCSX2"; repo = "pcsx2"; rev = "v${version}"; - sha256 = "1mdv1dgwawb4k6bs1jh6j2jaaxg168fbssm1lwnlk5di0gz31h23"; + sha256 = "0528kh3275285lvfsykycdhc35c1z8pmccl2s7dfi3va2cp4x8wa"; }; postPatch = "sed '1i#include \"x86intrin.h\"' -i common/src/x86emitter/cpudetect.cpp"; diff --git a/nixpkgs/pkgs/misc/emulators/resim/default.nix b/nixpkgs/pkgs/misc/emulators/resim/default.nix index 81acdf81f2ec..ba7ac6212576 100644 --- a/nixpkgs/pkgs/misc/emulators/resim/default.nix +++ b/nixpkgs/pkgs/misc/emulators/resim/default.nix @@ -15,4 +15,6 @@ stdenv.mkDerivation { cp -v libresim/libarmsim.so $out/lib/libarmsim.so cp -v vc4emul/vc4emul $out/bin/vc4emul ''; + + meta.license = stdenv.lib.licenses.mit; } diff --git a/nixpkgs/pkgs/misc/emulators/retroarch/default.nix b/nixpkgs/pkgs/misc/emulators/retroarch/default.nix index a9950a14b4d9..bfc2c338769c 100644 --- a/nixpkgs/pkgs/misc/emulators/retroarch/default.nix +++ b/nixpkgs/pkgs/misc/emulators/retroarch/default.nix @@ -43,9 +43,6 @@ stdenv.mkDerivation rec { libXdmcp libXext libXxf86vm mesa udev wayland libxkbcommon ]; - # we use prefix-less pkg-config - PKG_CONF_PATH = "pkg-config"; - enableParallelBuilding = true; configureFlags = stdenv.lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" ]; diff --git a/nixpkgs/pkgs/misc/emulators/rpcs3/default.nix b/nixpkgs/pkgs/misc/emulators/rpcs3/default.nix index 5e26624d6c7a..f71420674e5c 100644 --- a/nixpkgs/pkgs/misc/emulators/rpcs3/default.nix +++ b/nixpkgs/pkgs/misc/emulators/rpcs3/default.nix @@ -1,5 +1,6 @@ { mkDerivation, lib, fetchgit, cmake, pkgconfig, git -, qtbase, qtquickcontrols, openal, glew, vulkan-loader, libpng, ffmpeg_3, libevdev, python3 +, qtbase, qtquickcontrols, openal, glew, vulkan-headers, vulkan-loader, libpng +, ffmpeg, libevdev, python3 , pulseaudioSupport ? true, libpulseaudio , waylandSupport ? true, wayland , alsaSupport ? true, alsaLib @@ -15,7 +16,7 @@ mkDerivation { src = fetchgit { url = "https://github.com/RPCS3/rpcs3"; - rev = "341fdf7eb14763fd06e2eab9a4b2b8f1adf9fdbd"; + rev = "v${majorVersion}"; sha256 = "1qx97zkkjl6bmv5rhfyjqynbz0v8h40b2wxqnl59g287wj0yk3y1"; }; @@ -36,7 +37,8 @@ mkDerivation { nativeBuildInputs = [ cmake pkgconfig git ]; buildInputs = [ - qtbase qtquickcontrols openal glew vulkan-loader libpng ffmpeg_3 libevdev python3 + qtbase qtquickcontrols openal glew vulkan-headers vulkan-loader libpng ffmpeg + libevdev python3 ] ++ lib.optional pulseaudioSupport libpulseaudio ++ lib.optional alsaSupport alsaLib ++ lib.optional waylandSupport wayland; diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix b/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix new file mode 100644 index 000000000000..d1fa03898231 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix @@ -0,0 +1,106 @@ +{ stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs +, dotnet-sdk_3, dotnetPackages, dotnetCorePackages +, SDL2, libX11, openal +, gtk3, gobject-introspection, wrapGAppsHook +}: + +let + runtimeDeps = [ + SDL2 + gtk3 + libX11 + openal + ]; +in stdenv.mkDerivation rec { + pname = "ryujinx"; + version = "1.0.5346"; + + src = fetchFromGitHub { + owner = "Ryujinx"; + repo = "Ryujinx"; + rev = "2ce59c44bcb2d789f4d6312b26cf41f36915d73c"; + sha256 = "0hk8jdacg8ryhh0mpnfjbzrrpy8gv87f4hp0hybyypglmaxz8grm"; + }; + + nativeBuildInputs = [ dotnet-sdk_3 dotnetPackages.Nuget makeWrapper wrapGAppsHook gobject-introspection ]; + + nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix { + fetchNuGet = { name, version, sha256 }: fetchurl { + name = "nuget-${name}-${version}.nupkg"; + url = "https://www.nuget.org/api/v2/package/${name}/${version}"; + inherit sha256; + }; + }); + + patches = [ ./log.patch ]; # Without this, Ryujinx tries to write logs to the nix store. This patch makes it write to "~/.config/Ryujinx/Logs" on Linux. + + configurePhase = '' + runHook preConfigure + + export HOME=$(mktemp -d) + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + + nuget sources Add -Name nixos -Source "$PWD/nixos" + nuget init "$nugetDeps" "$PWD/nixos" + + # FIXME: https://github.com/NuGet/Home/issues/4413 + mkdir -p $HOME/.nuget/NuGet + cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet + + dotnet restore --source "$PWD/nixos" Ryujinx.sln + + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + dotnet build Ryujinx.sln \ + --no-restore \ + --configuration Release \ + -p:Version=${version} + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + dotnet publish Ryujinx.sln \ + --no-build \ + --configuration Release \ + --no-self-contained \ + --output $out/lib/ryujinx + shopt -s extglob + + makeWrapper $out/lib/ryujinx/Ryujinx $out/bin/Ryujinx \ + --set DOTNET_ROOT "${dotnetCorePackages.netcore_3_1}" \ + --suffix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath runtimeDeps}" \ + ''${gappsWrapperArgs[@]} + + for i in 16 32 48 64 96 128 256 512 1024; do + install -D ${src}/Ryujinx/Ui/assets/Icon.png $out/share/icons/hicolor/''${i}x$i/apps/ryujinx.png + done + cp -r ${makeDesktopItem { + desktopName = "Ryujinx"; + name = "ryujinx"; + exec = "Ryujinx"; + icon = "ryujinx"; + comment = meta.description; + type = "Application"; + categories = "Game;"; + }}/share/applications $out/share + + runHook postInstall + ''; + + # Strip breaks the executable. + dontStrip = true; + + meta = with stdenv.lib; { + description = "Experimental Nintendo Switch Emulator written in C#"; + homepage = "https://ryujinx.org/"; + license = licenses.mit; + maintainers = [ maintainers.ivar ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix b/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix new file mode 100644 index 000000000000..94093e1e29c6 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix @@ -0,0 +1,1062 @@ +{ fetchNuGet }: [ + (fetchNuGet { + name = "AtkSharp"; + version = "3.22.25.56"; + sha256 = "069fm4wplxb4s1i6mdj00b22zqpz6pg9miglcj8mkf1b4lnn09g0"; + }) + (fetchNuGet { + name = "CairoSharp"; + version = "3.22.25.56"; + sha256 = "0b7p4yj88wgayh464j3rkbc4js8z57wxy3mprgvx86i3rc2v5jd9"; + }) + (fetchNuGet { + name = "Concentus"; + version = "1.1.7"; + sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; + }) + (fetchNuGet { + name = "DiscordRichPresence"; + version = "1.0.150"; + sha256 = "0qmbi4sccia3w80q8xfvj3bw62nvz047wq198n2b2aflkf47bq79"; + }) + (fetchNuGet { + name = "FFmpeg.AutoGen"; + version = "4.3.0"; + sha256 = "03lb3xzgwxik8nljq87pr1b9bsxbsl3a4kvy0kqkw9f57n29ihvk"; + }) + (fetchNuGet { + name = "GdkSharp"; + version = "3.22.25.56"; + sha256 = "0f708dwy6i9hghxs711scwkww28lvfjd6gykk7xv921vich5xvy6"; + }) + (fetchNuGet { + name = "GioSharp"; + version = "3.22.25.56"; + sha256 = "1i7x1bakv5sq27ppl6w79c1wbvnfhf1713plc9ixaznh1fclcnwr"; + }) + (fetchNuGet { + name = "GLibSharp"; + version = "3.22.25.56"; + sha256 = "12czfm0lgjcy9hgqsiycwfv124dq619svrnsi036246i5hycj37w"; + }) + (fetchNuGet { + name = "GLWidget"; + version = "1.0.2"; + sha256 = "0nb46jiscnsywwdfy7zhx1bw4jfmca3s6l8dhbi99gc4bvp8ar7p"; + }) + (fetchNuGet { + name = "GtkSharp"; + version = "3.22.25.56"; + sha256 = "18dbn834wimdmxmgsqd81hyvjyyzgbnayzvz9f714cgw4yjkjyqs"; + }) + (fetchNuGet { + name = "GtkSharp.Dependencies"; + version = "1.1.0"; + sha256 = "1g1rhcn38ww97638rds6l5bysra43hkhv47fy71fvq89623zgyxn"; + }) + (fetchNuGet { + name = "LibHac"; + version = "0.12.0"; + sha256 = "08r9b9cdcbz6339sw8r5dfy2a8iw53df0j3xq9rygkg02xspimld"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; + version = "3.1.8"; + sha256 = "140zr3nwkmf6xc52gq4iz6ycyh95fxy0jpgn637pkd9z423z8135"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.App.Runtime.osx-x64"; + version = "3.1.8"; + sha256 = "0dkib4r4v5wqxsi6zca6x3zin1x4lha53dqbgsaiah961h1yhpp4"; + }) + (fetchNuGet { + name = "Microsoft.AspNetCore.App.Runtime.win-x64"; + version = "3.1.8"; + sha256 = "05sv39b6sc8fhh3m8kwq0lp58n8mrv5ivxa60rfqk6v6i7gs8b0f"; + }) + (fetchNuGet { + name = "Microsoft.CodeCoverage"; + version = "16.7.0"; + sha256 = "10f6y1q8w61vc8ffqd7jsndwfskkfqbdzfqswyxnrr0qkkqx29v1"; + }) + (fetchNuGet { + name = "Microsoft.CSharp"; + version = "4.0.1"; + sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; + }) + (fetchNuGet { + name = "Microsoft.DotNet.InternalAbstractions"; + version = "1.0.0"; + sha256 = "0mp8ihqlb7fsa789frjzidrfjc1lrhk88qp3xm5qvr7vf4wy4z8x"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App.Host.osx-x64"; + version = "3.1.8"; + sha256 = "1ip8pgra9z6ha3yc4xqkb85cl9kx2jbwhwzdi3dp8bkqbvlirvkb"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App.Host.win-x64"; + version = "3.1.8"; + sha256 = "1d7wlnibf9fgq57hwnjqhlh33hxg417ljf1djb9yan4xik1wl4hb"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App.Runtime.linux-x64"; + version = "3.1.8"; + sha256 = "1bv9n9wzsqf9g8h6z10p61xkcx8ad4nnip83qv8yyfvhr4kdmbsa"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App.Runtime.osx-x64"; + version = "3.1.8"; + sha256 = "1iabp5czrz9wmsqcl0gi8r580vlhky3aak5ndz9fw065wlsqpv7w"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App.Runtime.win-x64"; + version = "3.1.8"; + sha256 = "010c514ls1q9gdnyj0kvknx7a0z034lfbbcxqa8cjiv0snax4pqz"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.0.1"; + sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "1.1.0"; + sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "2.0.0"; + sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "3.1.0"; + sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.0.1"; + sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Targets"; + version = "1.1.0"; + sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; + }) + (fetchNuGet { + name = "Microsoft.NET.Test.Sdk"; + version = "16.7.0"; + sha256 = "1vkp6b82566z2pxn9035wrh4339kz3ki17g5qlwmwdbn4br6lcfy"; + }) + (fetchNuGet { + name = "Microsoft.TestPlatform.ObjectModel"; + version = "16.7.0"; + sha256 = "0nmw80ap2rn9h4i1x7qb15n763sh3wy8hjp1i5n0av7100g0yjqz"; + }) + (fetchNuGet { + name = "Microsoft.TestPlatform.TestHost"; + version = "16.7.0"; + sha256 = "0485nv0wcwdwjhif5a7d1i0znaf9acqyawhpqcwschw827chqzrs"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.0.1"; + sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.3.0"; + sha256 = "1gxyzxam8163vk1kb6xzxjj4iwspjsz9zhgn1w9rjzciphaz0ig7"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.5.0"; + sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "4.7.0"; + sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs"; + }) + (fetchNuGet { + name = "Microsoft.Win32.SystemEvents"; + version = "4.5.0"; + sha256 = "0fnkv3ky12227zqg4zshx4kw2mvysq2ppxjibfw02cc3iprv4njq"; + }) + (fetchNuGet { + name = "Mono.Posix.NETStandard"; + version = "1.0.0"; + sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; + }) + (fetchNuGet { + name = "MsgPack.Cli"; + version = "1.0.1"; + sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "1.6.0"; + sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "2.0.0"; + sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "12.0.2"; + sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; + }) + (fetchNuGet { + name = "Newtonsoft.Json"; + version = "9.0.1"; + sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; + }) + (fetchNuGet { + name = "NuGet.Frameworks"; + version = "5.0.0"; + sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr"; + }) + (fetchNuGet { + name = "NUnit"; + version = "3.12.0"; + sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2"; + }) + (fetchNuGet { + name = "NUnit3TestAdapter"; + version = "3.17.0"; + sha256 = "0kxc6z3b8ccdrcyqz88jm5yh5ch9nbg303v67q8sp5hhs8rl8nk6"; + }) + (fetchNuGet { + name = "OpenTK.NetStandard"; + version = "1.0.5.12"; + sha256 = "1n8j6k47189l5b6rnhyq391d84v6zkpiiqq41cccb6qizvrcgl69"; + }) + (fetchNuGet { + name = "PangoSharp"; + version = "3.22.25.56"; + sha256 = "12b0761nfsci4rvzcba4hrh5rcn6q24qaxwwz66myb82c999qj8w"; + }) + (fetchNuGet { + name = "runtime.any.System.Collections"; + version = "4.3.0"; + sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; + }) + (fetchNuGet { + name = "runtime.any.System.Diagnostics.Tools"; + version = "4.3.0"; + sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; + }) + (fetchNuGet { + name = "runtime.any.System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; + }) + (fetchNuGet { + name = "runtime.any.System.Globalization"; + version = "4.3.0"; + sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; + }) + (fetchNuGet { + name = "runtime.any.System.Globalization.Calendars"; + version = "4.3.0"; + sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; + }) + (fetchNuGet { + name = "runtime.any.System.IO"; + version = "4.3.0"; + sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; + }) + (fetchNuGet { + name = "runtime.any.System.Reflection"; + version = "4.3.0"; + sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; + }) + (fetchNuGet { + name = "runtime.any.System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; + }) + (fetchNuGet { + name = "runtime.any.System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; + }) + (fetchNuGet { + name = "runtime.any.System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; + }) + (fetchNuGet { + name = "runtime.any.System.Runtime"; + version = "4.3.0"; + sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; + }) + (fetchNuGet { + name = "runtime.any.System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; + }) + (fetchNuGet { + name = "runtime.any.System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; + }) + (fetchNuGet { + name = "runtime.any.System.Text.Encoding"; + version = "4.3.0"; + sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; + }) + (fetchNuGet { + name = "runtime.any.System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; + }) + (fetchNuGet { + name = "runtime.any.System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; + }) + (fetchNuGet { + name = "runtime.any.System.Threading.Timer"; + version = "4.3.0"; + sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; + }) + (fetchNuGet { + name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; + }) + (fetchNuGet { + name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; + }) + (fetchNuGet { + name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.0.0"; + sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; + }) + (fetchNuGet { + name = "runtime.native.System"; + version = "4.3.0"; + sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; + }) + (fetchNuGet { + name = "runtime.native.System.IO.Compression"; + version = "4.1.0"; + sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; + }) + (fetchNuGet { + name = "runtime.native.System.Net.Http"; + version = "4.0.1"; + sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography"; + version = "4.0.0"; + sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; + }) + (fetchNuGet { + name = "runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; + }) + (fetchNuGet { + name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; + }) + (fetchNuGet { + name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; + }) + (fetchNuGet { + name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; + }) + (fetchNuGet { + name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; + }) + (fetchNuGet { + name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; + }) + (fetchNuGet { + name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; + }) + (fetchNuGet { + name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; + version = "4.3.0"; + sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; + }) + (fetchNuGet { + name = "runtime.unix.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; + }) + (fetchNuGet { + name = "runtime.unix.System.Console"; + version = "4.3.0"; + sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; + }) + (fetchNuGet { + name = "runtime.unix.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; + }) + (fetchNuGet { + name = "runtime.unix.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; + }) + (fetchNuGet { + name = "runtime.unix.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; + }) + (fetchNuGet { + name = "runtime.unix.System.Net.Sockets"; + version = "4.3.0"; + sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; + }) + (fetchNuGet { + name = "runtime.unix.System.Private.Uri"; + version = "4.3.0"; + sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; + }) + (fetchNuGet { + name = "runtime.unix.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; + }) + (fetchNuGet { + name = "runtime.win.Microsoft.Win32.Primitives"; + version = "4.3.0"; + sha256 = "0k1h8nnp1s0p8rjwgjyj1387cc1yycv0k22igxc963lqdzrx2z36"; + }) + (fetchNuGet { + name = "runtime.win.System.Console"; + version = "4.3.0"; + sha256 = "0x2yajfrbc5zc6g7nmlr44xpjk6p1hxjq47jn3xki5j7i33zw9jc"; + }) + (fetchNuGet { + name = "runtime.win.System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "16fbn4bcynad1ygdq0yk1wmckvs8jvrrf104xa5dc2hlc8y3x58f"; + }) + (fetchNuGet { + name = "runtime.win.System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "1c01nklbxywszsbfaxc76hsz7gdxac3jkphrywfkdsi3v4bwd6g8"; + }) + (fetchNuGet { + name = "runtime.win.System.Net.Primitives"; + version = "4.3.0"; + sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf"; + }) + (fetchNuGet { + name = "runtime.win.System.Net.Sockets"; + version = "4.3.0"; + sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck"; + }) + (fetchNuGet { + name = "runtime.win.System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; + }) + (fetchNuGet { + name = "Ryujinx.Graphics.Nvdec.Dependencies"; + version = "4.3.0"; + sha256 = "0szgbdhyhvzpw8nb9k2ww37p5qipab1pdll8idkk57y5xnl2f7ll"; + }) + (fetchNuGet { + name = "System.AppContext"; + version = "4.1.0"; + sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.0.0"; + sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; + }) + (fetchNuGet { + name = "System.Buffers"; + version = "4.3.0"; + sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; + }) + (fetchNuGet { + name = "System.CodeDom"; + version = "4.4.0"; + sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; + }) + (fetchNuGet { + name = "System.CodeDom"; + version = "4.7.0"; + sha256 = "1lch8gwmw420wsvbv9ir4v5g1ij2ag23cbgi3c9gramj1h4vhlz2"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.0.11"; + sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; + }) + (fetchNuGet { + name = "System.Collections"; + version = "4.3.0"; + sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; + }) + (fetchNuGet { + name = "System.Collections.Concurrent"; + version = "4.0.12"; + sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; + }) + (fetchNuGet { + name = "System.Collections.NonGeneric"; + version = "4.3.0"; + sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; + }) + (fetchNuGet { + name = "System.Collections.Specialized"; + version = "4.3.0"; + sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; + }) + (fetchNuGet { + name = "System.ComponentModel"; + version = "4.3.0"; + sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; + }) + (fetchNuGet { + name = "System.ComponentModel.EventBasedAsync"; + version = "4.3.0"; + sha256 = "1rv9bkb8yyhqqqrx6x95njv6mdxlbvv527b44mrd93g8fmgkifl7"; + }) + (fetchNuGet { + name = "System.ComponentModel.Primitives"; + version = "4.3.0"; + sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; + }) + (fetchNuGet { + name = "System.ComponentModel.TypeConverter"; + version = "4.3.0"; + sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; + }) + (fetchNuGet { + name = "System.Console"; + version = "4.0.0"; + sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.0.11"; + sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; + }) + (fetchNuGet { + name = "System.Diagnostics.Debug"; + version = "4.3.0"; + sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; + }) + (fetchNuGet { + name = "System.Diagnostics.DiagnosticSource"; + version = "4.0.0"; + sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; + }) + (fetchNuGet { + name = "System.Diagnostics.Process"; + version = "4.3.0"; + sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tools"; + version = "4.0.1"; + sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.1.0"; + sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; + }) + (fetchNuGet { + name = "System.Diagnostics.Tracing"; + version = "4.3.0"; + sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; + }) + (fetchNuGet { + name = "System.Drawing.Common"; + version = "4.5.0"; + sha256 = "0knqa0zsm91nfr34br8gx5kjqq4v81zdhqkacvs2hzc8nqk0ddhc"; + }) + (fetchNuGet { + name = "System.Dynamic.Runtime"; + version = "4.0.11"; + sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.0.11"; + sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; + }) + (fetchNuGet { + name = "System.Globalization"; + version = "4.3.0"; + sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; + }) + (fetchNuGet { + name = "System.Globalization.Calendars"; + version = "4.0.1"; + sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.0.1"; + sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; + }) + (fetchNuGet { + name = "System.Globalization.Extensions"; + version = "4.3.0"; + sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.1.0"; + sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; + }) + (fetchNuGet { + name = "System.IO"; + version = "4.3.0"; + sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; + }) + (fetchNuGet { + name = "System.IO.Compression"; + version = "4.1.0"; + sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; + }) + (fetchNuGet { + name = "System.IO.Compression.ZipFile"; + version = "4.0.1"; + sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.0.1"; + sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; + }) + (fetchNuGet { + name = "System.IO.FileSystem"; + version = "4.3.0"; + sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.0.1"; + sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; + }) + (fetchNuGet { + name = "System.IO.FileSystem.Primitives"; + version = "4.3.0"; + sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.1.0"; + sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; + }) + (fetchNuGet { + name = "System.Linq"; + version = "4.3.0"; + sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; + }) + (fetchNuGet { + name = "System.Linq.Expressions"; + version = "4.1.0"; + sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; + }) + (fetchNuGet { + name = "System.Management"; + version = "4.7.0"; + sha256 = "0aw61jl6l78liiq04afxplz0ad5qbyg6vmyjaqrlnrv7whb58n66"; + }) + (fetchNuGet { + name = "System.Net.Http"; + version = "4.1.0"; + sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; + }) + (fetchNuGet { + name = "System.Net.NameResolution"; + version = "4.3.0"; + sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; + }) + (fetchNuGet { + name = "System.Net.Primitives"; + version = "4.0.11"; + sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; + }) + (fetchNuGet { + name = "System.Net.Sockets"; + version = "4.1.0"; + sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; + }) + (fetchNuGet { + name = "System.Numerics.Vectors"; + version = "4.3.0"; + sha256 = "05kji1mv4sl75iwmc613p873145nynm02xiajx8pn0h2kx53d23s"; + }) + (fetchNuGet { + name = "System.ObjectModel"; + version = "4.0.12"; + sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; + }) + (fetchNuGet { + name = "System.Private.Uri"; + version = "4.3.0"; + sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.1.0"; + sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; + }) + (fetchNuGet { + name = "System.Reflection"; + version = "4.3.0"; + sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.0.1"; + sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.3.0"; + sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.0.1"; + sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.ILGeneration"; + version = "4.3.0"; + sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.0.1"; + sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.3.0"; + sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.0.1"; + sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; + }) + (fetchNuGet { + name = "System.Reflection.Extensions"; + version = "4.3.0"; + sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.0.1"; + sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; + }) + (fetchNuGet { + name = "System.Reflection.Primitives"; + version = "4.3.0"; + sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.1.0"; + sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; + }) + (fetchNuGet { + name = "System.Reflection.TypeExtensions"; + version = "4.3.0"; + sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.0.1"; + sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; + }) + (fetchNuGet { + name = "System.Resources.ResourceManager"; + version = "4.3.0"; + sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.1.0"; + sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; + }) + (fetchNuGet { + name = "System.Runtime"; + version = "4.3.0"; + sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.6.0"; + sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "5.0.0-preview.7.20364.11"; + sha256 = "19sl184f6rjhfsizq0vapysazd6yd66lf638rszvrdhqlsxssz2m"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.1.0"; + sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; + }) + (fetchNuGet { + name = "System.Runtime.Extensions"; + version = "4.3.0"; + sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.0.1"; + sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; + }) + (fetchNuGet { + name = "System.Runtime.Handles"; + version = "4.3.0"; + sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.1.0"; + sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices"; + version = "4.3.0"; + sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.0.0"; + sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; + }) + (fetchNuGet { + name = "System.Runtime.InteropServices.RuntimeInformation"; + version = "4.3.0"; + sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; + }) + (fetchNuGet { + name = "System.Runtime.Numerics"; + version = "4.0.1"; + sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; + }) + (fetchNuGet { + name = "System.Runtime.Serialization.Primitives"; + version = "4.1.1"; + sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; + }) + (fetchNuGet { + name = "System.Security.AccessControl"; + version = "4.5.0"; + sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; + }) + (fetchNuGet { + name = "System.Security.AccessControl"; + version = "4.7.0"; + sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; + }) + (fetchNuGet { + name = "System.Security.Claims"; + version = "4.3.0"; + sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Algorithms"; + version = "4.2.0"; + sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Cng"; + version = "4.2.0"; + sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Csp"; + version = "4.0.0"; + sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Encoding"; + version = "4.0.0"; + sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.OpenSsl"; + version = "4.0.0"; + sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.Primitives"; + version = "4.0.0"; + sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; + }) + (fetchNuGet { + name = "System.Security.Cryptography.X509Certificates"; + version = "4.1.0"; + sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; + }) + (fetchNuGet { + name = "System.Security.Principal"; + version = "4.3.0"; + sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.3.0"; + sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.5.0"; + sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "4.7.0"; + sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.0.11"; + sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; + }) + (fetchNuGet { + name = "System.Text.Encoding"; + version = "4.3.0"; + sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.0.11"; + sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; + }) + (fetchNuGet { + name = "System.Text.Encoding.Extensions"; + version = "4.3.0"; + sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.1.0"; + sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; + }) + (fetchNuGet { + name = "System.Text.RegularExpressions"; + version = "4.3.0"; + sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.0.11"; + sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; + }) + (fetchNuGet { + name = "System.Threading"; + version = "4.3.0"; + sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; + }) + (fetchNuGet { + name = "System.Threading.Overlapped"; + version = "4.3.0"; + sha256 = "1nahikhqh9nk756dh8p011j36rlcp1bzz3vwi2b4m1l2s3vz8idm"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.0.11"; + sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; + }) + (fetchNuGet { + name = "System.Threading.Tasks"; + version = "4.3.0"; + sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.0.0"; + sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; + }) + (fetchNuGet { + name = "System.Threading.Tasks.Extensions"; + version = "4.3.0"; + sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; + }) + (fetchNuGet { + name = "System.Threading.Thread"; + version = "4.3.0"; + sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4"; + }) + (fetchNuGet { + name = "System.Threading.ThreadPool"; + version = "4.3.0"; + sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; + }) + (fetchNuGet { + name = "System.Threading.Timer"; + version = "4.0.1"; + sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.0.11"; + sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; + }) + (fetchNuGet { + name = "System.Xml.ReaderWriter"; + version = "4.3.0"; + sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; + }) + (fetchNuGet { + name = "System.Xml.XDocument"; + version = "4.0.11"; + sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; + }) + (fetchNuGet { + name = "System.Xml.XmlDocument"; + version = "4.3.0"; + sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; + }) + (fetchNuGet { + name = "System.Xml.XPath"; + version = "4.3.0"; + sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci"; + }) + (fetchNuGet { + name = "System.Xml.XPath.XmlDocument"; + version = "4.3.0"; + sha256 = "1h9lh7qkp0lff33z847sdfjj8yaz98ylbnkbxlnsbflhj9xyfqrm"; + }) +] diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/fetch-deps.sh b/nixpkgs/pkgs/misc/emulators/ryujinx/fetch-deps.sh new file mode 100755 index 000000000000..ce9873a16929 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/ryujinx/fetch-deps.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_3 +set -eo pipefail +cd "$(dirname "${BASH_SOURCE[0]}")" + +deps_file="$(realpath "./deps.nix")" + +# Setup empty nuget package folder to force reinstall. +mkdir ./nuget_tmp.packages +cat >./nuget_tmp.config <<EOF +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <packageSources> + <add key="nuget" value="https://api.nuget.org/v3/index.json" /> + </packageSources> + <config> + <add key="globalPackagesFolder" value="$(realpath ./nuget_tmp.packages)" /> + </config> +</configuration> +EOF + +dotnet restore Ryujinx.sln --configfile ./nuget_tmp.config + +echo "{ fetchNuGet }: [" >"$deps_file" +while read pkg_spec; do + { read pkg_name; read pkg_version; } < <( + # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3` + sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec") + pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)" + cat >>"$deps_file" <<EOF + (fetchNuGet { + name = "$pkg_name"; + version = "$pkg_version"; + sha256 = "$pkg_sha256"; + }) +EOF +done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort) +echo "]" >>"$deps_file" + +popd +rm -r "$src" diff --git a/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch b/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch new file mode 100644 index 000000000000..d25e22fbd373 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch @@ -0,0 +1,13 @@ +diff --git a/Ryujinx.Common/Configuration/LoggerModule.cs b/Ryujinx.Common/Configuration/LoggerModule.cs +index 20c0fb46..ce933730 100644 +--- a/Ryujinx.Common/Configuration/LoggerModule.cs ++++ b/Ryujinx.Common/Configuration/LoggerModule.cs +@@ -75,7 +75,7 @@ namespace Ryujinx.Configuration + if (e.NewValue) + { + Logger.AddTarget(new AsyncLogTargetWrapper( +- new FileLogTarget(AppDomain.CurrentDomain.BaseDirectory, "file"), ++ new FileLogTarget(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"), "file"), + 1000, + AsyncLogTargetOverflowAction.Block + )); diff --git a/nixpkgs/pkgs/misc/emulators/sameboy/default.nix b/nixpkgs/pkgs/misc/emulators/sameboy/default.nix new file mode 100644 index 000000000000..e90cc5a00f50 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/sameboy/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, gtk3, rgbds, SDL2, wrapGAppsHook, glib }: + +stdenv.mkDerivation rec { + pname = "sameboy"; + version = "0.13.6"; + + src = fetchFromGitHub { + owner = "LIJI32"; + repo = "SameBoy"; + rev = "v${version}"; + sha256 = "04w8lybi7ssnax37ka4qw7pmcm7cgnmk90p9m73zbyp5chgpqqzc"; + }; + + enableParallelBuilding = true; + # glib and wrapGAppsHook are needed to make the Open ROM menu work. + nativeBuildInputs = [ rgbds glib wrapGAppsHook ]; + buildInputs = [ SDL2 ]; + + makeFlags = "CONF=release DATA_DIR=$(out)/share/sameboy/"; + + patchPhase = '' + sed 's/-Werror //g' -i Makefile + sed 's@"libgtk-3.so"@"${gtk3}/lib/libgtk-3.so"@g' -i OpenDialog/gtk.c + ''; + + installPhase = '' + pushd build/bin/SDL + install -Dm755 sameboy $out/bin/sameboy + rm sameboy + mkdir -p $out/share/sameboy + cp -r * $out/share/sameboy + popd + ''; + + meta = with stdenv.lib; { + homepage = "https://sameboy.github.io"; + description = "Game Boy, Game Boy Color, and Super Game Boy emulator"; + + longDescription = '' + SameBoy is a user friendly Game Boy, Game Boy Color and Super + Game Boy emulator for macOS, Windows and Unix-like platforms. + SameBoy is extremely accurate and includes a wide range of + powerful debugging features, making it ideal for both casual + players and developers. In addition to accuracy and developer + capabilities, SameBoy has all the features one would expect from + an emulator – from save states to scaling filters. + ''; + + license = licenses.mit; + maintainers = with maintainers; [ NieDzejkob ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/misc/emulators/simplenes/default.nix b/nixpkgs/pkgs/misc/emulators/simplenes/default.nix new file mode 100644 index 000000000000..d4805a62d761 --- /dev/null +++ b/nixpkgs/pkgs/misc/emulators/simplenes/default.nix @@ -0,0 +1,33 @@ +{ stdenv +, fetchFromGitHub +, cmake +, sfml +}: + +stdenv.mkDerivation rec { + pname = "simplenes"; + version = "unstable-2019-03-13"; + + src = fetchFromGitHub { + owner = "amhndu"; + repo = "SimpleNES"; + rev = "4edb7117970c21a33b3bfe11a6606764fffc5173"; + sha256 = "1nmwj431iwqzzcykxd4xinqmg0rm14mx7zsjyhcc5skz7pihz86g"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ sfml ]; + + installPhase = '' + mkdir -p $out/bin + cp ./SimpleNES $out/bin + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/amhndu/SimpleNES"; + description = "An NES emulator written in C++"; + license = licenses.gpl3; + maintainers = with maintainers; [ ivar ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix b/nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix index 6560024b19e0..f33af245f710 100644 --- a/nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix +++ b/nixpkgs/pkgs/misc/emulators/snes9x-gtk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, wrapGAppsHook , SDL2, zlib, gtk3, libxml2, libXv, epoxy, minizip, pulseaudio, portaudio }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ meson ninja pkgconfig ]; + nativeBuildInputs = [ meson ninja pkgconfig wrapGAppsHook ]; buildInputs = [ SDL2 zlib gtk3 libxml2 libXv epoxy minizip pulseaudio portaudio ]; preConfigure = "cd gtk"; diff --git a/nixpkgs/pkgs/misc/emulators/stella/default.nix b/nixpkgs/pkgs/misc/emulators/stella/default.nix index 591b2daaf15b..4c657fc30bba 100644 --- a/nixpkgs/pkgs/misc/emulators/stella/default.nix +++ b/nixpkgs/pkgs/misc/emulators/stella/default.nix @@ -4,13 +4,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "stella"; - version = "6.2"; + version = "6.2.1"; src = fetchFromGitHub { owner = "stella-emu"; repo = "stella"; rev = version; - sha256 = "1d97g4m686xsj6r5vy5x74ys9yk0hcpdppxh714n8hhcc9aglm19"; + sha256 = "1yhszswwg217x8d2qlcasi9l97y1z6w1pgliys4p27zv5b1ygy7p"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/nixpkgs/pkgs/misc/emulators/vice/default.nix b/nixpkgs/pkgs/misc/emulators/vice/default.nix index ca3149785a4d..c80d820059fa 100644 --- a/nixpkgs/pkgs/misc/emulators/vice/default.nix +++ b/nixpkgs/pkgs/misc/emulators/vice/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { comment = "Commodore 64 emulator"; desktopName = "VICE"; genericName = "Commodore 64 emulator"; - categories = "Application;Emulator;"; + categories = "Emulator;"; }; preBuild = '' diff --git a/nixpkgs/pkgs/misc/emulators/wine/sources.nix b/nixpkgs/pkgs/misc/emulators/wine/sources.nix index dd3cae339ca1..bb61872f7c3b 100644 --- a/nixpkgs/pkgs/misc/emulators/wine/sources.nix +++ b/nixpkgs/pkgs/misc/emulators/wine/sources.nix @@ -39,19 +39,22 @@ in rec { unstable = fetchurl rec { # NOTE: Don't forget to change the SHA256 for staging as well. - version = "5.10"; + version = "5.16"; url = "https://dl.winehq.org/wine/source/5.x/wine-${version}.tar.xz"; - sha256 = "0g9k094biyjc0ng3vnncdr1psf0ykn36nqirrqdzc5y82s9a1alv"; + sha256 = "0j9268s1dy4cjvhcf4igbg54gaws4a1l3pda449qy2p2i4psdncq"; inherit (stable) mono gecko32 gecko64; }; staging = fetchFromGitHub rec { # https://github.com/wine-staging/wine-staging/releases inherit (unstable) version; - sha256 = "1nnj52g0kp7i38qw85sp5qsf7gph1hh3ywibrdfpjmjpyj30v7sw"; + sha256 = "1rrw15mrygv9zcbqz0c3s7q7971wqj89ys2bvvm4b0d2h4j0k6wq"; owner = "wine-staging"; repo = "wine-staging"; rev = "v${version}"; + + # Just keep list empty, if current release haven't broken patchsets + disabledPatchsets = [ ]; }; winetricks = fetchFromGitHub rec { diff --git a/nixpkgs/pkgs/misc/emulators/wine/staging.nix b/nixpkgs/pkgs/misc/emulators/wine/staging.nix index 48ea93a97a8e..f3b9fa304204 100644 --- a/nixpkgs/pkgs/misc/emulators/wine/staging.nix +++ b/nixpkgs/pkgs/misc/emulators/wine/staging.nix @@ -8,7 +8,7 @@ let patch = (callPackage ./sources.nix {}).staging; in assert stdenv.lib.getVersion wineUnstable == patch.version; (stdenv.lib.overrideDerivation wineUnstable (self: { - buildInputs = build-inputs [ "perl" "utillinux" "autoconf" ] self.buildInputs; + buildInputs = build-inputs [ "perl" "utillinux" "autoconf" "gitMinimal" ] self.buildInputs; name = "${self.name}-staging"; @@ -18,7 +18,7 @@ in assert stdenv.lib.getVersion wineUnstable == patch.version; chmod +w patches cd patches patchShebangs gitapply.sh - ./patchinstall.sh DESTDIR="$PWD/.." --all + ./patchinstall.sh DESTDIR="$PWD/.." --all ${stdenv.lib.concatMapStringsSep " " (ps: "-W ${ps}") patch.disabledPatchsets} cd .. ''; })) // { |