diff --git a/pkgs/games/ivan/default.nix b/pkgs/games/ivan/default.nix index 0a7474e0f51f..8acab2eed0e8 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 = ''