summary refs log tree commit diff
path: root/pkgs/games/ballerburg/default.nix
diff options
context:
space:
mode:
authorJohannes Arnold <johannes.arnold@stud.uni-hannover.de>2021-08-13 18:55:06 +0200
committerJohannes Arnold <johannes.arnold@stud.uni-hannover.de>2021-08-15 15:25:17 +0200
commitb40971db7fc3431661cb8f8238051289ebebc33d (patch)
treef1e36da21bf890c3cc9c35e1d914da72d9116c00 /pkgs/games/ballerburg/default.nix
parente60ece8875b704b2b24271e7f5e5ccb406ce2f3d (diff)
downloadnixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.tar
nixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.tar.gz
nixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.tar.bz2
nixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.tar.lz
nixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.tar.xz
nixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.tar.zst
nixpkgs-b40971db7fc3431661cb8f8238051289ebebc33d.zip
ballerburg: include desktop file and icon
Diffstat (limited to 'pkgs/games/ballerburg/default.nix')
-rw-r--r--pkgs/games/ballerburg/default.nix36
1 files changed, 33 insertions, 3 deletions
diff --git a/pkgs/games/ballerburg/default.nix b/pkgs/games/ballerburg/default.nix
index ceb95059ede..43b274a1282 100644
--- a/pkgs/games/ballerburg/default.nix
+++ b/pkgs/games/ballerburg/default.nix
@@ -1,6 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, SDL }:
+{ lib, stdenv, fetchurl, cmake, SDL, makeDesktopItem, copyDesktopItems
+, imagemagick }:
 
-stdenv.mkDerivation rec {
+let
+
+  icon = fetchurl {
+    url = "https://baller.tuxfamily.org/king.png";
+    sha256 = "1xq2h87s648wjpjl72ds3xnnk2jp8ghbkhjzh2g4hpkq2zdz90hy";
+  };
+
+in stdenv.mkDerivation rec {
   pname = "ballerburg";
   version = "1.2.0";
 
@@ -9,10 +17,32 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-BiX0shPBGA8sshee8rxs41x+mdsrJzBqhpDDic6sYwA=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake copyDesktopItems imagemagick ];
 
   buildInputs = [ SDL ];
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Ballerburg";
+      desktopName = "Ballerburg SDL";
+      type = "Application";
+      exec = "_NET_WM_ICON=ballerburg ballerburg";
+      comment = meta.description;
+      icon = "ballerburg";
+      categories = "Game;";
+    })
+  ];
+
+  postInstall = ''
+    # Generate and install icon files
+    for size in 16 32 48 64 72 96 128 192 512 1024; do
+      mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
+      convert ${icon} -sample "$size"x"$size" \
+        -background white -gravity south -extent "$size"x"$size" \
+        $out/share/icons/hicolor/"$size"x"$size"/apps/ballerburg.png
+    done
+  '';
+
   meta = with lib; {
     description = "Classic cannon combat game";
     longDescription = ''