summaryrefslogtreecommitdiff
path: root/libre/sdl-libre
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-05-12 00:03:34 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-05-12 00:03:34 -0300
commitc579f1016d2a4cd154fb7f0528876e9b6c1a18d9 (patch)
tree9f780c8c87f545cfd6e22f84502a9fbf3fd20c53 /libre/sdl-libre
parent7ed6d7bc556b96d62cc514f4a79eefa71e9b3172 (diff)
sdl-libre-1.2.15-6: missing symbol FS#40292 => https://bugs.archlinux.org/task/40292
Diffstat (limited to 'libre/sdl-libre')
-rw-r--r--libre/sdl-libre/PKGBUILD11
-rw-r--r--libre/sdl-libre/X11_KeyToUnicode.patch52
2 files changed, 59 insertions, 4 deletions
diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD
index 21250fa60..18356ed03 100644
--- a/libre/sdl-libre/PKGBUILD
+++ b/libre/sdl-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 198628 2013-10-31 13:07:39Z heftig $
+# $Id: PKGBUILD 212210 2014-05-10 21:41:06Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
@@ -8,7 +8,7 @@
pkgname=sdl-libre
pkgver=1.2.15
-pkgrel=5
+pkgrel=6
pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard, without nonfree riva_mmio.h file"
arch=('i686' 'x86_64')
url="http://www.libsdl.org"
@@ -28,7 +28,8 @@ source=(https://repo.parabolagnulinux.org/other/$pkgname/SDL-libre-${pkgver}.tar
sdl-1.2.14-disable-mmx.patch
fix_joystick_misc_axes.diff
libsdl-1.2.15-resizing.patch
- sdl_x11sym.patch)
+ sdl_x11sym.patch
+ X11_KeyToUnicode.patch)
mkmd5sums=('9d96df8417572a2afb781a7c4c811a85'
'5c665f72b8a2adc97a91f6db6f2da79a')
md5sums=('c6e53ef16fa347ed066c3d68fe93c378'
@@ -36,7 +37,8 @@ md5sums=('c6e53ef16fa347ed066c3d68fe93c378'
'e5c16b7611f62c7cb25f0534eff68852'
'687586a108b597a2a6b73070c1d37e51'
'3dd50347d8856160a9cbd7f80383a1f8'
- '148b285bccee9d21bb96db807363b962')
+ '148b285bccee9d21bb96db807363b962'
+ 'edea272dff4698470877c016d818918d')
mksource() {
cd SDL-$pkgver
@@ -50,6 +52,7 @@ prepare() {
patch -Np1 -i ../fix_joystick_misc_axes.diff
patch -Np1 -i ../libsdl-1.2.15-resizing.patch
patch -Np0 -i ../sdl_x11sym.patch
+ patch -Np1 -i ../X11_KeyToUnicode.patch
}
build() {
diff --git a/libre/sdl-libre/X11_KeyToUnicode.patch b/libre/sdl-libre/X11_KeyToUnicode.patch
new file mode 100644
index 000000000..5f0f325b1
--- /dev/null
+++ b/libre/sdl-libre/X11_KeyToUnicode.patch
@@ -0,0 +1,52 @@
+
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1327258041 18000
+# Node ID 900a0fae90ca65cff55a70a17b9ec39d2ddccbcf
+# Parent 5273dfd19a5e8c5736a0d417bd441f704c5355f8
+Fixed bug 1390 - X11_KeyToUnicode
+
+manuel.montezelo 2012-01-22 08:56:18 PST
+
+We had the following bug report at Debian:
+http://bugs.debian.org/376560
+
+Same one in Ubuntu:
+https://bugs.launchpad.net/ubuntu/+source/libsdl1.2/+bug/66217
+
+We've been including a patch since then (attached) to actually export the
+symbol, since 2006. In the last release the function seems to be there, alive
+and kicking.
+
+It's affecting other people too:
+http://www.garagegames.com/community/forums/viewthread/52287
+
+diff -r 5273dfd19a5e -r 900a0fae90ca src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Sat Jan 21 12:06:51 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Sun Jan 22 13:47:21 2012 -0500
+@@ -1246,8 +1246,11 @@
+ * sequences (dead accents, compose key sequences) will not work since the
+ * state has been irrevocably lost.
+ */
++extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod);
++
+ Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers)
+ {
++ static int warning = 0;
+ struct SDL_VideoDevice *this = current_video;
+ char keybuf[32];
+ int i;
+@@ -1255,6 +1258,12 @@
+ XKeyEvent xkey;
+ Uint16 unicode;
+
++ if ( warning ) {
++ warning = 0;
++ fprintf(stderr, "WARNING: Application is using X11_KeyToUnicode().\n");
++ fprintf(stderr, "This is not an official SDL function, please report this as a bug.\n");
++ }
++
+ if ( !this || !SDL_Display ) {
+ return 0;
+ }
+