From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- multilib/lib32-sdl/PKGBUILD | 44 ++++++++++++++++++++++ .../sdl-1.2.14-fix-disappearing-cursor.patch | 17 +++++++++ .../lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch | 23 +++++++++++ multilib/lib32-sdl/sdl-1.2.14-joystick-crash.diff | 14 +++++++ 4 files changed, 98 insertions(+) create mode 100644 multilib/lib32-sdl/PKGBUILD create mode 100644 multilib/lib32-sdl/sdl-1.2.14-fix-disappearing-cursor.patch create mode 100644 multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch create mode 100644 multilib/lib32-sdl/sdl-1.2.14-joystick-crash.diff (limited to 'multilib/lib32-sdl') diff --git a/multilib/lib32-sdl/PKGBUILD b/multilib/lib32-sdl/PKGBUILD new file mode 100644 index 000000000..51eda45e5 --- /dev/null +++ b/multilib/lib32-sdl/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 33692 2010-11-27 16:54:21Z heftig $ +# Maintainer: Allan McRae +# Contributor: dorphell + +_pkgbasename=sdl +pkgname=lib32-$_pkgbasename +pkgver=1.2.14 +pkgrel=8 +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit)" +arch=('x86_64') +url="http://www.libsdl.org" +license=('LGPL') +depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename) +makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' gcc-multilib) +options=('!libtool') +source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz + sdl-1.2.14-joystick-crash.diff + sdl-1.2.14-fix-mouse-clicking.patch + sdl-1.2.14-fix-disappearing-cursor.patch) +md5sums=('e52086d1b508fa0b76c52ee30b55bec4' + '9d8890b3817736a5d365f7497f096634' + '04d8c179f125e04bcd4c9d60e013c2d7' + 'a6cf3e71b653aa97d0d8ae6c0a789807') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd ${srcdir}/SDL-${pkgver} + patch -Np1 -i $srcdir/sdl-1.2.14-joystick-crash.diff + patch -Np1 -i $srcdir/sdl-1.2.14-fix-mouse-clicking.patch + patch -Np1 -i $srcdir/sdl-1.2.14-fix-disappearing-cursor.patch + ./configure --prefix=/usr --disable-nasm --enable-alsa \ + --with-x --disable-rpath --libdir=/usr/lib32 + make +} + +package() { + cd ${srcdir}/SDL-${pkgver} + make DESTDIR=${pkgdir} install + + rm -rf "${pkgdir}"/usr/{include,share,bin} +} diff --git a/multilib/lib32-sdl/sdl-1.2.14-fix-disappearing-cursor.patch b/multilib/lib32-sdl/sdl-1.2.14-fix-disappearing-cursor.patch new file mode 100644 index 000000000..fcd3c314d --- /dev/null +++ b/multilib/lib32-sdl/sdl-1.2.14-fix-disappearing-cursor.patch @@ -0,0 +1,17 @@ +Index: SDL-1.2.14/src/video/x11/SDL_x11events.c +=================================================================== +--- SDL-1.2.14.orig/src/video/x11/SDL_x11events.c 2010-04-30 09:16:35.000000000 -0400 ++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-30 09:16:35.000000000 -0400 +@@ -444,8 +444,10 @@ + if ( xevent.xcrossing.mode == NotifyUngrab ) + printf("Mode: NotifyUngrab\n"); + #endif +- if ( xevent.xcrossing.detail != NotifyInferior ) { +- if ( this->input_grab == SDL_GRAB_OFF ) { ++ if ( (xevent.xcrossing.mode != NotifyGrab) && ++ (xevent.xcrossing.mode != NotifyUngrab) && ++ (xevent.xcrossing.detail != NotifyInferior) ) { ++ if ( this->input_grab == SDL_GRAB_OFF ) { + posted = SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS); + } else { + posted = SDL_PrivateMouseMotion(0, 0, diff --git a/multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch b/multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000..7d3e5acfc --- /dev/null +++ b/multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch @@ -0,0 +1,23 @@ +--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 ++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 +@@ -423,12 +423,15 @@ + if ( xevent.xcrossing.mode == NotifyUngrab ) + printf("Mode: NotifyUngrab\n"); + #endif +- if ( this->input_grab == SDL_GRAB_OFF ) { +- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ if ( (xevent.xcrossing.mode != NotifyGrab) && ++ (xevent.xcrossing.mode != NotifyUngrab) ) { ++ if ( this->input_grab == SDL_GRAB_OFF ) { ++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ } ++ posted = SDL_PrivateMouseMotion(0, 0, ++ xevent.xcrossing.x, ++ xevent.xcrossing.y); + } +- posted = SDL_PrivateMouseMotion(0, 0, +- xevent.xcrossing.x, +- xevent.xcrossing.y); + } + break; + diff --git a/multilib/lib32-sdl/sdl-1.2.14-joystick-crash.diff b/multilib/lib32-sdl/sdl-1.2.14-joystick-crash.diff new file mode 100644 index 000000000..949e18b96 --- /dev/null +++ b/multilib/lib32-sdl/sdl-1.2.14-joystick-crash.diff @@ -0,0 +1,14 @@ +Description: Fix crash with joystick detection. +Index: libsdl1.2-1.2.14/src/joystick/linux/SDL_sysjoystick.c +=================================================================== +--- libsdl1.2-1.2.14.orig/src/joystick/linux/SDL_sysjoystick.c 2010-01-12 12:37:36.000000000 -0500 ++++ libsdl1.2-1.2.14/src/joystick/linux/SDL_sysjoystick.c 2010-01-12 12:38:27.000000000 -0500 +@@ -700,7 +700,7 @@ + continue; + } + if ( test_bit(i, absbit) ) { +- int values[5]; ++ int values[6]; + + if ( ioctl(fd, EVIOCGABS(i), values) < 0 ) + continue; -- cgit v1.2.3-54-g00ecf