commit:     e17dcd37000234ba0ae79246a09d5c09ff33a16e
Author:     Azamat H. Hackimov <azamat.hackimov <AT> gmail <DOT> com>
AuthorDate: Sat Jan  5 18:11:13 2019 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Jan  5 19:43:35 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e17dcd37

games-emulation/dosbox: fix for xorg 1.20 issue

* Added patch for xorg 1.20 issue
(https://sourceforge.net/p/dosbox/code-0/4177/).
* Changed HOMEPAGE

Signed-off-by: Azamat H. Hackimov <azamat.hackimov <AT> gmail.com>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Closes: https://github.com/gentoo/gentoo/pull/10747
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 ...9999.ebuild => dosbox-0.74_p20160629-r3.ebuild} | 33 ++++++++-----------
 games-emulation/dosbox/dosbox-9999.ebuild          |  4 +--
 .../dosbox/files/dosbox-0.74.2_events.patch        | 37 ++++++++++++++++++++++
 3 files changed, 53 insertions(+), 21 deletions(-)

diff --git a/games-emulation/dosbox/dosbox-9999.ebuild 
b/games-emulation/dosbox/dosbox-0.74_p20160629-r3.ebuild
similarity index 65%
copy from games-emulation/dosbox/dosbox-9999.ebuild
copy to games-emulation/dosbox/dosbox-0.74_p20160629-r3.ebuild
index 421603aa2fd..140ff29f6f0 100644
--- a/games-emulation/dosbox/dosbox-9999.ebuild
+++ b/games-emulation/dosbox/dosbox-0.74_p20160629-r3.ebuild
@@ -1,46 +1,41 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
 
 inherit autotools desktop flag-o-matic
 
-GLIDE_PATCH=841e1071597b64ead14dd08c25a03206b2d1d1b6
-SRC_URI="glide? ( 
https://raw.githubusercontent.com/voyageur/openglide/${GLIDE_PATCH}/platform/dosbox/dosbox_glide.diff
 -> dosbox_glide-${GLIDE_PATCH}.diff )"
-
-if [[ ${PV} = 9999 ]]; then
-       ESVN_REPO_URI="https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk";
-       inherit subversion
-else
-       SRC_URI+=" mirror://sourceforge/dosbox/${P}.tar.gz"
-       KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-fi
+PATCH=3989
+GLIDE_PATCH=3722fc563b737d2d7933df6a771651c2154e6f7b
 
 DESCRIPTION="DOS emulator"
-HOMEPAGE="http://dosbox.sourceforge.net/";
+HOMEPAGE="https://www.dosbox.com/";
+SRC_URI="mirror://gentoo/dosbox-code-0-${PATCH}-dosbox-trunk.zip
+       glide? ( 
https://raw.githubusercontent.com/voyageur/openglide/${GLIDE_PATCH}/platform/dosbox/dosbox_glide.diff
 -> dosbox_glide-${GLIDE_PATCH}.diff )"
 
 LICENSE="GPL-2"
 SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
 IUSE="alsa +core-inline debug glide hardened opengl X"
 
-DEPEND="alsa? ( media-libs/alsa-lib )
+RDEPEND="alsa? ( media-libs/alsa-lib )
        glide? ( media-libs/openglide )
        opengl? ( virtual/glu virtual/opengl )
        debug? ( sys-libs/ncurses:0 )
        X? ( x11-libs/libX11 )
        media-libs/libpng:0=
-       media-libs/libsdl[joystick,opengl?,video,X]
+       media-libs/libsdl[joystick,opengl?,video,X?]
        media-libs/sdl-net
        media-libs/sdl-sound
        sys-libs/zlib"
-RDEPEND=${DEPEND}
+DEPEND="${RDEPEND}
+       app-arch/unzip"
 
-if [[ ${PV} = 9999 ]]; then
-       S=${WORKDIR}/${PN}
-fi
+S=${WORKDIR}/${PN}-code-0-${PATCH}-dosbox-trunk
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-0.74-gcc46.patch
+       "${FILESDIR}/${PN}-0.74-gcc46.patch"
+       "${FILESDIR}/${PN}-0.74.2_events.patch"
 )
 
 src_prepare() {

diff --git a/games-emulation/dosbox/dosbox-9999.ebuild 
b/games-emulation/dosbox/dosbox-9999.ebuild
index 421603aa2fd..8c4711e5620 100644
--- a/games-emulation/dosbox/dosbox-9999.ebuild
+++ b/games-emulation/dosbox/dosbox-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -17,7 +17,7 @@ else
 fi
 
 DESCRIPTION="DOS emulator"
-HOMEPAGE="http://dosbox.sourceforge.net/";
+HOMEPAGE="https://www.dosbox.com/";
 
 LICENSE="GPL-2"
 SLOT="0"

diff --git a/games-emulation/dosbox/files/dosbox-0.74.2_events.patch 
b/games-emulation/dosbox/files/dosbox-0.74.2_events.patch
new file mode 100644
index 00000000000..fee09a65a4c
--- /dev/null
+++ b/games-emulation/dosbox/files/dosbox-0.74.2_events.patch
@@ -0,0 +1,37 @@
+Index: src/gui/sdlmain.cpp
+===================================================================
+--- a/src/gui/sdlmain.cpp      (revision 4177)
++++ b/src/gui/sdlmain.cpp      (working copy)
+@@ -1426,6 +1426,12 @@
+ #define DB_POLLSKIP 1
+ #endif
+ 
++#if defined(LINUX)
++#define SDL_XORG_FIX 1
++#else
++#define SDL_XORG_FIX 0
++#endif
++
+ void GFX_Events() {
+       //Don't poll too often. This can be heavy on the OS, especially Macs.
+       //In idle mode 3000-4000 polls are done per second without this check.
+@@ -1449,6 +1455,19 @@
+       }
+ #endif
+       while (SDL_PollEvent(&event)) {
++#if SDL_XORG_FIX
++              // Special code for broken SDL with Xorg 1.20.1, where pairs of 
inputfocus gain and loss events are generated
++              // when locking the mouse in windowed mode.
++              if (event.type == SDL_ACTIVEEVENT && event.active.state == 
SDL_APPINPUTFOCUS && event.active.gain == 0) {
++                      SDL_Event test; //Check if the next event would undo 
this one.
++                      if 
(SDL_PeepEvents(&test,1,SDL_PEEKEVENT,SDL_ACTIVEEVENTMASK) == 1 && 
test.active.state == SDL_APPINPUTFOCUS && test.active.gain == 1) {
++                              // Skip both events.
++                              
SDL_PeepEvents(&test,1,SDL_GETEVENT,SDL_ACTIVEEVENTMASK);
++                              continue;
++                      }
++              }
++#endif
++
+               switch (event.type) {
+               case SDL_ACTIVEEVENT:
+                       if (event.active.state & SDL_APPINPUTFOCUS) {

Reply via email to