summaryrefslogtreecommitdiff
path: root/pkgs/modrinth-app/wrapper.nix
blob: 419340e9e1487d48a9765cc65e6a6524cb24a928 (plain)
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
{
  lib,
  stdenv,
  symlinkJoin,
  modrinth-app-unwrapped,
  wrapGAppsHook,
  flite,
  glib-networking,
  glfw,
  jdk8,
  jdk17,
  jdks ? [jdk8 jdk17],
  libGL,
  libpulseaudio,
  openal,
  xorg,
}: let
  final = modrinth-app-unwrapped;
in
  symlinkJoin {
    name = "modrinth-app-${final.version}";

    paths = [final];

    nativeBuildInputs = [
      wrapGAppsHook
    ];

    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;
  }