Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / ballerburg / default.nix
blobb15abdbc4703d700e07b96d61fc03bdc5523b932
1 { lib, stdenv, fetchurl, cmake, SDL, makeDesktopItem, copyDesktopItems
2 , imagemagick }:
4 let
6   icon = fetchurl {
7     url = "https://baller.tuxfamily.org/king.png";
8     sha256 = "1xq2h87s648wjpjl72ds3xnnk2jp8ghbkhjzh2g4hpkq2zdz90hy";
9   };
11 in stdenv.mkDerivation rec {
12   pname = "ballerburg";
13   version = "1.2.0";
15   src = fetchurl {
16     url = "https://download.tuxfamily.org/baller/ballerburg-${version}.tar.gz";
17     sha256 = "sha256-BiX0shPBGA8sshee8rxs41x+mdsrJzBqhpDDic6sYwA=";
18   };
20   nativeBuildInputs = [ cmake copyDesktopItems imagemagick ];
22   buildInputs = [ SDL ];
24   desktopItems = [
25     (makeDesktopItem {
26       name = "Ballerburg";
27       desktopName = "Ballerburg SDL";
28       exec = "_NET_WM_ICON=ballerburg ballerburg";
29       comment = meta.description;
30       icon = "ballerburg";
31       categories = [ "Game" ];
32     })
33   ];
35   postInstall = ''
36     # Generate and install icon files
37     for size in 16 32 48 64 72 96 128 192 512 1024; do
38       mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
39       convert ${icon} -sample "$size"x"$size" \
40         -background white -gravity south -extent "$size"x"$size" \
41         $out/share/icons/hicolor/"$size"x"$size"/apps/ballerburg.png
42     done
43   '';
45   meta = with lib; {
46     description = "Classic cannon combat game";
47     longDescription = ''
48       Two castles, separated by a mountain, try to defeat each other with their cannonballs,
49       either by killing the opponent's king or by weakening the opponent enough so that the king capitulates.'';
50     homepage = "https://baller.tuxfamily.org/";
51     license = licenses.gpl3Plus;
52     maintainers = [ maintainers.j0hax ];
53     platforms = platforms.all;
54   };