about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorArseniy Seroka <jagajaga@users.noreply.github.com>2015-11-30 22:55:22 +0300
committerArseniy Seroka <jagajaga@users.noreply.github.com>2015-11-30 22:55:22 +0300
commit56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739 (patch)
tree266362528c0190f38726cb5a0884d3667a84d936 /pkgs
parent0b7fd5f6213ad8c198262891004bcc2a79ac46ef (diff)
parentc7d8597976f71a112781ba5155a0827f016f331d (diff)
downloadnixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.tar
nixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.tar.gz
nixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.tar.bz2
nixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.tar.lz
nixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.tar.xz
nixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.tar.zst
nixlib-56dc9789aa9fdc58e35e1b2c7a3bd1bce3e66739.zip
Merge pull request #11340 from AndersonTorres/yabause
Yabause: init at 0.9.14
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/misc/emulators/yabause/default.nix35
-rw-r--r--pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.diff20
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/misc/emulators/yabause/default.nix
new file mode 100644
index 000000000000..23d91040b125
--- /dev/null
+++ b/pkgs/misc/emulators/yabause/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, config
+, cmake, pkgconfig
+, doxygen
+, qt
+, libXmu, mesa, openal, SDL2, freeglut
+}:
+
+stdenv.mkDerivation rec {
+  name = "yabause-${meta.version}";
+
+  src = fetchurl {
+    url = "http://download.tuxfamily.org/yabause/releases/${meta.version}/${name}.tar.gz";
+    sha256 = "0nkpvnr599g0i2mf19sjvw5m0rrvixdgz2snav4qwvzgfc435rkm";
+  };
+
+  patches = [ ./linkage-rwx-linux-elf.diff ];
+
+  buildInputs =
+  [ cmake pkgconfig doxygen qt libXmu mesa openal SDL2 freeglut ];
+
+  cmakeConfigureFlags = [    
+    "-DYAB_PORTS='qt'"
+    "-DYAB_OPTIMIZED_DMA='ON'"
+    "-DYAB_NETWORK='ON'" ] ;
+
+  meta = with stdenv.lib; {
+    version = "0.9.14";
+    description = "An open-source Sega Saturn emulator";
+    homepage = http://yabause.org/;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
+# TODO: Qt5
diff --git a/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.diff b/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.diff
new file mode 100644
index 000000000000..bb0491b373f8
--- /dev/null
+++ b/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.diff
@@ -0,0 +1,20 @@
+--- a/src/sh2_dynarec/linkage_x64.s	2013-03-11 20:29:53.112870900 +0100
++++ b/src/sh2_dynarec/linkage_x64.s	2013-03-11 20:31:48.856778600 +0100
+@@ -747,3 +747,7 @@ breakpoint:
+ 	ret
+ 	/* Set breakpoint here for debugging */
+ 	.size	breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- a/src/sh2_dynarec/linkage_x86.s	2013-03-11 20:30:08.157693100 +0100
++++ b/src/sh2_dynarec/linkage_x86.s	2013-03-11 20:32:30.993310600 +0100
+@@ -743,3 +743,7 @@ breakpoint:
+ 	ret
+ 	/* Set breakpoint here for debugging */
+ 	.size	breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index dd7e4691f406..5f6eb1fb3e3b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15532,6 +15532,10 @@ let
     };
   };
 
+  yabause = callPackage ../misc/emulators/yabause {
+    qt = qt4;
+  };
+
   yafc = callPackage ../applications/networking/yafc { };
 
   yandex-disk = callPackage ../tools/filesystems/yandex-disk { };