From c7d8597976f71a112781ba5155a0827f016f331d Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sun, 29 Nov 2015 00:33:37 -0200 Subject: [PATCH] Yabause: init at 0.9.14 --- pkgs/misc/emulators/yabause/default.nix | 35 +++++++++++++++++++ .../yabause/linkage-rwx-linux-elf.diff | 20 +++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 3 files changed, 59 insertions(+) create mode 100644 pkgs/misc/emulators/yabause/default.nix create mode 100644 pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.diff 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 034fcc8d0df5..8bf42d4dbe06 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15530,6 +15530,10 @@ let }; }; + yabause = callPackage ../misc/emulators/yabause { + qt = qt4; + }; + yafc = callPackage ../applications/networking/yafc { }; yandex-disk = callPackage ../tools/filesystems/yandex-disk { };