about summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2024-06-22 00:38:10 +0300
committerGitHub <noreply@github.com>2024-06-22 00:38:10 +0300
commit637319bb0ff5210bc18f41586e737519706df703 (patch)
treeb236a427923d3d98b0bc1c2befcfdaea9f19be59 /pkgs/games
parentb8e96da1a661695ad4668b06309e98a811882973 (diff)
parentc3424ad0257b98172c8daebc3465c1f01d802e73 (diff)
Merge pull request #321409 from eclairevoyant/hmcl
hmcl: fix gtk wrapping
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/hmcl/default.nix73
1 files changed, 41 insertions, 32 deletions
diff --git a/pkgs/games/hmcl/default.nix b/pkgs/games/hmcl/default.nix
index 2ff06a19219d9..3ac7b9a96cdac 100644
--- a/pkgs/games/hmcl/default.nix
+++ b/pkgs/games/hmcl/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, makeBinaryWrapper
 , makeDesktopItem
 , wrapGAppsHook3
 , copyDesktopItems
@@ -15,6 +14,7 @@
 , alsa-lib
 , wayland
 , libpulseaudio
+, gobject-introspection
 }:
 
 let
@@ -49,42 +49,51 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   nativeBuildInputs = [
-    makeBinaryWrapper
+    gobject-introspection
     wrapGAppsHook3
     copyDesktopItems
     imagemagick
   ];
 
-  installPhase =
-    let
-      libpath = lib.makeLibraryPath ([
-        libGL
-        glfw
-        openal
-        libglvnd
-      ] ++ lib.optionals stdenv.isLinux [
-        xorg.libX11
-        xorg.libXxf86vm
-        xorg.libXext
-        xorg.libXcursor
-        xorg.libXrandr
-        xorg.libXtst
-        libpulseaudio
-        wayland
-        alsa-lib
-      ]);
-    in
-    ''
-      runHook preInstall
-      mkdir -p $out/{bin,lib/hmcl}
-      cp $src $out/lib/hmcl/hmcl.jar
-      magick ${icon} hmcl.png
-      install -Dm644 hmcl-1.png $out/share/icons/hicolor/32x32/apps/hmcl.png
-      makeBinaryWrapper ${jre}/bin/java $out/bin/hmcl \
-        --add-flags "-jar $out/lib/hmcl/hmcl.jar" \
-        --set LD_LIBRARY_PATH ${libpath}
-      runHook postInstall
-    '';
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib/hmcl}
+    cp $src $out/lib/hmcl/hmcl.jar
+    magick ${icon} hmcl.png
+    install -Dm644 hmcl-1.png $out/share/icons/hicolor/32x32/apps/hmcl.png
+
+    runHook postInstall
+  '';
+
+    fixupPhase =
+      let
+        libpath = lib.makeLibraryPath ([
+          libGL
+          glfw
+          openal
+          libglvnd
+        ] ++ lib.optionals stdenv.isLinux [
+          xorg.libX11
+          xorg.libXxf86vm
+          xorg.libXext
+          xorg.libXcursor
+          xorg.libXrandr
+          xorg.libXtst
+          libpulseaudio
+          wayland
+          alsa-lib
+        ]);
+      in ''
+        runHook preFixup
+
+        makeBinaryWrapper ${jre}/bin/java $out/bin/hmcl \
+          --add-flags "-jar $out/lib/hmcl/hmcl.jar" \
+          --set LD_LIBRARY_PATH ${libpath} \
+          ''${gappsWrapperArgs[@]}
+
+        runHook postFixup
+      '';
 
   meta = with lib; {
     homepage = "https://hmcl.huangyuhui.net";