games-emulation/yabause: 0.9.15 version bump, EAPI-6, fix Qt 5.11
authorAndreas Sturmlechner <asturm@gentoo.org>
Sun, 15 Jul 2018 19:21:32 +0000 (21:21 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sun, 15 Jul 2018 19:27:55 +0000 (21:27 +0200)
Drop games.eclass.

Make USE=qt5 default per upstream recommendation.

Disabling SH2_DYNAREC due to being broken, see also:
https://github.com/Yabause/yabause/issues/270

Thanks-to: Samuel BAUER <BM-2cTVBXjxdVtEQCycBQjMxszLsgTNVujvM5@bitmessage.ch>
Bug: https://bugs.gentoo.org/582326
Closes: https://bugs.gentoo.org/654674
Closes: https://bugs.gentoo.org/660458
Package-Manager: Portage-2.3.42, Repoman-2.3.9

games-emulation/yabause/Manifest
games-emulation/yabause/files/yabause-0.9.15-RWX.patch [new file with mode: 0644]
games-emulation/yabause/files/yabause-0.9.15-qt-5.11.patch [new file with mode: 0644]
games-emulation/yabause/yabause-0.9.15.ebuild [new file with mode: 0644]

index 1b5ca29e872dc86b937726828c7e153879ea1017..8ed7ece13ec2d8875bf6ca76430520508a792f66 100644 (file)
@@ -1 +1,2 @@
 DIST yabause-0.9.14.tar.gz 1662762 BLAKE2B 83f3bcdf8d513a87ed596171cfc1768cdb1cd2f3329766b92ef2e94f176fbafe16ac4970c5515e5d12537b20bd6473b209b1ec6090a07d6d1521b7d2094957ed SHA512 8b14d9146cf12d104fcf43369cd949f1f47e7891a54241914f6141facf871bcc158f4e80a8c5b61fdeefe6f1b8d425ff301ba653df134a030c323c9e3ccf3a58
+DIST yabause-0.9.15.tar.gz 2481650 BLAKE2B c211f4372c1cb3c8dc757d60b2106898a637c6852c19856d3cb619fed4a04788d70c132ff78be4382e67c7ce368b8939c039d057c4597e27e4349c7caa01950d SHA512 f7e992e3326e68aca1c0ce6dd0d382eea00cd3e47492c045d17526909356198448c533b00568af3ab311307e6b3d47a28708a8c0ff74e5b6c98d62da8c01a3c7
diff --git a/games-emulation/yabause/files/yabause-0.9.15-RWX.patch b/games-emulation/yabause/files/yabause-0.9.15-RWX.patch
new file mode 100644 (file)
index 0000000..e08a8a7
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/src/sh2_dynarec/linkage_x64.s
++++ b/src/sh2_dynarec/linkage_x64.s
+@@ -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
++++ b/src/sh2_dynarec/linkage_x86.s
+@@ -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/games-emulation/yabause/files/yabause-0.9.15-qt-5.11.patch b/games-emulation/yabause/files/yabause-0.9.15-qt-5.11.patch
new file mode 100644 (file)
index 0000000..3f45284
--- /dev/null
@@ -0,0 +1,65 @@
+From 06a816c032c6f7fd79ced6e594dd4b33571a0e73 Mon Sep 17 00:00:00 2001
+From: Guillaume Duhamel <guillaume.duhamel@gmail.com>
+Date: Fri, 6 Jul 2018 08:08:22 +0200
+Subject: [PATCH] Fix qt 5.11 (#422)
+
+Header fixes for Qt 5.11
+---
+ yabause/src/qt/ui/UICheatRaw.cpp | 2 --
+ yabause/src/qt/ui/UICheatRaw.h   | 2 +-
+ yabause/src/qt/ui/UICheats.cpp   | 2 ++
+ yabause/src/qt/ui/UIHexInput.h   | 2 ++
+ 4 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/qt/ui/UICheatRaw.cpp b/src/qt/ui/UICheatRaw.cpp
+index 4ad82d770..3f78486bf 100755
+--- a/src/qt/ui/UICheatRaw.cpp
++++ b/src/qt/ui/UICheatRaw.cpp
+@@ -20,8 +20,6 @@
+ #include "UIHexInput.h"\r
+ #include "../QtYabause.h"\r
\r
+-#include <QButtonGroup>\r
+-\r
+ UICheatRaw::UICheatRaw( QWidget* p )\r
+       : QDialog( p )\r
+ {\r
+diff --git a/src/qt/ui/UICheatRaw.h b/src/qt/ui/UICheatRaw.h
+index d97b429da..20318c670 100755
+--- a/src/qt/ui/UICheatRaw.h
++++ b/src/qt/ui/UICheatRaw.h
+@@ -21,7 +21,7 @@
\r
+ #include "ui_UICheatRaw.h"\r
\r
+-class QButtonGroup;\r
++#include <QButtonGroup>\r
\r
+ class UICheatRaw : public QDialog, public Ui::UICheatRaw\r
+ {\r
+diff --git a/src/qt/ui/UICheats.cpp b/src/qt/ui/UICheats.cpp
+index c60279723..44d341c34 100755
+--- a/src/qt/ui/UICheats.cpp
++++ b/src/qt/ui/UICheats.cpp
+@@ -21,6 +21,8 @@
+ #include "UICheatRaw.h"
+ #include "../CommonDialogs.h"
++#include <QButtonGroup>
++
+ UICheats::UICheats( QWidget* p )
+       : QDialog( p )
+ {
+diff --git a/src/qt/ui/UIHexInput.h b/src/qt/ui/UIHexInput.h
+index f333b0166..4bd8aed48 100644
+--- a/src/qt/ui/UIHexInput.h
++++ b/src/qt/ui/UIHexInput.h
+@@ -22,6 +22,8 @@
+ #include "ui_UIHexInput.h"\r
+ #include "../QtYabause.h"\r
\r
++#include <QValidator>\r
++\r
+ class HexValidator : public QValidator\r
+ {\r
+    Q_OBJECT\r
diff --git a/games-emulation/yabause/yabause-0.9.15.ebuild b/games-emulation/yabause/yabause-0.9.15.ebuild
new file mode 100644 (file)
index 0000000..b0f88a4
--- /dev/null
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A Sega Saturn emulator"
+HOMEPAGE="https://yabause.org/"
+SRC_URI="https://download.tuxfamily.org/${PN}/releases/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="openal opengl +qt5 sdl"
+
+# Qt5 is the recommended UI and 0.9.15 the last release w/ GTK+
+RDEPEND="
+       sys-libs/zlib:=
+       x11-libs/libXrandr
+       x11-libs/libX11
+       openal? ( media-libs/openal )
+       opengl? (
+               media-libs/freeglut
+               virtual/glu
+               virtual/opengl
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtmultimedia:5
+               dev-qt/qtwidgets:5
+               opengl? ( dev-qt/qtopengl:5 )
+       )
+       !qt5? (
+               dev-libs/glib:2
+               x11-libs/gtk+:2
+               x11-libs/gtkglext
+       )
+       sdl? ( media-libs/libsdl2[opengl?,video] )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-RWX.patch
+       "${FILESDIR}"/${P}-qt-5.11.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DYAB_NETWORK=ON
+               -DYAB_USE_CXX=ON
+               -DYAB_USE_SCSP2=OFF # breaks build
+               -DYAB_USE_SCSPMIDI=ON
+               -DYAB_USE_SSF=ON
+               -DSH2_DYNAREC=OFF # bug 582326
+               -DYAB_OPTIMIZATION=""
+               -DYAB_WANT_MPEG=OFF
+               -DYAB_WANT_SDL=$(usex sdl)
+               -DYAB_WANT_OPENAL=$(usex openal)
+               -DYAB_WANT_OPENGL=$(usex opengl)
+               -DYAB_PORTS=$(usex qt5 "qt" "gtk")
+       )
+       cmake-utils_src_configure
+}