summary refs log tree commit diff
path: root/pkgs/misc/emulators/mgba/default.nix
diff options
context:
space:
mode:
authorOkina Matara <okinan@chiru.no>2018-06-19 02:12:41 -0500
committerOkina Matara <okinan@chiru.no>2018-06-19 02:12:41 -0500
commit933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd (patch)
treef33173cc7fba1df64df55babee6f9b5de07b9ec9 /pkgs/misc/emulators/mgba/default.nix
parent5b09fe1098f47dbf661b4ec21a5b0abef8808794 (diff)
downloadnixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.tar
nixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.tar.gz
nixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.tar.bz2
nixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.tar.lz
nixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.tar.xz
nixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.tar.zst
nixpkgs-933f53eabb0f8b6f78b5b4ac6ae42e23c56335dd.zip
mgba: Add desktop file
Diffstat (limited to 'pkgs/misc/emulators/mgba/default.nix')
-rw-r--r--pkgs/misc/emulators/mgba/default.nix26
1 files changed, 22 insertions, 4 deletions
diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix
index 755e2a2d72b..7fb804d31e4 100644
--- a/pkgs/misc/emulators/mgba/default.nix
+++ b/pkgs/misc/emulators/mgba/default.nix
@@ -1,7 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, cmake, libzip, epoxy, ffmpeg
-, imagemagick, SDL2, qtbase, qtmultimedia, qttools, libedit, minizip }:
+{ stdenv, fetchFromGitHub, fetchpatch, makeDesktopItem, makeWrapper, pkgconfig
+, cmake, epoxy, libzip, ffmpeg, imagemagick, SDL2, qtbase, qtmultimedia, libedit
+, qttools, minizip }:
 
-stdenv.mkDerivation rec {
+let
+  desktopItem = makeDesktopItem {
+    name = "mgba";
+    exec = "mgba-qt";
+    icon = "mgba";
+    comment = "A Game Boy Advance Emulator";
+    desktopName = "mgba";
+    genericName = "Game Boy Advance Emulator";
+    categories = "Game;Emulator;";
+    startupNotify = "false";
+  };
+in stdenv.mkDerivation rec {
   name = "mgba-${version}";
   version = "0.6.3";
 
@@ -13,7 +25,7 @@ stdenv.mkDerivation rec {
   };
 
   enableParallelBuilding = true;
-  nativeBuildInputs = [ pkgconfig cmake ];
+  nativeBuildInputs = [ makeWrapper pkgconfig cmake ];
 
   buildInputs = [
     libzip epoxy ffmpeg imagemagick SDL2 qtbase qtmultimedia libedit minizip
@@ -25,6 +37,12 @@ stdenv.mkDerivation rec {
       sha256 = "0j334v8wf594kg8s1hngmh58wv1pi003z8avy6fjhj5qpjmbbavh";
   })];
 
+  postInstall = ''
+    cp -r ${desktopItem}/share/applications $out/share
+    wrapProgram $out/bin/mgba-qt --suffix QT_PLUGIN_PATH : \
+      ${qtbase.bin}/${qtbase.qtPluginPrefix}
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://mgba.io;
     description = "A modern GBA emulator with a focus on accuracy";