about summary refs log tree commit diff
path: root/pkgs/misc/emulators/dosbox/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators/dosbox/default.nix')
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix18
1 files changed, 16 insertions, 2 deletions
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index 2a4c66c43b91..e2bcc9fe26f3 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/misc/emulators/dosbox/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL}:
+{stdenv, fetchurl, SDL, makeDesktopItem}:
 
 stdenv.mkDerivation rec { 
   name = "dosbox-0.72";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ydck7jgvdwnpxakg2y83dmk2dnwx146cgidbmdn7h75y7cxfiqp";
   };
   
-  buildInputs = [SDL];
+  buildInputs = [SDL];    
   
   # Add missing includes in order to fix compilation with glibc 2.9
   patchPhase = ''
@@ -22,6 +22,20 @@ stdenv.mkDerivation rec {
     cat tmp.cpp src/shell/shell_cmds.cpp > src/shell/shell_cmds.cpp.new
     mv src/shell/shell_cmds.cpp.new src/shell/shell_cmds.cpp
   '';
+   
+  desktopItem = makeDesktopItem {
+    name = "dosbox";
+    exec = "dosbox";
+    comment = "x86 emulator with internal DOS";
+    desktopName = "DOSBox";
+    genericName = "DOS emulator";
+    categories = "Application;Emulator;";
+  };
+
+  postInstall = ''
+     ensureDir $out/share/applications
+     cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
 
   meta = {
     homepage = http://www.dosbox.com/;