about summary refs log tree commit diff
path: root/pkgs/misc/emulators
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2016-05-30 19:39:34 +0000
committerRobin Gloster <mail@glob.in>2016-05-30 19:39:34 +0000
commit2d382f3d981fc9e4a350badb43736c252415d27c (patch)
tree3d5f7a96aa71be52c86f3c243b23424e319cc286 /pkgs/misc/emulators
parent365379857fb561df949fc841e80458e317a1d682 (diff)
parent2661511cdb39bd7612dd5311b46420785fc1eac8 (diff)
downloadnixlib-2d382f3d981fc9e4a350badb43736c252415d27c.tar
nixlib-2d382f3d981fc9e4a350badb43736c252415d27c.tar.gz
nixlib-2d382f3d981fc9e4a350badb43736c252415d27c.tar.bz2
nixlib-2d382f3d981fc9e4a350badb43736c252415d27c.tar.lz
nixlib-2d382f3d981fc9e4a350badb43736c252415d27c.tar.xz
nixlib-2d382f3d981fc9e4a350badb43736c252415d27c.tar.zst
nixlib-2d382f3d981fc9e4a350badb43736c252415d27c.zip
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix2
-rw-r--r--pkgs/misc/emulators/mednaffe/default.nix2
-rw-r--r--pkgs/misc/emulators/pcsx2/default.nix2
-rw-r--r--pkgs/misc/emulators/pcsxr/default.nix87
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix2
6 files changed, 92 insertions, 5 deletions
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index f264b311dadc..749573f474a2 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = ''
     -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include
     -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include
-    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0
     -DCMAKE_BUILD_TYPE=Release
     -DENABLE_LTO=True
   '';
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 2a9d923f3e8e..0eaf08c2b8d4 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = ''
     -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include
     -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include
-    -DGTK2_INCLUDE_DIRS=${gtk2}/include/gtk-2.0
+    -DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0
     -DCMAKE_BUILD_TYPE=Release
     -DENABLE_LTO=True
   '';
diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/misc/emulators/mednaffe/default.nix
index 7777e73d3375..21e75a72d61c 100644
--- a/pkgs/misc/emulators/mednaffe/default.nix
+++ b/pkgs/misc/emulators/mednaffe/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   prePatch = ''
-    substituteInPlace src/mednaffe.c --replace "binpath = NULL" "binpath = \"${mednafen}/bin/mednafen\""
+    substituteInPlace src/mednaffe.c --replace "binpath = NULL" "binpath = g_strdup( \"${mednafen}/bin/mednafen\" )"
   '';
 
   buildInputs = [ pkgconfig gtk2 mednafen ];
diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/misc/emulators/pcsx2/default.nix
index e6a7b9800d31..1b95bca643c7 100644
--- a/pkgs/misc/emulators/pcsx2/default.nix
+++ b/pkgs/misc/emulators/pcsx2/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       -DGLSL_SHADER_DIR="$out/share/pcsx2" \
       -DGTK2_GLIBCONFIG_INCLUDE_DIR='${glib.out}/lib/glib-2.0/include' \
       -DGTK2_GDKCONFIG_INCLUDE_DIR='${gtk2.out}/lib/gtk-2.0/include' \
-      -DGTK2_INCLUDE_DIRS='${gtk2}/include/gtk-2.0' \
+      -DGTK2_INCLUDE_DIRS='${gtk2.dev}/include/gtk-2.0' \
       -DPACKAGE_MODE=TRUE \
       -DPLUGIN_DIR="$out/lib/pcsx2" \
       -DREBUILD_SHADER=TRUE \
diff --git a/pkgs/misc/emulators/pcsxr/default.nix b/pkgs/misc/emulators/pcsxr/default.nix
new file mode 100644
index 000000000000..74b9932ed832
--- /dev/null
+++ b/pkgs/misc/emulators/pcsxr/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchurl, autoreconfHook, intltool, pkgconfig, gtk3, SDL2, xorg
+, gsettings_desktop_schemas, makeWrapper, libcdio, nasm, ffmpeg, file
+, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  name = "pcsxr-${version}";
+  version = "1.9.94";
+
+  # codeplex does not support direct downloading
+  src = fetchurl {
+    url = "mirror://debian/pool/main/p/pcsxr/pcsxr_${version}.orig.tar.xz";
+    sha256 = "0q7nj0z687lmss7sgr93ij6my4dmhkm2nhjvlwx48dn2lxl6ndla";
+  };
+
+  patches = [
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/01_fix-i386-exec-stack.patch?h=debian/1.9.94-2";
+      sha256 = "17497wjxd6b92bj458s2769d9bpp68ydbvmfs9gp51yhnq4zl81x";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/02_disable-ppc-auto-dynarec.patch?h=debian/1.9.94-2";
+      sha256 = "0v8n79z034w6cqdrzhgd9fkdpri42mzvkdjm19x4asz94gg2i2kf";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/03_fix-plugin-dir.patch?h=debian/1.9.94-2";
+      sha256 = "0vkl0mv6whqaz79kvvvlmlmjpynyq4lh352j3bbxcr0vjqffxvsy";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/04_update-homedir-symlinks.patch?h=debian/1.9.94-2";
+      sha256 = "18r6n025ybr8fljfsaqm4ap31wp8838j73lrsffi49fkis60dp4j";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/05_format-security.patch?h=debian/1.9.94-2";
+      sha256 = "03m4kfc9bk5669hf7ji1anild08diliapx634f9cigyxh72jcvni";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/06_warnings.patch?h=debian/1.9.94-2";
+      sha256 = "0iz3g9ihnhisfgrzma9l74y4lhh57na9h41bmiam1millb796g71";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/07_non-linux-ip-addr.patch?h=debian/1.9.94-2";
+      sha256 = "14vb9l0l4nzxcymhjjs4q57nmsncmby9qpdr7c19rly5wavm4k77";
+    })
+    ( fetchpatch {
+      url = "https://anonscm.debian.org/cgit/pkg-games/pcsxr.git/plain/debian/patches/08_reproducible.patch?h=debian/1.9.94-2";
+      sha256 = "1cx9q59drsk9h6l31097lg4aanaj93ysdz5p88pg9c7wvxk1qz06";
+    })
+  ];
+
+  buildInputs = [
+    autoreconfHook intltool pkgconfig gtk3 SDL2 xorg.libXv xorg.libXtst
+    makeWrapper libcdio nasm ffmpeg file
+  ];
+
+  dynarecTarget =
+   if stdenv.isx86_64 then "x86_64"
+   else if stdenv.isi686 then "x86"
+   else "no"; #debian patch 2 says ppc doesn't work
+
+  configureFlags = [
+    "--enable-opengl"
+    "--enable-ccdda"
+    "--enable-libcdio"
+    "--enable-dynarec=${dynarecTarget}"
+  ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/pcsxr" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    mkdir -p "$out/share/doc/${name}"
+    cp README \
+       AUTHORS \
+       doc/keys.txt \
+       doc/tweaks.txt \
+       ChangeLog.df \
+       ChangeLog \
+       "$out/share/doc/${name}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Playstation 1 emulator";
+    homepage = http://pcsxr.codeplex.com/;
+    maintainers = with maintainers; [ rardiol ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
index 0366b9dd22ce..aec498b899e4 100644
--- a/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   configurePhase = ''
     tar xf ${mupen64plus.src}
     APIDIR=$(eval echo `pwd`/mupen64plus*/source/mupen64plus-core/src/api)
-    export CXXFLAGS="-I${libX11}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
+    export CXXFLAGS="-I${libX11.dev}/include/X11 -DLIBDIR=\\\"${mupen64plus}/lib/\\\""
     export LDFLAGS="-lwx_gtk2u_adv-2.9"
     python waf configure --mupenapi=$APIDIR --wxconfig=`type -P wx-config` --prefix=$out
   '';