summaryrefslogtreecommitdiff
path: root/games-emulation/vbam
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-11-18 09:38:27 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-11-18 09:38:27 +0000
commit536c3711867ec947c1738f2c4b96f22e4863322d (patch)
tree697733f5cb713908dcf378e13fd15a798a906a91 /games-emulation/vbam
parentf65628136faa35d0c4d3b5e7332275c7b35fcd96 (diff)
gentoo resync : 18.11.2018
Diffstat (limited to 'games-emulation/vbam')
-rw-r--r--games-emulation/vbam/Manifest3
-rw-r--r--games-emulation/vbam/files/vbam-2.1.0-performance_fixup.patch43
-rw-r--r--games-emulation/vbam/vbam-2.1.0.ebuild96
3 files changed, 142 insertions, 0 deletions
diff --git a/games-emulation/vbam/Manifest b/games-emulation/vbam/Manifest
index 56c2716bb884..4e1178ae603d 100644
--- a/games-emulation/vbam/Manifest
+++ b/games-emulation/vbam/Manifest
@@ -1,4 +1,7 @@
+AUX vbam-2.1.0-performance_fixup.patch 1515 BLAKE2B fdc77976e24c1df0bb3be97f709874d768a68b238111281f2ffa0edec205bf0f7de831dd5d96e7ac77a6fa47a02781b2e248cba00d767da42c291bdc0255ffb8 SHA512 1b6cc31d6a7ef66eadc4150bf8c42edc6dbad3f08f2b508e9a62159373b218e130eeeb4afed87d2696a15d4b41775f1348f567d74d6debb3bb665b75949d2aa8
DIST vbam-2.0.2.tar.gz 2959204 BLAKE2B 79b288e59a843d2065eac63e74984bf134d9f5dadbc687da245030ad16b138125baab0fe1fb19acac9c117e30b95e57f1880b43817f75361600fb62efd1d5272 SHA512 9aafb8ef307fbbfbc5ae6dc35bc3042934e25a30069a71949e4c8e777fd862d94ec60c189823f4acdea4cb1338098fa85a55e090fa6023c07368cbb7638dd910
+DIST vbam-2.1.0.tar.gz 2977888 BLAKE2B 48884b10d13cdeddfae1dc5a94a4576ebfd7aab263225650a7d4f7138854da3c8bbffa4a8f08e9da001cd967f0e85a7beb82f86350031264a66bfdd5403d36dd SHA512 e4489c84880a7a70e7e94104ffbbdd805e9f15d5c962c0c13a7470496d2fdad8e21c1ddb161b776eb0b1a0c7583182df5838da5a523ce31dac620aa2a7842321
EBUILD vbam-2.0.2.ebuild 2137 BLAKE2B 765893d09675d51571ec9e701752c9151edb772e8ca576f4276de885b946ba9a28aa7dad858ef2934b2de63131a726c89644ae5ae30b1d774adf049273b11ec9 SHA512 85a98700c08db6d07109a3ca560b5f2df4db6cc2a7832fd50f82891c823e7f2c44863b09b48edeca110055d373b88ea363b7526949ce3469aedea0f4c5fed365
+EBUILD vbam-2.1.0.ebuild 2191 BLAKE2B 5ca4979634d3f9d04f6424b674d94ffe0dc868d831175f29ddc8943d445bd79bf378fad97ee8207ae3b65e08db17a7b1660d07e61e02eb3fab6f78ddeb535240 SHA512 a64571b4c5f9d03922a14b283ecb73bf59f03082abe12ba8427d159864fecac5b4c045ff107f5acc163473333655dd56318a9597115cece0a48a88f8e76e1bba
EBUILD vbam-9999.ebuild 2137 BLAKE2B 765893d09675d51571ec9e701752c9151edb772e8ca576f4276de885b946ba9a28aa7dad858ef2934b2de63131a726c89644ae5ae30b1d774adf049273b11ec9 SHA512 85a98700c08db6d07109a3ca560b5f2df4db6cc2a7832fd50f82891c823e7f2c44863b09b48edeca110055d373b88ea363b7526949ce3469aedea0f4c5fed365
MISC metadata.xml 479 BLAKE2B e5a7706e8db6c8c05cf4cf691d294c4bd54f3cc7aee5af270cce39c2d924cc81cc97a1b3d3612c1cf95d0b4b485181717d0f0daeef11a21b0c7ce0cf4d9eafda SHA512 6bd2212bd5ae35dd11f35322879f067981cac94c0c2d8f0c87e1e67170b5df245bd3616e5bb076d2892453c8b75537ee15aab49134029c0daa31d89d8aedf1d0
diff --git a/games-emulation/vbam/files/vbam-2.1.0-performance_fixup.patch b/games-emulation/vbam/files/vbam-2.1.0-performance_fixup.patch
new file mode 100644
index 000000000000..c99f829bdc08
--- /dev/null
+++ b/games-emulation/vbam/files/vbam-2.1.0-performance_fixup.patch
@@ -0,0 +1,43 @@
+From a8d0508cf299a58b2a659d6017b049db121de8ba Mon Sep 17 00:00:00 2001
+From: Rafael Kitover <rkitover@gmail.com>
+Date: Mon, 2 Jul 2018 18:32:18 -0700
+Subject: [PATCH] use GetWindow()->Refresh() in Wayland only
+
+Some people are reporting stuttering, and @retro-wertz tested both
+DrawArea() and Refresh() on wxgtk3 under xorg and found that the
+Refresh() method produces more stuttering.
+
+Change the compile check for wxgtk2 to a runtime check for wayland, and
+use Refresh() under Wayland only.
+---
+ src/wx/panel.cpp | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/wx/panel.cpp b/src/wx/panel.cpp
+index e4b86301..faaf6e4d 100644
+--- a/src/wx/panel.cpp
++++ b/src/wx/panel.cpp
+@@ -1817,19 +1817,16 @@ void DrawingPanelBase::DrawArea(uint8_t** data)
+ }
+
+ // next, draw the frame (queue a PaintEv) Refresh must be used under
+- // Wayland or nothing is drawn, however it causes high CPU usage with GTK2,
+- // so use the old method in that case
+-#if !defined(__WXGTK__) || defined(__WXGTK3__)
+- GetWindow()->Refresh();
+-#else
+- {
++ // Wayland or nothing is drawn.
++ if (wxGetApp().UsingWayland())
++ GetWindow()->Refresh();
++ else {
+ DrawingPanelBase* panel = wxGetApp().frame->GetPanel()->panel;
+ if (panel) {
+ wxClientDC dc(panel->GetWindow());
+ panel->DrawArea(dc);
+ }
+ }
+-#endif
+
+ // finally, draw on-screen text using wx method, if possible
+ // this method flickers too much right now
diff --git a/games-emulation/vbam/vbam-2.1.0.ebuild b/games-emulation/vbam/vbam-2.1.0.ebuild
new file mode 100644
index 000000000000..3d0c2496b2e0
--- /dev/null
+++ b/games-emulation/vbam/vbam-2.1.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+WX_GTK_VER="3.0-gtk3"
+inherit gnome2-utils wxwidgets xdg-utils cmake-utils
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/visualboyadvance-m/visualboyadvance-m.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/visualboyadvance-m-${PV}"
+fi
+
+DESCRIPTION="Game Boy, GBC, and GBA emulator forked from VisualBoyAdvance"
+HOMEPAGE="https://github.com/visualboyadvance-m/visualboyadvance-m"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="ffmpeg link lirc nls openal +sdl wxwidgets"
+REQUIRED_USE="openal? ( wxwidgets ) || ( sdl wxwidgets )"
+
+RDEPEND="
+ >=media-libs/libpng-1.4:0=
+ media-libs/libsdl2[joystick]
+ link? ( >=media-libs/libsfml-2.0:= )
+ sys-libs/zlib:=
+ virtual/glu
+ virtual/opengl
+ ffmpeg? ( =media-video/ffmpeg-3*:= )
+ lirc? ( app-misc/lirc )
+ nls? ( virtual/libintl )
+ wxwidgets? (
+ openal? ( media-libs/openal )
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )"
+DEPEND="${RDEPEND}
+ app-arch/zip
+ wxwidgets? ( virtual/imagemagick-tools )
+ x86? ( || ( dev-lang/nasm dev-lang/yasm ) )
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${P}-performance_fixup.patch"
+)
+
+src_configure() {
+ use wxwidgets && setup-wxwidgets
+ local mycmakeargs=(
+ -DENABLE_FFMPEG=$(usex ffmpeg)
+ -DENABLE_LINK=$(usex link)
+ -DENABLE_LIRC=$(usex lirc)
+ -DENABLE_NLS=$(usex nls)
+ -DENABLE_OPENAL=$(usex openal)
+ -DENABLE_SDL=$(usex sdl)
+ -DENABLE_WX=$(usex wxwidgets)
+ -DENABLE_ASM_CORE=$(usex x86)
+ -DENABLE_ASM_SCALERS=$(usex x86)
+ -DCMAKE_SKIP_RPATH=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use sdl ; then
+ dodoc doc/ReadMe.SDL.txt
+ doman src/debian/vbam.6
+ fi
+ use wxwidgets && doman src/debian/visualboyadvance-m.6
+}
+
+pkg_preinst() {
+ if use wxwidgets ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ if use wxwidgets ; then
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use wxwidgets ; then
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ fi
+}