about summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix12
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix24
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix3
3 files changed, 38 insertions, 1 deletions
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index 332357e317e39..35a55a8933ad0 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -158,6 +158,18 @@ in
     buildPhase = "make";
   };
 
+  mednafen-psx = (mkLibRetroCore rec {
+    core = "mednafen-psx";
+    src = fetchRetro {
+      repo = "beetle-psx-libretro";
+      rev = "20c9b0eb0062b8768cc40aca0e2b2d626f1002a2";
+      sha256 = "1dhql8zy9wv55m1lgvqv412087cqmlw7zwcsmxkl3r4z199dsh3m";
+    };
+    description = "Port of Mednafen's PSX Engine core to libretro";
+  }).override {
+    buildPhase = "make";
+  };
+
   mupen64plus = (mkLibRetroCore rec {
     core = "mupen64plus";
     src = fetchRetro {
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index bdac2980a39a5..87fb854c84488 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,7 +1,21 @@
-{ stdenv, fetchgit, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
+{ stdenv, fetchgit, makeDesktopItem, pkgconfig, ffmpeg, mesa, nvidia_cg_toolkit
 , freetype, libxml2, libv4l, coreutils, python34, which, udev, alsaLib
 , libX11, libXext, libXxf86vm, libXdmcp, SDL, libpulseaudio ? null }:
 
+let
+  desktopItem = makeDesktopItem {
+    name = "retroarch";
+    exec = "retroarch";
+    icon = "retroarch";
+    comment = "Multi-Engine Platform";
+    desktopName = "RetroArch";
+    genericName = "Libretro Frontend";    
+    categories = "Game;Emulator;";
+    #keywords = "multi;engine;emulator;xmb;";
+  };
+  
+in
+
 stdenv.mkDerivation rec {
   name = "retroarch-bare-${version}";
   version = "2015-11-20";
@@ -20,6 +34,14 @@ stdenv.mkDerivation rec {
     sed -e 's#/bin/true#${coreutils}/bin/true#' -i qb/qb.libs.sh
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/icons/hicolor/scalable/apps
+    cp -p -T ./media/retroarch.svg $out/share/icons/hicolor/scalable/apps/retroarch.svg
+
+    mkdir -p "$out/share/applications"
+    cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
index f7e903ef5290d..e6eb930695a2d 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation {
     do
       $(ln -s $coreDir/*.so $out/lib/.)
     done)
+
+    ln -s -t $out ${retroarch}/share
+
     makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
       --suffix-each LD_LIBRARY_PATH ':' "$cores" \
       --add-flags "-L $out/lib/ --menu" \