summary refs log tree commit diff
path: root/pkgs/games
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2020-01-08 20:24:40 -0500
committerGitHub <noreply@github.com>2020-01-08 20:24:40 -0500
commitb1e9876a4a1a9adb9d49e4d14b832c38d342e733 (patch)
tree978c085c28319bfc3f91f6d4ba40951748e770e3 /pkgs/games
parenta561896aa7f94c1c7aa377102d8f458b4f2b31ab (diff)
parent59a5aecbafa16b604cd540bb874fe6a35090c731 (diff)
downloadnixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.tar
nixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.tar.gz
nixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.tar.bz2
nixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.tar.lz
nixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.tar.xz
nixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.tar.zst
nixpkgs-b1e9876a4a1a9adb9d49e4d14b832c38d342e733.zip
Merge pull request #76792 from freepotion/ivan-add-desktop-item
ivan: add icon and desktop item
Diffstat (limited to 'pkgs/games')
-rw-r--r--pkgs/games/ivan/default.nix25
1 files changed, 23 insertions, 2 deletions
diff --git a/pkgs/games/ivan/default.nix b/pkgs/games/ivan/default.nix
index 0a7474e0f51..8acab2eed0e 100644
--- a/pkgs/games/ivan/default.nix
+++ b/pkgs/games/ivan/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_mixer, alsaLib, libpng, pcre }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_mixer, alsaLib, libpng
+, pcre, graphicsmagick, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
 
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0mavmwikfsyr5sp65sl8dqknl1yz7c7ds53y1qkma24vsikz3k64";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig graphicsmagick ];
 
   buildInputs = [ SDL2 SDL2_mixer alsaLib libpng pcre ];
 
@@ -24,6 +25,26 @@ stdenv.mkDerivation rec {
   # Help CMake find SDL_mixer.h
   NIX_CFLAGS_COMPILE = "-I${SDL2_mixer}/include/SDL2";
 
+  # Create "ivan.desktop" file
+  ivanDesktop = makeDesktopItem {
+    name = pname;
+    exec = pname;
+    icon = "ivan.png";
+    desktopName = "IVAN";
+    genericName = pname;
+    categories = "Game;AdventureGame;RolePlaying;";
+    comment = meta.description;
+  };
+
+  # Create appropriate directories. Convert "Icon.bmp" to "ivan.png", then copy
+  # it and "ivan.desktop" to these directories.
+  postInstall = ''
+    mkdir -p $out/share/applications
+    mkdir -p $out/share/icons/hicolor/32x32/apps
+    gm convert $src/Graphics/Icon.bmp $out/share/icons/hicolor/32x32/apps/ivan.png
+    cp ${ivanDesktop}/share/applications/* $out/share/applications
+  '';
+
   meta = with stdenv.lib; {
     description = "Graphical roguelike game";
     longDescription = ''