about summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
commitab15a62c68bf7bf3b02e3bab00d121cc1426733c (patch)
tree398a82403b04bfa0bae8cadf1c5a64cf83145965 /pkgs/misc/emulators
parentc643ccaa8c91f78b8c89eb87589886b8906d5b38 (diff)
parenta26357eefe017964448b5bb464163646b927a267 (diff)
downloadnixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.gz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.bz2
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.lz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.xz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.zst
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.zip
Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/higan/0001-change-flags.diff9
-rw-r--r--pkgs/misc/emulators/mednaffe/default.nix28
-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
5 files changed, 66 insertions, 10 deletions
diff --git a/pkgs/misc/emulators/higan/0001-change-flags.diff b/pkgs/misc/emulators/higan/0001-change-flags.diff
index 78f4a248c5fd..9d7608b93281 100644
--- a/pkgs/misc/emulators/higan/0001-change-flags.diff
+++ b/pkgs/misc/emulators/higan/0001-change-flags.diff
@@ -11,15 +11,6 @@ diff -rupN higan_v095-source.orig/GNUmakefile higan_v095-source/GNUmakefile
  objects := libco
  
  # profile-guided optimization mode
-@@ -43,7 +44,7 @@ ifeq ($(platform),windows)
- else ifeq ($(platform),macosx)
-   flags += -march=native
- else ifeq ($(platform),linux)
--  flags += -march=native -fopenmp
-+  flags += -fopenmp
-   link += -fopenmp
-   link += -Wl,-export-dynamic
-   link += -lX11 -lXext -ldl
 diff -rupN higan_v095-source.orig/icarus/GNUmakefile higan_v095-source/icarus/GNUmakefile
 --- higan_v095-source.orig/icarus/GNUmakefile	2015-11-04 10:28:26.186486119 +0100
 +++ higan_v095-source/icarus/GNUmakefile	2015-11-04 10:28:48.755059317 +0100
diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/misc/emulators/mednaffe/default.nix
new file mode 100644
index 000000000000..7777e73d3375
--- /dev/null
+++ b/pkgs/misc/emulators/mednaffe/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, pkgconfig, gtk2, mednafen }:
+
+stdenv.mkDerivation rec {
+
+  version = "0.8";
+  name = "mednaffe-${version}";
+
+  src = fetchFromGitHub {
+	repo = "mednaffe";
+	owner = "AmatCoder";
+	rev = "v${version}";
+	sha256 = "1j4py4ih14fa6dv0hka03rs4mq19ir83qkbxsz3695a4phmip0jr";
+  };
+
+  prePatch = ''
+    substituteInPlace src/mednaffe.c --replace "binpath = NULL" "binpath = \"${mednafen}/bin/mednafen\""
+  '';
+
+  buildInputs = [ pkgconfig gtk2 mednafen ];
+
+  meta = with stdenv.lib; {
+    description = "A GTK based frontend for mednafen";
+    homepage = https://github.com/AmatCoder/mednaffe;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.sheenobu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index d7af32ec0722..07783d016183 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 bdac2980a39a..87fb854c8448 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 f7e903ef5290..e6eb930695a2 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" \