From 992b72241df579171f3d3a34c0338fda89c315aa Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 8 Mar 2023 00:25:30 +0100 Subject: [PATCH] katawa-shoujo: Add desktop file unrpa works again so we can extract the icon from the game assets for it. --- pkgs/games/katawa-shoujo/default.nix | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/pkgs/games/katawa-shoujo/default.nix b/pkgs/games/katawa-shoujo/default.nix index aeee79c5c029..e549fbbcf963 100644 --- a/pkgs/games/katawa-shoujo/default.nix +++ b/pkgs/games/katawa-shoujo/default.nix @@ -2,7 +2,9 @@ , lib , fetchurl , autoPatchelfHook +, copyDesktopItems , freetype +, makeDesktopItem , makeWrapper , libGL , libGLU @@ -21,6 +23,7 @@ , SDL_image , SDL_ttf , undmg +, unrpa , zlib }: @@ -52,6 +55,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook + copyDesktopItems + unrpa ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ makeWrapper undmg @@ -73,6 +78,15 @@ stdenv.mkDerivation rec { libGLU ]; + desktopItems = [(makeDesktopItem rec { + name = "katawa-shoujo"; + desktopName = "Katawa Shoujo"; + comment = meta.description; + exec = name; + icon = name; + categories = [ "Game" ]; + })]; + dontConfigure = true; dontBuild = true; @@ -103,11 +117,15 @@ stdenv.mkDerivation rec { exec \$RENPY_GDB ${libDir}/'Katawa Shoujo' \$RENPY_PYARGS -EO ${dataDir}/'Katawa Shoujo'.py "\$@" EOF - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + '' + (if stdenv.hostPlatform.isDarwin then '' # No autoPatchelfHook on Darwin wrapProgram ${bin} \ --prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} - '' + '' + '' else '' + # Extract icon for xdg desktop file + unrpa ${dataDir}/game/data.rpa + install -Dm644 ui/icon.png $out/share/icons/hicolor/512x512/apps/katawa-shoujo.png + '') + '' # Delete binaries for wrong arch, autoPatchelfHook gets confused by them & less to keep in the store find "$(dirname ${libDir})" -mindepth 1 -maxdepth 1 \