crawl: add .desktop file and use high-res app icon

The crawl source includes .desktop files but currently they are not
installed. This change installs them (with the executable path tweaked
for NixOS compatibility).

Also included in this change is an upstream patch to use the included
high-res app icon instead of the default 32x32 icon. The default icon
is very low res and looks out of place beside other app icons.
This commit is contained in:
Chris Rendle-Short 2019-04-20 12:54:04 +10:00
parent ca40b73fa2
commit 82d31fd263

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
{ stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
, tileMode ? false, enableSound ? tileMode
}:
@ -14,8 +14,13 @@ stdenv.mkDerivation rec {
sha256 = "1d6mip4rvp81839yf2xm63hf34aza5wg4g5z5hi5275j94szaacs";
};
# Patch hard-coded paths in the makefile
patches = [ ./crawl_purify.patch ];
patches = [
./crawl_purify.patch # Patch hard-coded paths
(fetchpatch { # Use a nice high-res app icon
url = "https://github.com/crawl/crawl/commit/2aa1166087e44e6585b26cedf1fe81b3f3ba547f.patch";
sha256 = "1jqrdv4wy18shg1fdabdb421232hg5micphkixcyzxd1lrmvadg0";
})
];
nativeBuildInputs = [ pkgconfig which perl pngcrush advancecomp ];
@ -40,7 +45,13 @@ stdenv.mkDerivation rec {
] ++ lib.optional tileMode "TILES=y"
++ lib.optional enableSound "SOUND=y";
postInstall = lib.optionalString tileMode "mv $out/bin/crawl $out/bin/crawl-tiles";
postInstall = ''
${lib.optionalString tileMode "mv $out/bin/crawl $out/bin/crawl-tiles"}
sed -i 's#/usr/games/##' debian/crawl${lib.optionalString tileMode "-tiles"}.desktop
install -m 444 -D debian/crawl${lib.optionalString tileMode "-tiles"}.desktop \
$out/share/applications/crawl${lib.optionalString tileMode "-tiles"}.desktop
install -m 444 -D dat/tiles/stone_soup_icon-512x512.png $out/share/icons/hicolor/512x512/apps/crawl.png
'';
enableParallelBuilding = true;