about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/gkrellm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/gkrellm/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/gkrellm/default.nix26
1 files changed, 22 insertions, 4 deletions
diff --git a/nixpkgs/pkgs/applications/misc/gkrellm/default.nix b/nixpkgs/pkgs/applications/misc/gkrellm/default.nix
index 2cc20b424b1d..aaaab255c763 100644
--- a/nixpkgs/pkgs/applications/misc/gkrellm/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gkrellm/default.nix
@@ -1,5 +1,6 @@
 { lib, fetchurl, stdenv, gettext, pkg-config, glib, gtk2, libX11, libSM, libICE, which
-, IOKit ? null }:
+, IOKit, copyDesktopItems, makeDesktopItem, wrapGAppsHook
+}:
 
 with lib;
 
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "01lccz4fga40isv09j8rjgr0qy10rff9vj042n6gi6gdv4z69q0y";
   };
 
-  nativeBuildInputs = [ pkg-config which ];
+  nativeBuildInputs = [ copyDesktopItems pkg-config which wrapGAppsHook ];
   buildInputs = [gettext glib gtk2 libX11 libSM libICE]
     ++ optionals stdenv.isDarwin [ IOKit ];
 
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
 
   # Makefiles are patched to fix references to `/usr/X11R6' and to add
   # `-lX11' to make sure libX11's store path is in the RPATH.
-  patchPhase = ''
+  postPatch = ''
     echo "patching makefiles..."
     for i in Makefile src/Makefile server/Makefile
     do
@@ -30,6 +31,23 @@ stdenv.mkDerivation rec {
   makeFlags = [ "STRIP=-s" ];
   installFlags = [ "DESTDIR=$(out)" ];
 
+  # This icon is used by the desktop file.
+  postInstall = ''
+    install -Dm444 -T src/icon.xpm $out/share/pixmaps/gkrellm.xpm
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "gkrellm";
+      exec = "gkrellm";
+      icon = "gkrellm";
+      desktopName = "GKrellM";
+      genericName = "System monitor";
+      comment = "The GNU Krell Monitors";
+      categories = "System;Monitor;";
+    })
+  ];
+
   meta = {
     description = "Themeable process stack of system monitors";
     longDescription = ''
@@ -40,7 +58,7 @@ stdenv.mkDerivation rec {
 
     homepage = "http://gkrellm.srcbox.net";
     license = licenses.gpl3Plus;
-    maintainers = [ ];
+    maintainers = with maintainers; [ khumba ];
     platforms = platforms.linux;
   };
 }