SHA256
1
0
forked from pool/SDL2

Accepting request 646259 from home:alois:branches:games

- Update to version 2.0.9
  * Added a new sensor API, initialized by passing
    SDL_INIT_SENSOR to SDL_Init(), and defined in SDL_sensor.h
  * Added an event SDL_SENSORUPDATE which is sent when a sensor
    is updated
  * Added SDL_GetDisplayOrientation() to return the current
    display orientation
  * Added an event SDL_DISPLAYEVENT which is sent when the
    display orientation changes
  * Added HIDAPI joystick drivers for more consistent support
    for Xbox, PS4 and Nintendo Switch Pro controller support
    across platforms. (Thanks to Valve for contributing the PS4
    and Nintendo Switch Pro controller support)
  * Added support for many other popular game controllers
  * Added SDL_JoystickGetDevicePlayerIndex(),
    SDL_JoystickGetPlayerIndex(), and
    SDL_GameControllerGetPlayerIndex() to get the player index for
    a controller. For XInput controllers this returns the XInput
    index for the controller.
  * Added SDL_GameControllerRumble() and SDL_JoystickRumble()
    which allow simple rumble without using the haptics API
  * Added SDL_GameControllerMappingForDeviceIndex() to get the
    mapping for a controller before it's opened
  * Added the hint SDL_HINT_MOUSE_DOUBLE_CLICK_TIME to control
    the mouse double-click time
  * Added the hint SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS to control
    the mouse double-click radius, in pixels
  * Added SDL_HasColorKey() to return whether a surface has a
    colorkey active
  * Added SDL_HasAVX512F() to return whether the CPU has
    AVX-512F features
  * Added SDL_IsTablet() to return whether the application is
    running on a tablet
  * Added SDL_THREAD_PRIORITY_TIME_CRITICAL for threads that
    must run at the highest priority
  * Added SDL_LinuxSetThreadPriority() to allow adjusting the
    thread priority of native threads using RealtimeKit if
    available.
- Dropped 7babfecee045.patch (merged upstream)

OBS-URL: https://build.opensuse.org/request/show/646259
OBS-URL: https://build.opensuse.org/package/show/games/SDL2?expand=0&rev=84
This commit is contained in:
Jan Engelhardt 2018-11-04 23:49:11 +00:00 committed by Git OBS Bridge
parent 9d09a52361
commit 7e007ae66a
7 changed files with 53 additions and 96 deletions

View File

@ -1,84 +0,0 @@
# HG changeset patch
# User Ryan C. Gordon <icculus@icculus.org>
# Date 1526575846 14400
# Node ID 7babfecee045fac18d95e5936fede534ca54ed24
# Parent 9e46f3dd75fd2e85e0e3ebb8a77329bc74a16e70
dynapi: don't let system loader resolve the initializer to the wrong version.
Fixes problems launching Firewatch on Linux (which statically links SDL but
also dynamically loads a system-wide copy from a plugin shared library) with
a newer SDL build.
diff -r 9e46f3dd75fd -r 7babfecee045 src/dynapi/SDL_dynapi.c
--- a/src/dynapi/SDL_dynapi.c Fri May 11 09:37:00 2018 +0300
+++ b/src/dynapi/SDL_dynapi.c Thu May 17 12:50:46 2018 -0400
@@ -167,15 +167,10 @@
#error Write me.
#endif
-
-
-/* Here's the exported entry point that fills in the jump table. */
-/* Use specific types when an "int" might suffice to keep this sane. */
-typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize);
-extern DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32);
-
-Sint32
-SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize)
+/* we make this a static function so we can call the correct one without the
+ system's dynamic linker resolving to the wrong version of this. */
+static Sint32
+initialize_jumptable(Uint32 apiver, void *table, Uint32 tablesize)
{
SDL_DYNAPI_jump_table *output_jump_table = (SDL_DYNAPI_jump_table *) table;
@@ -202,6 +197,18 @@
}
+/* Here's the exported entry point that fills in the jump table. */
+/* Use specific types when an "int" might suffice to keep this sane. */
+typedef Sint32 (SDLCALL *SDL_DYNAPI_ENTRYFN)(Uint32 apiver, void *table, Uint32 tablesize);
+extern DECLSPEC Sint32 SDLCALL SDL_DYNAPI_entry(Uint32, void *, Uint32);
+
+Sint32
+SDL_DYNAPI_entry(Uint32 apiver, void *table, Uint32 tablesize)
+{
+ return initialize_jumptable(apiver, table, tablesize);
+}
+
+
/* Obviously we can't use SDL_LoadObject() to load SDL. :) */
/* Also obviously, we never close the loaded library. */
#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__)
@@ -260,7 +267,7 @@
SDL_InitDynamicAPILocked(void)
{
const char *libname = SDL_getenv_REAL("SDL_DYNAMIC_API");
- SDL_DYNAPI_ENTRYFN entry = SDL_DYNAPI_entry; /* funcs from here by default. */
+ SDL_DYNAPI_ENTRYFN entry = NULL; /* funcs from here by default. */
if (libname) {
entry = (SDL_DYNAPI_ENTRYFN) get_sdlapi_entry(libname, "SDL_DYNAPI_entry");
@@ -268,16 +275,15 @@
/* !!! FIXME: fail to startup here instead? */
/* !!! FIXME: definitely warn user. */
/* Just fill in the function pointers from this library. */
- entry = SDL_DYNAPI_entry;
}
}
- if (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table)) < 0) {
+ if (!entry || (entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table)) < 0)) {
/* !!! FIXME: fail to startup here instead? */
/* !!! FIXME: definitely warn user. */
/* Just fill in the function pointers from this library. */
- if (entry != SDL_DYNAPI_entry) {
- if (!SDL_DYNAPI_entry(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table))) {
+ if (!entry) {
+ if (!initialize_jumptable(SDL_DYNAPI_VERSION, &jump_table, sizeof (jump_table))) {
/* !!! FIXME: now we're screwed. Should definitely abort now. */
}
}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edc77c57308661d576e843344d8638e025a7818bff73f8fbfab09c3c5fd092ec
size 4909017

Binary file not shown.

3
SDL2-2.0.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1
size 5246942

BIN
SDL2-2.0.9.tar.gz.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,47 @@
-------------------------------------------------------------------
Sun Nov 4 14:10:15 UTC 2018 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 2.0.9
* Added a new sensor API, initialized by passing
SDL_INIT_SENSOR to SDL_Init(), and defined in SDL_sensor.h
* Added an event SDL_SENSORUPDATE which is sent when a sensor
is updated
* Added SDL_GetDisplayOrientation() to return the current
display orientation
* Added an event SDL_DISPLAYEVENT which is sent when the
display orientation changes
* Added HIDAPI joystick drivers for more consistent support
for Xbox, PS4 and Nintendo Switch Pro controller support
across platforms. (Thanks to Valve for contributing the PS4
and Nintendo Switch Pro controller support)
* Added support for many other popular game controllers
* Added SDL_JoystickGetDevicePlayerIndex(),
SDL_JoystickGetPlayerIndex(), and
SDL_GameControllerGetPlayerIndex() to get the player index for
a controller. For XInput controllers this returns the XInput
index for the controller.
* Added SDL_GameControllerRumble() and SDL_JoystickRumble()
which allow simple rumble without using the haptics API
* Added SDL_GameControllerMappingForDeviceIndex() to get the
mapping for a controller before it's opened
* Added the hint SDL_HINT_MOUSE_DOUBLE_CLICK_TIME to control
the mouse double-click time
* Added the hint SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS to control
the mouse double-click radius, in pixels
* Added SDL_HasColorKey() to return whether a surface has a
colorkey active
* Added SDL_HasAVX512F() to return whether the CPU has
AVX-512F features
* Added SDL_IsTablet() to return whether the application is
running on a tablet
* Added SDL_THREAD_PRIORITY_TIME_CRITICAL for threads that
must run at the highest priority
* Added SDL_LinuxSetThreadPriority() to allow adjusting the
thread priority of native threads using RealtimeKit if
available.
- Dropped 7babfecee045.patch (merged upstream)
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Jun 24 22:40:23 UTC 2018 - robert.munteanu@gmail.com Sun Jun 24 22:40:23 UTC 2018 - robert.munteanu@gmail.com

View File

@ -12,18 +12,18 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
Name: SDL2 Name: SDL2
%define lname libSDL2-2_0-0 %define lname libSDL2-2_0-0
Version: 2.0.8 Version: 2.0.9
Release: 0 Release: 0
Summary: Simple DirectMedia Layer Library Summary: Simple DirectMedia Layer Library
License: Zlib License: Zlib
Group: Development/Libraries/X11 Group: Development/Libraries/X11
Url: http://libsdl.org/ URL: http://libsdl.org/
#DL-URL: http://libsdl.org/download-2.0.php #DL-URL: http://libsdl.org/download-2.0.php
Source: http://libsdl.org/release/%name-%version.tar.gz Source: http://libsdl.org/release/%name-%version.tar.gz
@ -32,8 +32,6 @@ Source3: %name.keyring
Source4: baselibs.conf Source4: baselibs.conf
Patch1: sdl2-symvers.patch Patch1: sdl2-symvers.patch
Patch2: SDL2-endian.patch Patch2: SDL2-endian.patch
Patch3: 7babfecee045.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cmake BuildRequires: cmake
BuildRequires: dos2unix BuildRequires: dos2unix
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@ -111,7 +109,7 @@ library.
%prep %prep
%setup -q %setup -q
%patch -P 1 -P 2 -p1 -P 3 %patch -P 1 -P 2 -p1
dos2unix WhatsNew.txt dos2unix WhatsNew.txt
dos2unix TODO.txt dos2unix TODO.txt
dos2unix BUGS.txt dos2unix BUGS.txt
@ -146,12 +144,11 @@ find "%buildroot/%_libdir" -type f -name "*.a" ! -name "libSDL2main.a" -delete
%postun -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig
%files -n %lname %files -n %lname
%defattr(-,root,root) %license COPYING.txt
%doc BUGS.txt COPYING.txt CREDITS.txt README.txt README-SDL.txt %doc BUGS.txt CREDITS.txt README.txt README-SDL.txt
%_libdir/libSDL2-2*.so.* %_libdir/libSDL2-2*.so.*
%files -n libSDL2-devel %files -n libSDL2-devel
%defattr(-,root,root)
%doc TODO.txt WhatsNew.txt %doc TODO.txt WhatsNew.txt
%_bindir/sdl2-config %_bindir/sdl2-config
%_libdir/libSDL2.so %_libdir/libSDL2.so