|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
{ lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem |
|
|
|
|
{ lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem, copyDesktopItems |
|
|
|
|
, libX11, libgdiplus, ffmpeg |
|
|
|
|
, SDL2_mixer, openal, libsoundio, sndio, pulseaudio |
|
|
|
|
, gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook |
|
|
|
@ -6,20 +6,31 @@ |
|
|
|
|
|
|
|
|
|
buildDotnetModule rec { |
|
|
|
|
pname = "ryujinx"; |
|
|
|
|
version = "1.0.7065"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx |
|
|
|
|
version = "1.0.7086"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx |
|
|
|
|
|
|
|
|
|
src = fetchFromGitHub { |
|
|
|
|
owner = "Ryujinx"; |
|
|
|
|
repo = "Ryujinx"; |
|
|
|
|
rev = "c54a14d0b8d445d9d0074861dca816cc801e4008"; |
|
|
|
|
sha256 = "13j91413x1bvg27vcx9sgc7gv00q84d8f5pllih5g5plzld4r541"; |
|
|
|
|
rev = "85d8d1d7cab5615e6911b7b570c8dd0b94a521ab"; |
|
|
|
|
sha256 = "11j54c7qrb7vcay8bjpv2jykdnwsjhf5cmqds43wvbicigbbds54"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
projectFile = "Ryujinx.sln"; |
|
|
|
|
executables = [ "Ryujinx" ]; |
|
|
|
|
nugetDeps = ./deps.nix; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ wrapGAppsHook gobject-introspection gdk-pixbuf ]; |
|
|
|
|
dotnetFlags = [ "/p:ExtraDefineConstants=DISABLE_UPDATER" ]; |
|
|
|
|
|
|
|
|
|
# TODO: Add the headless frontend. Currently errors on the following: |
|
|
|
|
# System.Exception: SDL2 initlaization failed with error "No available video device" |
|
|
|
|
executables = [ "Ryujinx" ]; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
copyDesktopItems |
|
|
|
|
wrapGAppsHook |
|
|
|
|
gobject-introspection |
|
|
|
|
gdk-pixbuf |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
runtimeDeps = [ |
|
|
|
|
gtk3 |
|
|
|
|
libX11 |
|
|
|
@ -48,22 +59,23 @@ buildDotnetModule rec { |
|
|
|
|
for i in 16 32 48 64 96 128 256 512 1024; do |
|
|
|
|
install -D ${src}/Ryujinx/Ui/Resources/Logo_Ryujinx.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 |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
desktopItems = [(makeDesktopItem { |
|
|
|
|
desktopName = "Ryujinx"; |
|
|
|
|
name = "ryujinx"; |
|
|
|
|
exec = "Ryujinx"; |
|
|
|
|
icon = "ryujinx"; |
|
|
|
|
comment = meta.description; |
|
|
|
|
type = "Application"; |
|
|
|
|
categories = "Game;"; |
|
|
|
|
})]; |
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
|
description = "Experimental Nintendo Switch Emulator written in C#"; |
|
|
|
|
homepage = "https://ryujinx.org/"; |
|
|
|
|
license = licenses.mit; |
|
|
|
|
changelog = "https://github.com/Ryujinx/Ryujinx/wiki/Changelog"; |
|
|
|
|
maintainers = [ maintainers.ivar ]; |
|
|
|
|
platforms = [ "x86_64-linux" ]; |
|
|
|
|
}; |
|
|
|
|