about summary refs log tree commit diff
path: root/pkgs/by-name/mo/modrinth-app/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/mo/modrinth-app/package.nix')
-rw-r--r--pkgs/by-name/mo/modrinth-app/package.nix70
1 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/by-name/mo/modrinth-app/package.nix b/pkgs/by-name/mo/modrinth-app/package.nix
new file mode 100644
index 0000000000000..23fd1adf19597
--- /dev/null
+++ b/pkgs/by-name/mo/modrinth-app/package.nix
@@ -0,0 +1,70 @@
+{
+  lib,
+  stdenv,
+  symlinkJoin,
+  modrinth-app-unwrapped,
+  wrapGAppsHook3,
+  addOpenGLRunpath,
+  flite,
+  glib,
+  glib-networking,
+  jdk8,
+  jdk17,
+  jdk21,
+  jdks ? [
+    jdk8
+    jdk17
+    jdk21
+  ],
+  libGL,
+  libpulseaudio,
+  udev,
+  xorg,
+}:
+symlinkJoin rec {
+  name = "${pname}-${version}";
+  pname = "modrinth-app";
+  inherit (modrinth-app-unwrapped) version;
+
+  paths = [ modrinth-app-unwrapped ];
+
+  buildInputs = [
+    glib
+    glib-networking
+  ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook3
+  ];
+
+  runtimeDependencies = lib.optionalString stdenv.isLinux (lib.makeLibraryPath [
+    addOpenGLRunpath.driverLink
+    flite # narrator support
+
+    udev # oshi
+
+    # lwjgl
+    libGL
+    libpulseaudio
+    stdenv.cc.cc.lib
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXext
+    xorg.libXxf86vm
+    xorg.libXrandr
+  ]);
+
+  postBuild = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : ${lib.makeSearchPath "bin/java" jdks}
+      ${lib.optionalString stdenv.isLinux ''
+        --prefix PATH : ${lib.makeBinPath [xorg.xrandr]}
+        --set LD_LIBRARY_PATH $runtimeDependencies
+      ''}
+    )
+
+    wrapGAppsHook
+  '';
+
+  inherit (modrinth-app-unwrapped) meta;
+}