SDL: added a bunch of patches from Fedora.

This commit is contained in:
Juan RP 2011-10-26 10:19:43 +02:00
parent 8325de6c01
commit 3cef7fbfe2
14 changed files with 284 additions and 45 deletions

View file

@ -5,7 +5,7 @@ long_desc="${long_desc}
This package contains files for development, headers, static libs, etc."
revision=1
revision=2
Add_dependency run libX11-devel
Add_dependency run libXext-devel
@ -20,6 +20,6 @@ do_install()
mv ${SRCPKGDESTDIR}/usr/bin ${DESTDIR}/usr
mv ${SRCPKGDESTDIR}/usr/include ${DESTDIR}/usr
mv ${SRCPKGDESTDIR}/usr/lib/pkgconfig ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/lib/*.*a ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/lib/*.a ${DESTDIR}/usr/lib
mv ${SRCPKGDESTDIR}/usr/share ${DESTDIR}/usr
}

View file

@ -0,0 +1,22 @@
Makes SDL-1.2 SDL_WM_GrabInput() non-blocking in case of SDL window is not
viewable. Patch provided by <pbonzini@redhat.com>.
See <http://bugzilla.libsdl.org/show_bug.cgi?id=1155>.
--- ./src/video/x11/SDL_x11wm.c 2007-12-31 04:48:13.000000000 +0000
+++ ./src/video/x11/SDL_x11wm.c 2009-01-15 10:27:14.000000000 +0000
@@ -351,13 +351,14 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS,
result = XGrabPointer(SDL_Display, SDL_Window, True, 0,
GrabModeAsync, GrabModeAsync,
SDL_Window, None, CurrentTime);
- if ( result == GrabSuccess ) {
+ if ( result == GrabSuccess || result == GrabNotViewable ) {
break;
}
SDL_Delay(100);
}
if ( result != GrabSuccess ) {
/* Uh, oh, what do we do here? */ ;
+ return(SDL_GRAB_OFF);
}
/* Now grab the keyboard */
XGrabKeyboard(SDL_Display, WMwindow, True,

View file

@ -0,0 +1,11 @@
diff -up SDL-1.2.12/configure.in.disable_yasm SDL-1.2.12/configure.in
--- SDL-1.2.12/configure.in.disable_yasm 2007-08-27 18:24:44.000000000 +0200
+++ SDL-1.2.12/configure.in 2007-08-27 18:25:04.000000000 +0200
@@ -715,7 +715,6 @@ AC_HELP_STRING([--enable-nasm], [use nas
esac
fi
- AC_PATH_PROG(NASM, yasm)
echo "%ifidn __OUTPUT_FORMAT__,elf" > unquoted-sections
echo "section .note.GNU-stack noalloc noexec nowrite progbits" >> unquoted-sections
echo "%endif" >> unquoted-sections

View file

@ -0,0 +1,25 @@
diff -up SDL-1.2.12/sdl-config.in.multilib SDL-1.2.12/sdl-config.in
--- SDL-1.2.12/sdl-config.in.multilib 2007-07-20 07:52:45.000000000 +0200
+++ SDL-1.2.12/sdl-config.in 2007-11-06 17:07:25.000000000 +0100
@@ -3,7 +3,6 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
exec_prefix_set=no
-libdir=@libdir@
@ENABLE_STATIC_FALSE@usage="\
@ENABLE_STATIC_FALSE@Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
@@ -45,11 +44,11 @@ while test $# -gt 0; do
echo -I@includedir@/SDL @SDL_CFLAGS@
;;
@ENABLE_SHARED_TRUE@ --libs)
-@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
+@ENABLE_SHARED_TRUE@ echo @SDL_RLD_FLAGS@ @SDL_LIBS@
@ENABLE_SHARED_TRUE@ ;;
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
-@ENABLE_STATIC_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@
+@ENABLE_STATIC_TRUE@ echo @SDL_RLD_FLAGS@ @SDL_STATIC_LIBS@
@ENABLE_STATIC_TRUE@ ;;
*)
echo "${usage}" 1>&2

View file

@ -0,0 +1,22 @@
# HG changeset patch
# User Sam Lantinga <slouken@libsdl.org>
# Date 1297938710 28800
# Branch SDL-1.2
# Node ID d898ee5431f52dd630e311b325eb5a42c8607a60
# Parent 6bb01861c4c0d28dcea67e04ef723feaaf730d07
Fixed bug #1090 (SDL_BlitCopyOverlap() assumes memcpy() operates in order)
The much more complete fix is in SDL 1.3, but this is a band-aid that will fix the bug for 1.2.
diff -r 6bb01861c4c0 -r d898ee5431f5 src/video/SDL_blit.c
--- a/src/video/SDL_blit.c Wed Feb 16 04:49:07 2011 -0800
+++ b/src/video/SDL_blit.c Thu Feb 17 02:31:50 2011 -0800
@@ -214,7 +214,7 @@
dstskip = w+info->d_skip;
if ( dst < src ) {
while ( h-- ) {
- SDL_memcpy(dst, src, w);
+ SDL_memmove(dst, src, w);
src += srcskip;
dst += dstskip;
}

View file

@ -0,0 +1,22 @@
diff -up SDL-1.2.14/src/audio/SDL_audio.c.audiodriver SDL-1.2.14/src/audio/SDL_audio.c
--- SDL-1.2.14/src/audio/SDL_audio.c.audiodriver 2009-10-13 12:25:35.000000000 +0200
+++ SDL-1.2.14/src/audio/SDL_audio.c 2009-10-26 14:36:26.000000000 +0100
@@ -36,15 +36,15 @@
/* Available audio drivers */
static AudioBootStrap *bootstrap[] = {
-#if SDL_AUDIO_DRIVER_BSD
- &BSD_AUDIO_bootstrap,
-#endif
#if SDL_AUDIO_DRIVER_PULSE
&PULSE_bootstrap,
#endif
#if SDL_AUDIO_DRIVER_ALSA
&ALSA_bootstrap,
#endif
+#if SDL_AUDIO_DRIVER_BSD
+ &BSD_AUDIO_bootstrap,
+#endif
#if SDL_AUDIO_DRIVER_OSS
&DSP_bootstrap,
&DMA_bootstrap,

View file

@ -0,0 +1,22 @@
diff -up SDL-1.2.14/include/SDL_endian.h.byteorder SDL-1.2.14/include/SDL_endian.h
--- SDL-1.2.14/include/SDL_endian.h.byteorder 2009-10-13 01:07:19.000000000 +0200
+++ SDL-1.2.14/include/SDL_endian.h 2009-10-26 14:27:39.000000000 +0100
@@ -39,6 +39,10 @@
/*@}*/
#ifndef SDL_BYTEORDER /* Not defined in SDL_config.h? */
+#ifdef __linux__
+#include <endian.h>
+#define SDL_BYTEORDER __BYTE_ORDER
+#else /* __linux __ */
#if defined(__hppa__) || \
defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \
(defined(__MIPS__) && defined(__MISPEB__)) || \
@@ -48,6 +52,7 @@
#else
#define SDL_BYTEORDER SDL_LIL_ENDIAN
#endif
+#endif /* __linux __ */
#endif /* !SDL_BYTEORDER */

View file

@ -0,0 +1,19 @@
changeset: 4394:42012a6afb5b
branch: SDL-1.2
user: Sam Lantinga <slouken@libsdl.org>
date: Thu Dec 17 14:33:00 2009 +0000
summary: Merged SDL 1.3 revision 5424, fixing a crash in the joystick code on recent kernels.
diff -r 9afe12fb4c41 -r 42012a6afb5b src/joystick/linux/SDL_sysjoystick.c
--- a/src/joystick/linux/SDL_sysjoystick.c Mon Dec 14 22:41:31 2009 +0000
+++ b/src/joystick/linux/SDL_sysjoystick.c Thu Dec 17 14:33:00 2009 +0000
@@ -700,7 +700,7 @@
continue;
}
if ( test_bit(i, absbit) ) {
- int values[5];
+ int values[6];
if ( ioctl(fd, EVIOCGABS(i), values) < 0 )
continue;

View file

@ -0,0 +1,100 @@
From 0d8a1536a20cc834273789ae4251bff226a2a54c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Thu, 24 Feb 2011 15:49:35 +0100
Subject: [PATCH] nasm 2.09 compatibility
nasm-2.09 makes `elf' alias to `elf32', thus __OUTPUT_FORMAT__ macro
becomes `elf32' instead of `elf' (on x86). Unmatched macro value causes
omitting .note.GNU-stack marker and creates ELFs with executable stack.
This is unneeded and attracts security policies like SELinux.
---
configure.in | 4 ++--
src/hermes/mmx_main.asm | 2 +-
src/hermes/mmxp2_32.asm | 2 +-
src/hermes/x86_main.asm | 2 +-
src/hermes/x86p_16.asm | 2 +-
src/hermes/x86p_32.asm | 2 +-
6 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/configure.in b/configure.in
index a7e9b18..04f212b 100644
--- a/configure.in
+++ b/configure.in
@@ -740,12 +740,12 @@ AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes
NASMFLAGS="-f macho"
;;
*)
- NASMFLAGS="-f elf"
+ NASMFLAGS="-f elf32"
;;
esac
fi
- echo "%ifidn __OUTPUT_FORMAT__,elf" > unquoted-sections
+ echo "%ifidn __OUTPUT_FORMAT__,elf32" > unquoted-sections
echo "section .note.GNU-stack noalloc noexec nowrite progbits" >> unquoted-sections
echo "%endif" >> unquoted-sections
CompileNASM unquoted-sections || NASM=""
diff --git a/src/hermes/mmx_main.asm b/src/hermes/mmx_main.asm
index c3886d6..00032b9 100644
--- a/src/hermes/mmx_main.asm
+++ b/src/hermes/mmx_main.asm
@@ -69,6 +69,6 @@ endconvert:
ret
-%ifidn __OUTPUT_FORMAT__,elf
+%ifidn __OUTPUT_FORMAT__,elf32
section .note.GNU-stack noalloc noexec nowrite progbits
%endif
diff --git a/src/hermes/mmxp2_32.asm b/src/hermes/mmxp2_32.asm
index d2d31ec..b7c1eeb 100644
--- a/src/hermes/mmxp2_32.asm
+++ b/src/hermes/mmxp2_32.asm
@@ -400,6 +400,6 @@ _convert_bgr555_cheat:
.L4:
retn
-%ifidn __OUTPUT_FORMAT__,elf
+%ifidn __OUTPUT_FORMAT__,elf32
section .note.GNU-stack noalloc noexec nowrite progbits
%endif
diff --git a/src/hermes/x86_main.asm b/src/hermes/x86_main.asm
index e78bf8f..f7dd3db 100644
--- a/src/hermes/x86_main.asm
+++ b/src/hermes/x86_main.asm
@@ -70,6 +70,6 @@ endconvert:
-%ifidn __OUTPUT_FORMAT__,elf
+%ifidn __OUTPUT_FORMAT__,elf32
section .note.GNU-stack noalloc noexec nowrite progbits
%endif
diff --git a/src/hermes/x86p_16.asm b/src/hermes/x86p_16.asm
index e35c75d..fcb6f5a 100644
--- a/src/hermes/x86p_16.asm
+++ b/src/hermes/x86p_16.asm
@@ -485,6 +485,6 @@ _ConvertX86p16_8RGB332:
.L7 pop ebp
retn
-%ifidn __OUTPUT_FORMAT__,elf
+%ifidn __OUTPUT_FORMAT__,elf32
section .note.GNU-stack noalloc noexec nowrite progbits
%endif
diff --git a/src/hermes/x86p_32.asm b/src/hermes/x86p_32.asm
index 4446c1c..819157f 100644
--- a/src/hermes/x86p_32.asm
+++ b/src/hermes/x86p_32.asm
@@ -1040,6 +1040,6 @@ _ConvertX86p32_8RGB332:
.L4:
retn
-%ifidn __OUTPUT_FORMAT__,elf
+%ifidn __OUTPUT_FORMAT__,elf32
section .note.GNU-stack noalloc noexec nowrite progbits
%endif
--
1.7.4

View file

@ -1,8 +1,14 @@
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 @@
changeset: 4557:4aa31b9207f2
branch: SDL-1.2
parent: 4554:4deaba8b1b42
user: Sam Lantinga <slouken@libsdl.org>
date: Tue Jul 20 00:01:26 2010 -0700
summary: Finally fixed bug 894 without breaking bug 716. Yay! :)
diff -r 4deaba8b1b42 -r 4aa31b9207f2 src/video/x11/SDL_x11events.c
--- a/src/video/x11/SDL_x11events.c Sun Jul 18 11:37:12 2010 -0700
+++ b/src/video/x11/SDL_x11events.c Tue Jul 20 00:01:26 2010 -0700
@@ -441,8 +441,10 @@
if ( xevent.xcrossing.mode == NotifyUngrab )
printf("Mode: NotifyUngrab\n");
#endif
@ -15,3 +21,4 @@ Index: SDL-1.2.14/src/video/x11/SDL_x11events.c
posted = SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS);
} else {
posted = SDL_PrivateMouseMotion(0, 0,

View file

@ -0,0 +1,26 @@
diff -up SDL-1.2.14/src/video/x11/SDL_x11mouse.c~ SDL-1.2.14/src/video/x11/SDL_x11mouse.c
--- SDL-1.2.14/src/video/x11/SDL_x11mouse.c~ 2009-10-13 01:07:15.000000000 +0200
+++ SDL-1.2.14/src/video/x11/SDL_x11mouse.c 2010-06-23 14:16:34.730381512 +0200
@@ -230,6 +230,10 @@ void X11_CheckMouseModeNoLock(_THIS)
char *env_override;
int enable_relative = 1;
+ /* This happens when quiting after an xio error */
+ if ( SDL_Display == NULL )
+ return;
+
/* Allow the user to override the relative mouse mode.
They almost never want to do this, as it seriously affects
applications that rely on continuous relative mouse motion.
diff -up SDL-1.2.14/src/video/x11/SDL_x11wm.c~ SDL-1.2.14/src/video/x11/SDL_x11wm.c
--- SDL-1.2.14/src/video/x11/SDL_x11wm.c~ 2009-10-13 01:07:15.000000000 +0200
+++ SDL-1.2.14/src/video/x11/SDL_x11wm.c 2010-06-23 14:11:55.596629337 +0200
@@ -329,7 +329,7 @@ SDL_GrabMode X11_GrabInputNoLock(_THIS,
{
int result;
- if ( this->screen == NULL ) {
+ if ( this->screen == NULL || SDL_Display == NULL ) {
return(SDL_GRAB_OFF);
}
if ( ! SDL_Window ) {

View file

@ -1,23 +0,0 @@
--- 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;

View file

@ -1,14 +0,0 @@
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;

View file

@ -1,7 +1,7 @@
# Template file for 'SDL'
pkgname=SDL
version=1.2.14
revision=5
revision=7
patch_args="-Np1"
distfiles="http://www.libsdl.org/release/SDL-$version.tar.gz"
build_style=gnu-configure