summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2018-11-06 22:15:48 +0100
committerLars Wendler <polynomial-c@gentoo.org>2018-11-06 22:15:48 +0100
commit2d146a595a2db14073fa48561d3620b4dbdd701f (patch)
tree009037cf55c929aa165f8bdce97fc64d6e01b9b2 /games-emulation/vbam
parentx11-plugins/enigmail: Revbump to not auto-download pEp binaries. (diff)
downloadgentoo-2d146a595a2db14073fa48561d3620b4dbdd701f.tar.gz
gentoo-2d146a595a2db14073fa48561d3620b4dbdd701f.tar.bz2
gentoo-2d146a595a2db14073fa48561d3620b4dbdd701f.zip
games-emulation/vbam: Security bump to version 2.1.0
Package-Manager: Portage-2.3.51, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'games-emulation/vbam')
-rw-r--r--games-emulation/vbam/Manifest1
-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, 140 insertions, 0 deletions
diff --git a/games-emulation/vbam/Manifest b/games-emulation/vbam/Manifest
index 6376ae4ae7da..03eb7c47000a 100644
--- a/games-emulation/vbam/Manifest
+++ b/games-emulation/vbam/Manifest
@@ -1 +1,2 @@
DIST vbam-2.0.2.tar.gz 2959204 BLAKE2B 79b288e59a843d2065eac63e74984bf134d9f5dadbc687da245030ad16b138125baab0fe1fb19acac9c117e30b95e57f1880b43817f75361600fb62efd1d5272 SHA512 9aafb8ef307fbbfbc5ae6dc35bc3042934e25a30069a71949e4c8e777fd862d94ec60c189823f4acdea4cb1338098fa85a55e090fa6023c07368cbb7638dd910
+DIST vbam-2.1.0.tar.gz 2977888 BLAKE2B 48884b10d13cdeddfae1dc5a94a4576ebfd7aab263225650a7d4f7138854da3c8bbffa4a8f08e9da001cd967f0e85a7beb82f86350031264a66bfdd5403d36dd SHA512 e4489c84880a7a70e7e94104ffbbdd805e9f15d5c962c0c13a7470496d2fdad8e21c1ddb161b776eb0b1a0c7583182df5838da5a523ce31dac620aa2a7842321
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
+}