summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2015-05-12 19:56:33 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2015-05-12 19:56:33 +0000
commitb7ed6e5861c1bad9616dad5b6d1cf44a1e435d9a (patch)
tree2e766813711a6cd43228f729d0ae7887b4d503ca /media-libs/libsdl
parentpunt bundled-libs use flag (bug #513602) (diff)
downloadgentoo-2-b7ed6e5861c1bad9616dad5b6d1cf44a1e435d9a.tar.gz
gentoo-2-b7ed6e5861c1bad9616dad5b6d1cf44a1e435d9a.tar.bz2
gentoo-2-b7ed6e5861c1bad9616dad5b6d1cf44a1e435d9a.zip
add backported patch from upstream report by Rafał Mużyło via bug #499180 to fix input in some conditions
(Portage version: 2.2.18/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'media-libs/libsdl')
-rw-r--r--media-libs/libsdl/ChangeLog9
-rw-r--r--media-libs/libsdl/files/libsdl-1.2.15-SDL_EnableUNICODE.patch47
-rw-r--r--media-libs/libsdl/libsdl-1.2.15-r9.ebuild143
3 files changed, 198 insertions, 1 deletions
diff --git a/media-libs/libsdl/ChangeLog b/media-libs/libsdl/ChangeLog
index e89966abb3c4..153285c479fa 100644
--- a/media-libs/libsdl/ChangeLog
+++ b/media-libs/libsdl/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-libs/libsdl
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.238 2015/03/31 20:24:44 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.239 2015/05/12 19:56:33 mr_bones_ Exp $
+
+*libsdl-1.2.15-r9 (12 May 2015)
+
+ 12 May 2015; Michael Sterrett <mr_bones_@gentoo.org>
+ +files/libsdl-1.2.15-SDL_EnableUNICODE.patch, +libsdl-1.2.15-r9.ebuild:
+ add backported patch from upstream report by Rafał Mużyło via bug #499180 to
+ fix input in some conditions
31 Mar 2015; Michael Sterrett <mr_bones_@gentoo.org> metadata.xml:
clean unused ps3 use flag
diff --git a/media-libs/libsdl/files/libsdl-1.2.15-SDL_EnableUNICODE.patch b/media-libs/libsdl/files/libsdl-1.2.15-SDL_EnableUNICODE.patch
new file mode 100644
index 000000000000..bf68b2e44f44
--- /dev/null
+++ b/media-libs/libsdl/files/libsdl-1.2.15-SDL_EnableUNICODE.patch
@@ -0,0 +1,47 @@
+
+diff -r 22a7f096bb9d -r 0aade9c0203f src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Sun Dec 01 00:00:17 2013 -0500
++++ b/src/video/x11/SDL_x11events.c Thu Apr 17 22:36:14 2014 -0700
+@@ -395,6 +395,8 @@
+ {
+ int posted;
+ XEvent xevent;
++ int orig_event_type;
++ KeyCode orig_keycode;
+
+ SDL_memset(&xevent, '\0', sizeof (XEvent)); /* valgrind fix. --ryan. */
+ XNextEvent(SDL_Display, &xevent);
+@@ -410,9 +412,29 @@
+ #ifdef X_HAVE_UTF8_STRING
+ /* If we are translating with IM, we need to pass all events
+ to XFilterEvent, and discard those filtered events immediately. */
++ orig_event_type = xevent.type;
++ if (orig_event_type == KeyPress || orig_event_type == KeyRelease) {
++ orig_keycode = xevent.xkey.keycode;
++ } else {
++ orig_keycode = 0;
++ }
+ if ( SDL_TranslateUNICODE
+ && SDL_IM != NULL
+ && XFilterEvent(&xevent, None) ) {
++ if (orig_keycode) {
++ SDL_keysym keysym;
++ static XComposeStatus state;
++ char keybuf[32];
++
++ keysym.scancode = xevent.xkey.keycode;
++ keysym.sym = X11_TranslateKeycode(SDL_Display, xevent.xkey.keycode);
++ keysym.mod = KMOD_NONE;
++ keysym.unicode = 0;
++ if (orig_event_type == KeyPress && XLookupString(&xevent.xkey, keybuf, sizeof(keybuf), NULL, &state))
++ keysym.unicode = (Uint8)keybuf[0];
++
++ SDL_PrivateKeyboard(orig_event_type == KeyPress ? SDL_PRESSED : SDL_RELEASED, &keysym);
++ }
+ return 0;
+ }
+ #endif
+
+
+
+
diff --git a/media-libs/libsdl/libsdl-1.2.15-r9.ebuild b/media-libs/libsdl/libsdl-1.2.15-r9.ebuild
new file mode 100644
index 000000000000..e782a36de9e6
--- /dev/null
+++ b/media-libs/libsdl/libsdl-1.2.15-r9.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.15-r9.ebuild,v 1.1 2015/05/12 19:56:33 mr_bones_ Exp $
+
+EAPI=5
+inherit autotools flag-o-matic multilib toolchain-funcs eutils multilib-minimal
+
+DESCRIPTION="Simple Direct Media Layer"
+HOMEPAGE="http://www.libsdl.org/"
+SRC_URI="http://www.libsdl.org/release/SDL-${PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+# WARNING:
+# If you turn on the custom-cflags use flag in USE and something breaks,
+# you pick up the pieces. Be prepared for bug reports to be marked INVALID.
+IUSE="oss alsa nas X dga xv xinerama fbcon tslib aalib opengl libcaca +sound +video +joystick custom-cflags pulseaudio static-libs"
+
+RDEPEND="
+ abi_x86_32? (
+ !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
+ !<=app-emulation/emul-linux-x86-sdl-20140406
+ )
+ sound? ( >=media-libs/audiofile-0.3.5[${MULTILIB_USEDEP}] )
+ alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] )
+ nas? (
+ >=media-libs/nas-1.9.4[${MULTILIB_USEDEP}]
+ >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ )
+ X? (
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}]
+ )
+ aalib? ( >=media-libs/aalib-1.4_rc5-r6[${MULTILIB_USEDEP}] )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] )
+ opengl? (
+ >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
+ >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}]
+ )
+ tslib? ( >=x11-libs/tslib-1.0-r3[${MULTILIB_USEDEP}] )
+ pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ nas? (
+ >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}]
+ >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}]
+ )
+ X? (
+ >=x11-proto/xextproto-7.2.1-r1[${MULTILIB_USEDEP}]
+ >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}]
+ )
+ x86? ( || ( >=dev-lang/yasm-0.6.0 >=dev-lang/nasm-0.98.39-r3 ) )"
+
+S=${WORKDIR}/SDL-${PV}
+
+pkg_setup() {
+ if use custom-cflags ; then
+ ewarn "Since you've chosen to use possibly unsafe CFLAGS,"
+ ewarn "don't bother filing libsdl-related bugs until trying to remerge"
+ ewarn "libsdl without the custom-cflags use flag in USE."
+ fi
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-sdl-config.patch \
+ "${FILESDIR}"/${P}-resizing.patch \
+ "${FILESDIR}"/${P}-joystick.patch \
+ "${FILESDIR}"/${P}-bsd-joystick.patch \
+ "${FILESDIR}"/${P}-gamma.patch \
+ "${FILESDIR}"/${P}-const-xdata32.patch \
+ "${FILESDIR}"/${P}-caca.patch \
+ "${FILESDIR}"/${P}-SDL_EnableUNICODE.patch
+ AT_M4DIR="/usr/share/aclocal acinclude" eautoreconf
+}
+
+multilib_src_configure() {
+ local myconf=
+ if use !x86 ; then
+ myconf="${myconf} --disable-nasm"
+ else
+ myconf="${myconf} --enable-nasm"
+ fi
+ use custom-cflags || strip-flags
+ use sound || myconf="${myconf} --disable-audio"
+ use video \
+ && myconf="${myconf} --enable-video-dummy" \
+ || myconf="${myconf} --disable-video"
+ use joystick || myconf="${myconf} --disable-joystick"
+
+ ECONF_SOURCE="${S}" econf \
+ --disable-rpath \
+ --disable-arts \
+ --disable-esd \
+ --enable-events \
+ --enable-cdrom \
+ --enable-threads \
+ --enable-timers \
+ --enable-file \
+ --enable-cpuinfo \
+ --disable-alsa-shared \
+ --disable-esd-shared \
+ --disable-pulseaudio-shared \
+ --disable-arts-shared \
+ --disable-nas-shared \
+ --disable-osmesa-shared \
+ $(use_enable oss) \
+ $(use_enable alsa) \
+ $(use_enable pulseaudio) \
+ $(use_enable nas) \
+ $(use_enable X video-x11) \
+ $(use_enable dga) \
+ $(use_enable xv video-x11-xv) \
+ $(use_enable xinerama video-x11-xinerama) \
+ $(use_enable X video-x11-xrandr) \
+ $(use_enable dga video-dga) \
+ $(use_enable fbcon video-fbcon) \
+ --disable-video-ggi \
+ --disable-video-svga \
+ $(use_enable aalib video-aalib) \
+ $(use_enable libcaca video-caca) \
+ $(use_enable opengl video-opengl) \
+ --disable-video-ps3 \
+ $(use_enable tslib input-tslib) \
+ $(use_with X x) \
+ $(use_enable static-libs static) \
+ --disable-video-x11-xme \
+ --disable-video-directfb \
+ ${myconf}
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ use static-libs || prune_libtool_files --all
+ dodoc BUGS CREDITS README README-SDL.txt README.HG TODO WhatsNew
+ dohtml -r ./
+}