summaryrefslogtreecommitdiff
path: root/multilib/lib32-sdl
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /multilib/lib32-sdl
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'multilib/lib32-sdl')
-rw-r--r--multilib/lib32-sdl/PKGBUILD44
-rw-r--r--multilib/lib32-sdl/sdl-1.2.14-fix-disappearing-cursor.patch17
-rw-r--r--multilib/lib32-sdl/sdl-1.2.14-fix-mouse-clicking.patch23
-rw-r--r--multilib/lib32-sdl/sdl-1.2.14-joystick-crash.diff14
4 files changed, 98 insertions, 0 deletions
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 <allan@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+_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;