jetbrains: useFetchCargoVendor (#377020)
[NixPkgs.git] / pkgs / by-name / mo / modrinth-app / package.nix
blob65ea5598cb1aea5982f31be75b332f128c20a766
2   lib,
3   stdenv,
4   addDriverRunpath,
5   alsa-lib,
6   flite,
7   glib-networking,
8   jdk17,
9   jdk21,
10   jdk8,
11   jdks ? [
12     jdk8
13     jdk17
14     jdk21
15   ],
16   libGL,
17   libjack2,
18   libpulseaudio,
19   modrinth-app-unwrapped,
20   pipewire,
21   symlinkJoin,
22   udev,
23   wrapGAppsHook4,
24   xorg,
27 symlinkJoin {
28   pname = "modrinth-app";
29   inherit (modrinth-app-unwrapped) version;
31   paths = [ modrinth-app-unwrapped ];
33   nativeBuildInputs = [ wrapGAppsHook4 ];
35   buildInputs = [ glib-networking ];
37   runtimeDependencies = lib.optionalString stdenv.hostPlatform.isLinux (
38     lib.makeLibraryPath [
39       addDriverRunpath.driverLink
41       # glfw
42       libGL
43       xorg.libX11
44       xorg.libXcursor
45       xorg.libXext
46       xorg.libXrandr
47       xorg.libXxf86vm
49       # lwjgl
50       (lib.getLib stdenv.cc.cc)
52       # narrator support
53       flite
55       # openal
56       alsa-lib
57       libjack2
58       libpulseaudio
59       pipewire
61       # oshi
62       udev
63     ]
64   );
66   postBuild = ''
67     gappsWrapperArgs+=(
68       --prefix PATH : ${lib.makeSearchPath "bin/java" jdks}
69       ${lib.optionalString stdenv.hostPlatform.isLinux ''
70         --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
71         --set LD_LIBRARY_PATH $runtimeDependencies
72       ''}
73     )
75     wrapGAppsHook
76   '';
78   meta = {
79     inherit (modrinth-app-unwrapped.meta)
80       description
81       longDescription
82       homepage
83       license
84       maintainers
85       mainProgram
86       platforms
87       broken
88       ;
89   };