tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
ryujinx: 1.0.7065 -> 1.0.7086
IvarWithoutBones
4 years ago
bedcb97d
27710dca
+32
-32
3 changed files
expand all
collapse all
unified
split
pkgs
misc
emulators
ryujinx
default.nix
deps.nix
updater.sh
+28
-16
pkgs/misc/emulators/ryujinx/default.nix
···
1
-
{ lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem
2
, libX11, libgdiplus, ffmpeg
3
, SDL2_mixer, openal, libsoundio, sndio, pulseaudio
4
, gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook
···
6
7
buildDotnetModule rec {
8
pname = "ryujinx";
9
-
version = "1.0.7065"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
10
11
src = fetchFromGitHub {
12
owner = "Ryujinx";
13
repo = "Ryujinx";
14
-
rev = "c54a14d0b8d445d9d0074861dca816cc801e4008";
15
-
sha256 = "13j91413x1bvg27vcx9sgc7gv00q84d8f5pllih5g5plzld4r541";
16
};
17
18
projectFile = "Ryujinx.sln";
19
-
executables = [ "Ryujinx" ];
20
nugetDeps = ./deps.nix;
21
22
-
nativeBuildInputs = [ wrapGAppsHook gobject-introspection gdk-pixbuf ];
0
0
0
0
0
0
0
0
0
0
0
0
23
runtimeDeps = [
24
gtk3
25
libX11
···
48
for i in 16 32 48 64 96 128 256 512 1024; do
49
install -D ${src}/Ryujinx/Ui/Resources/Logo_Ryujinx.png $out/share/icons/hicolor/''${i}x$i/apps/ryujinx.png
50
done
0
51
52
-
cp -r ${makeDesktopItem {
53
-
desktopName = "Ryujinx";
54
-
name = "ryujinx";
55
-
exec = "Ryujinx";
56
-
icon = "ryujinx";
57
-
comment = meta.description;
58
-
type = "Application";
59
-
categories = "Game;";
60
-
}}/share/applications $out/share
61
-
'';
62
63
meta = with lib; {
64
description = "Experimental Nintendo Switch Emulator written in C#";
65
homepage = "https://ryujinx.org/";
66
license = licenses.mit;
0
67
maintainers = [ maintainers.ivar ];
68
platforms = [ "x86_64-linux" ];
69
};
···
1
+
{ lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem, copyDesktopItems
2
, libX11, libgdiplus, ffmpeg
3
, SDL2_mixer, openal, libsoundio, sndio, pulseaudio
4
, gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook
···
6
7
buildDotnetModule rec {
8
pname = "ryujinx";
9
+
version = "1.0.7086"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
10
11
src = fetchFromGitHub {
12
owner = "Ryujinx";
13
repo = "Ryujinx";
14
+
rev = "85d8d1d7cab5615e6911b7b570c8dd0b94a521ab";
15
+
sha256 = "11j54c7qrb7vcay8bjpv2jykdnwsjhf5cmqds43wvbicigbbds54";
16
};
17
18
projectFile = "Ryujinx.sln";
0
19
nugetDeps = ./deps.nix;
20
21
+
dotnetFlags = [ "/p:ExtraDefineConstants=DISABLE_UPDATER" ];
22
+
23
+
# TODO: Add the headless frontend. Currently errors on the following:
24
+
# System.Exception: SDL2 initlaization failed with error "No available video device"
25
+
executables = [ "Ryujinx" ];
26
+
27
+
nativeBuildInputs = [
28
+
copyDesktopItems
29
+
wrapGAppsHook
30
+
gobject-introspection
31
+
gdk-pixbuf
32
+
];
33
+
34
runtimeDeps = [
35
gtk3
36
libX11
···
59
for i in 16 32 48 64 96 128 256 512 1024; do
60
install -D ${src}/Ryujinx/Ui/Resources/Logo_Ryujinx.png $out/share/icons/hicolor/''${i}x$i/apps/ryujinx.png
61
done
62
+
'';
63
64
+
desktopItems = [(makeDesktopItem {
65
+
desktopName = "Ryujinx";
66
+
name = "ryujinx";
67
+
exec = "Ryujinx";
68
+
icon = "ryujinx";
69
+
comment = meta.description;
70
+
type = "Application";
71
+
categories = "Game;";
72
+
})];
0
73
74
meta = with lib; {
75
description = "Experimental Nintendo Switch Emulator written in C#";
76
homepage = "https://ryujinx.org/";
77
license = licenses.mit;
78
+
changelog = "https://github.com/Ryujinx/Ryujinx/wiki/Changelog";
79
maintainers = [ maintainers.ivar ];
80
platforms = [ "x86_64-linux" ];
81
};
+2
-1
pkgs/misc/emulators/ryujinx/deps.nix
···
5
(fetchNuGet { name = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
6
(fetchNuGet { name = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
7
(fetchNuGet { name = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; })
8
-
(fetchNuGet { name = "FFmpeg.AutoGen"; version = "4.4.0"; sha256 = "02n4az1jv30078019png9gbspygz051inxsn6w4iar20dqp55g2w"; })
9
(fetchNuGet { name = "GdkSharp"; version = "3.22.25.128"; sha256 = "0bmn0ddaw8797pnhpyl03h2zl8i5ha67yv38gly4ydy50az2xhj7"; })
10
(fetchNuGet { name = "GioSharp"; version = "3.22.25.128"; sha256 = "0syfa1f2hg7wsxln5lh86n8m1lihhprc51b6km91gkl25l5hw5bv"; })
11
(fetchNuGet { name = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; })
···
102
(fetchNuGet { name = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
103
(fetchNuGet { name = "Ryujinx.Audio.OpenAL.Dependencies"; version = "1.21.0.1"; sha256 = "0z5k42h252nr60d02p2ww9190d7k1kzrb26vil4ydfhxqqqv6w9l"; })
104
(fetchNuGet { name = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build7"; sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m"; })
0
105
(fetchNuGet { name = "Ryujinx.SDL2-CS"; version = "2.0.17-build18"; sha256 = "0j0vs6075c4fniydqxhpp18pg3x679mq463x4gxqgkri3vhpj4vl"; })
106
(fetchNuGet { name = "SharpZipLib"; version = "1.3.0"; sha256 = "1pizj82wisch28nfdaszwqm9bz19lnl0s5mq8c0zybm2vhnrhvk4"; })
107
(fetchNuGet { name = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
···
5
(fetchNuGet { name = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
6
(fetchNuGet { name = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
7
(fetchNuGet { name = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; })
8
+
(fetchNuGet { name = "FFmpeg.AutoGen"; version = "4.4.1"; sha256 = "01j989g68arm2d8abq44hp0f22pp6azf2xi7wi7hv7m4sl0l9cwp"; })
9
(fetchNuGet { name = "GdkSharp"; version = "3.22.25.128"; sha256 = "0bmn0ddaw8797pnhpyl03h2zl8i5ha67yv38gly4ydy50az2xhj7"; })
10
(fetchNuGet { name = "GioSharp"; version = "3.22.25.128"; sha256 = "0syfa1f2hg7wsxln5lh86n8m1lihhprc51b6km91gkl25l5hw5bv"; })
11
(fetchNuGet { name = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; })
···
102
(fetchNuGet { name = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
103
(fetchNuGet { name = "Ryujinx.Audio.OpenAL.Dependencies"; version = "1.21.0.1"; sha256 = "0z5k42h252nr60d02p2ww9190d7k1kzrb26vil4ydfhxqqqv6w9l"; })
104
(fetchNuGet { name = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build7"; sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m"; })
105
+
(fetchNuGet { name = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build9"; sha256 = "121zmh0byi22qsc9b25wv58kwcq6pmk7zf4f2rfafmdjvwx8bkxc"; })
106
(fetchNuGet { name = "Ryujinx.SDL2-CS"; version = "2.0.17-build18"; sha256 = "0j0vs6075c4fniydqxhpp18pg3x679mq463x4gxqgkri3vhpj4vl"; })
107
(fetchNuGet { name = "SharpZipLib"; version = "1.3.0"; sha256 = "1pizj82wisch28nfdaszwqm9bz19lnl0s5mq8c0zybm2vhnrhvk4"; })
108
(fetchNuGet { name = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
+2
-15
pkgs/misc/emulators/ryujinx/updater.sh
···
31
chmod -R +w "$src"
32
pushd "$src"
33
34
-
# Setup empty nuget package folder to force reinstall.
35
-
mkdir ./nuget_tmp.packages
36
-
cat >./nuget_tmp.config <<EOF
37
-
<?xml version="1.0" encoding="utf-8"?>
38
-
<configuration>
39
-
<packageSources>
40
-
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
41
-
</packageSources>
42
-
<config>
43
-
<add key="globalPackagesFolder" value="$(realpath ./nuget_tmp.packages)" />
44
-
</config>
45
-
</configuration>
46
-
EOF
47
-
48
-
dotnet restore Ryujinx.sln --configfile ./nuget_tmp.config
49
50
nuget-to-nix ./nuget_tmp.packages > "$deps_file"
51
···
31
chmod -R +w "$src"
32
pushd "$src"
33
34
+
mkdir nuget_tmp.packages
35
+
dotnet restore Ryujinx.sln --packages nuget_tmp.packages
0
0
0
0
0
0
0
0
0
0
0
0
0
36
37
nuget-to-nix ./nuget_tmp.packages > "$deps_file"
38