diff options
author | Michael Sterrett <mr_bones_@gentoo.org> | 2015-05-12 19:56:33 +0000 |
---|---|---|
committer | Michael Sterrett <mr_bones_@gentoo.org> | 2015-05-12 19:56:33 +0000 |
commit | b7ed6e5861c1bad9616dad5b6d1cf44a1e435d9a (patch) | |
tree | 2e766813711a6cd43228f729d0ae7887b4d503ca /media-libs/libsdl | |
parent | punt bundled-libs use flag (bug #513602) (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | media-libs/libsdl/files/libsdl-1.2.15-SDL_EnableUNICODE.patch | 47 | ||||
-rw-r--r-- | media-libs/libsdl/libsdl-1.2.15-r9.ebuild | 143 |
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 ./ +} |