1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
{
lib,
stdenv,
symlinkJoin,
modrinth-app-unwrapped,
wrapGAppsHook,
dbus,
flite,
freetype,
glib-networking,
glfw,
gtk3,
jdk8,
jdk17,
jdks ? [jdk8 jdk17],
libappindicator-gtk3,
libGL,
libpulseaudio,
librsvg,
libsoup,
openal,
webkitgtk,
xorg,
...
}: let
final = modrinth-app-unwrapped;
in
symlinkJoin {
name = "modrinth-app-${final.version}";
paths = [final];
nativeBuildInputs = [
wrapGAppsHook
];
buildInputs = lib.optionals stdenv.isLinux [
dbus
freetype
gtk3
libappindicator-gtk3
librsvg
libsoup
webkitgtk
];
preFixup = let
libPath = lib.makeLibraryPath ([
flite
glfw
libGL
libpulseaudio
openal
stdenv.cc.cc.lib
]
++ (with xorg; [
libX11
libXcursor
libXext
libXxf86vm
libXrandr
]));
binPath = lib.makeBinPath (lib.optionals stdenv.isLinux [xorg.xrandr] ++ jdks);
in ''
gappsWrapperArgs+=(
${lib.optionalString stdenv.isLinux "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libPath}"}
${lib.optionalString stdenv.isLinux "--prefix GIO_MODULE_DIR : ${glib-networking}/lib/gio/modules/"}
--prefix PATH : ${binPath}
)
'';
inherit (final) meta;
}
|