diff options
author | 2012-04-11 05:46:52 +0000 | |
---|---|---|
committer | 2012-04-11 05:46:52 +0000 | |
commit | 6b5054fb904a05ad5bc6ece4855b1568aa9aa196 (patch) | |
tree | 69df681c4d5edb4ac36ae61677c003ce169f47be /media-libs/libsdl | |
parent | x86 stable, see bug 411499 (diff) | |
download | gentoo-2-6b5054fb904a05ad5bc6ece4855b1568aa9aa196.tar.gz gentoo-2-6b5054fb904a05ad5bc6ece4855b1568aa9aa196.tar.bz2 gentoo-2-6b5054fb904a05ad5bc6ece4855b1568aa9aa196.zip |
add patch from Debian to work around resizing bug (bug #411539)
(Portage version: 2.1.10.49/cvs/Linux x86_64)
Diffstat (limited to 'media-libs/libsdl')
-rw-r--r-- | media-libs/libsdl/ChangeLog | 8 | ||||
-rw-r--r-- | media-libs/libsdl/files/libsdl-1.2.15-resizing.patch | 63 | ||||
-rw-r--r-- | media-libs/libsdl/libsdl-1.2.15-r1.ebuild | 145 |
3 files changed, 215 insertions, 1 deletions
diff --git a/media-libs/libsdl/ChangeLog b/media-libs/libsdl/ChangeLog index 8ee0fcb191d5..6fe7b1585bb1 100644 --- a/media-libs/libsdl/ChangeLog +++ b/media-libs/libsdl/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-libs/libsdl # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.187 2012/04/01 11:14:15 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.188 2012/04/11 05:46:52 mr_bones_ Exp $ + +*libsdl-1.2.15-r1 (11 Apr 2012) + + 11 Apr 2012; Michael Sterrett <mr_bones_@gentoo.org> + +libsdl-1.2.15-r1.ebuild, +files/libsdl-1.2.15-resizing.patch: + add patch from Debian to work around resizing bug (bug #411539) 01 Apr 2012; Raúl Porcel <armin76@gentoo.org> libsdl-1.2.15.ebuild: alpha/ia64/sh/sparc stable wrt #405217 diff --git a/media-libs/libsdl/files/libsdl-1.2.15-resizing.patch b/media-libs/libsdl/files/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000000..0655a13e137c --- /dev/null +++ b/media-libs/libsdl/files/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell <acaudwell@gmail.com> +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; diff --git a/media-libs/libsdl/libsdl-1.2.15-r1.ebuild b/media-libs/libsdl/libsdl-1.2.15-r1.ebuild new file mode 100644 index 000000000000..0638745daccf --- /dev/null +++ b/media-libs/libsdl/libsdl-1.2.15-r1.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2012 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-r1.ebuild,v 1.1 2012/04/11 05:46:52 mr_bones_ Exp $ + +EAPI=2 +inherit flag-o-matic multilib toolchain-funcs eutils libtool + +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 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~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 directfb ggi svga tslib aalib opengl libcaca +audio +video +joystick custom-cflags pulseaudio ps3 static-libs" + +RDEPEND="audio? ( >=media-libs/audiofile-0.1.9 ) + alsa? ( media-libs/alsa-lib ) + nas? ( + media-libs/nas + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + ) + X? ( + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + x11-libs/libXrandr + ) + directfb? ( >=dev-libs/DirectFB-0.9.19 ) + ggi? ( >=media-libs/libggi-2.0_beta3 ) + svga? ( >=media-libs/svgalib-1.4.2 ) + aalib? ( media-libs/aalib ) + libcaca? ( >=media-libs/libcaca-0.9-r1 ) + opengl? ( virtual/opengl virtual/glu ) + ppc64? ( ps3? ( sys-libs/libspe2 ) ) + tslib? ( x11-libs/tslib ) + pulseaudio? ( media-sound/pulseaudio )" +DEPEND="${RDEPEND} + nas? ( + x11-proto/xextproto + x11-proto/xproto + ) + X? ( + x11-proto/xextproto + x11-proto/xproto + ) + 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." + epause 10 + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${P}-sdl-config.patch \ + "${FILESDIR}"/${P}-resizing.patch + + elibtoolize +} + +src_configure() { + local myconf= + if [[ $(tc-arch) != "x86" ]] ; then + myconf="${myconf} --disable-nasm" + else + myconf="${myconf} --enable-nasm" + fi + use custom-cflags || strip-flags + use audio || myconf="${myconf} --disable-audio" + use video \ + && myconf="${myconf} --enable-video-dummy" \ + || myconf="${myconf} --disable-video" + use joystick || myconf="${myconf} --disable-joystick" + + local directfbconf="--disable-video-directfb" + if use directfb ; then + # since DirectFB can link against SDL and trigger a + # dependency loop, only link against DirectFB if it + # isn't broken #61592 + echo 'int main(){}' > directfb-test.c + $(tc-getCC) directfb-test.c -ldirectfb 2>/dev/null \ + && directfbconf="--enable-video-directfb" \ + || ewarn "Disabling DirectFB since libdirectfb.so is broken" + fi + + myconf="${myconf} ${directfbconf}" + + 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) \ + $(use_enable ggi video-ggi) \ + $(use_enable svga video-svga) \ + $(use_enable aalib video-aalib) \ + $(use_enable libcaca video-caca) \ + $(use_enable opengl video-opengl) \ + $(use_enable ps3 video-ps3) \ + $(use_enable tslib input-tslib) \ + $(use_with X x) \ + $(use_enable static-libs static) \ + --disable-video-x11-xme \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la + dodoc BUGS CREDITS README README-SDL.txt README.HG TODO WhatsNew + dohtml -r ./ +} |