mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-22 05:19:00 +02:00
ryujinx: 1.1.223 -> 1.1.248
Its now running unit tests, and the headless frontend is packaged as well. The latter is a bit inconsistent, on the OpenGL backend it will always fail to create an SDL+OpenGL instance, causing a crash. The Vulkan backend mostly works fine, although it might need a few restarts before it decides to show graphics. Better than nothing though.
This commit is contained in:
parent
c320c43bb7
commit
e3e703844d
|
@ -1,18 +1,16 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildDotnetModule
|
, buildDotnetModule
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, dotnetCorePackages
|
, wrapGAppsHook
|
||||||
, libX11
|
, libX11
|
||||||
, libgdiplus
|
, libgdiplus
|
||||||
, ffmpeg
|
, ffmpeg
|
||||||
, SDL2_mixer
|
|
||||||
, openal
|
, openal
|
||||||
, libsoundio
|
, libsoundio
|
||||||
, sndio
|
, sndio
|
||||||
, pulseaudio
|
, pulseaudio
|
||||||
, gtk3
|
, gtk3
|
||||||
, gdk-pixbuf
|
, gdk-pixbuf
|
||||||
, wrapGAppsHook
|
|
||||||
, vulkan-loader
|
, vulkan-loader
|
||||||
, libICE
|
, libICE
|
||||||
, libSM
|
, libSM
|
||||||
|
@ -22,28 +20,24 @@
|
||||||
, libXrandr
|
, libXrandr
|
||||||
, fontconfig
|
, fontconfig
|
||||||
, glew
|
, glew
|
||||||
|
, libGL
|
||||||
|
, SDL2
|
||||||
|
, SDL2_mixer
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
pname = "ryujinx";
|
pname = "ryujinx";
|
||||||
version = "1.1.223"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
version = "1.1.248"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Ryujinx";
|
owner = "Ryujinx";
|
||||||
repo = "Ryujinx";
|
repo = "Ryujinx";
|
||||||
rev = "951700fdd8f54fb34ffe8a3fb328a68b5bf37abe";
|
rev = "5ff5fe47bad947a95545390865c597bec6c62070";
|
||||||
sha256 = "0kzchsxir8wh74rxvp582mci855hbd0vma6yhcc9vpz0zmhi2cpf";
|
sha256 = "0nfzf7q58mhdyszwv3mbz3wqf4w0m1p3fmf3cpga1pf9mfq65nqz";
|
||||||
};
|
};
|
||||||
|
|
||||||
projectFile = "Ryujinx.sln";
|
|
||||||
nugetDeps = ./deps.nix;
|
nugetDeps = ./deps.nix;
|
||||||
|
|
||||||
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" "Ryujinx.Ava" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
];
|
||||||
|
@ -74,12 +68,30 @@ buildDotnetModule rec {
|
||||||
libXrandr
|
libXrandr
|
||||||
fontconfig
|
fontconfig
|
||||||
glew
|
glew
|
||||||
|
|
||||||
|
# Headless executable
|
||||||
|
libGL
|
||||||
|
SDL2
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux.
|
./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux.
|
||||||
];
|
];
|
||||||
|
|
||||||
|
projectFile = "Ryujinx.sln";
|
||||||
|
testProjectFile = "Ryujinx.Tests/Ryujinx.Tests.csproj";
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
dotnetFlags = [
|
||||||
|
"/p:ExtraDefineConstants=DISABLE_UPDATER"
|
||||||
|
];
|
||||||
|
|
||||||
|
executables = [
|
||||||
|
"Ryujinx.Headless.SDL2"
|
||||||
|
"Ryujinx.Ava"
|
||||||
|
"Ryujinx"
|
||||||
|
];
|
||||||
|
|
||||||
makeWrapperArgs = [
|
makeWrapperArgs = [
|
||||||
# Without this Ryujinx fails to start on wayland. See https://github.com/Ryujinx/Ryujinx/issues/2714
|
# Without this Ryujinx fails to start on wayland. See https://github.com/Ryujinx/Ryujinx/issues/2714
|
||||||
"--set GDK_BACKEND x11"
|
"--set GDK_BACKEND x11"
|
||||||
|
@ -100,8 +112,10 @@ buildDotnetModule rec {
|
||||||
install -D ./ryujinx-mime.xml $out/share/mime/packages/ryujinx-mime.xml
|
install -D ./ryujinx-mime.xml $out/share/mime/packages/ryujinx-mime.xml
|
||||||
install -D ./ryujinx-logo.svg $out/share/icons/hicolor/scalable/apps/ryujinx.svg
|
install -D ./ryujinx-logo.svg $out/share/icons/hicolor/scalable/apps/ryujinx.svg
|
||||||
|
|
||||||
substituteInPlace $out/share/applications/ryujinx.desktop --replace \
|
substituteInPlace $out/share/applications/ryujinx.desktop \
|
||||||
"Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
|
--replace "Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
|
||||||
|
|
||||||
|
ln -s $out/bin/Ryujinx $out/bin/ryujinx
|
||||||
|
|
||||||
popd
|
popd
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue