diff options
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r-- | pkgs/misc/emulators/retroarch/cores.nix | 12 | ||||
-rw-r--r-- | pkgs/misc/emulators/retroarch/default.nix | 24 | ||||
-rw-r--r-- | pkgs/misc/emulators/retroarch/wrapper.nix | 3 |
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" \ |