summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2012-04-11 05:46:52 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2012-04-11 05:46:52 +0000
commit6b5054fb904a05ad5bc6ece4855b1568aa9aa196 (patch)
tree69df681c4d5edb4ac36ae61677c003ce169f47be /media-libs/libsdl
parentx86 stable, see bug 411499 (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--media-libs/libsdl/files/libsdl-1.2.15-resizing.patch63
-rw-r--r--media-libs/libsdl/libsdl-1.2.15-r1.ebuild145
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 ./
+}