[info=23c0f4611466b257de34f40caa0cf00d77b78e5d61b06097e954881153de21ac]

OBS-URL: https://build.opensuse.org/package/show/games/SDL2?expand=0&rev=198
This commit is contained in:
OBS User unknown 2025-02-11 18:15:20 +00:00 committed by Git OBS Bridge
commit c151c7f442
20 changed files with 1683 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,29 @@
From d35bef64e913dd7d5dd3153a4b61f10ef837dad6 Mon Sep 17 00:00:00 2001
From: Neal Gompa <neal@gompa.dev>
Date: Mon, 10 Feb 2025 05:00:56 -0500
Subject: [PATCH] pipewire: Ensure that the correct struct is used for
enumeration APIs
PipeWire now requires the correct struct type is used, otherwise
it will fail to compile.
Reference: https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/188d920733f0791413d3386e5536ee7377f71b2f
Fixes: https://github.com/libsdl-org/SDL/issues/12224
---
src/audio/pipewire/SDL_pipewire.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/audio/pipewire/SDL_pipewire.c b/src/audio/pipewire/SDL_pipewire.c
index 4e71dd52aa794..dfb5d6cf3eebb 100644
--- a/src/audio/pipewire/SDL_pipewire.c
+++ b/src/audio/pipewire/SDL_pipewire.c
@@ -548,7 +548,7 @@ static void node_event_info(void *object, const struct pw_node_info *info)
/* Need to parse the parameters to get the sample rate */
for (i = 0; i < info->n_params; ++i) {
- pw_node_enum_params(node->proxy, 0, info->params[i].id, 0, 0, NULL);
+ pw_node_enum_params((struct pw_node*)node->proxy, 0, info->params[i].id, 0, 0, NULL);
}
hotplug_core_sync(node);

BIN
SDL2-2.30.11.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

BIN
SDL2-2.30.12.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

BIN
SDL2-2.30.6.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

BIN
SDL2-2.30.7.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

BIN
SDL2-2.32.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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

Binary file not shown.

1059
SDL2.changes Normal file

File diff suppressed because it is too large Load Diff

28
SDL2.keyring Normal file
View File

@ -0,0 +1,28 @@
pub 1024D/A7763BE6 2001-01-05
uid Sam Lantinga <slouken@libsdl.org>
sub 1024g/06F8768C 2001-01-05
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
mQGiBDpWOb0RBADQwd3d9mzt6KzqlsgXf9mikBuMbpKzYs1SBKYpdzUs9sRY0CnH
vCQTrL5sI57yKLnqEl6SbIiE75ZwrSWwvUDFFTh35Jew5nPZwv64en2kw2y4qrnJ
kBZCHDSU4KgfUZtoJ25Tmeru5MLNbXxCOoMszO5L5OchwMrGMtmFLRA/bwCgy5Th
d1/vJo+bej9tbgv++SJ05o0D/3MPK7EBoxWkQ0I+ScqOsvSMRQXWc/hXy4lyIp8e
xJByBApkv0LiiT3KlPpq/K2gTlDlCZ/JTt6Rv8Ug0g47R3a0aoz9kfc15UjHdiap
UOfF9MWmmbw59Lyx6+y2e0/C5xWzNOR1G4G5y4RZL/GXrp67xz/0fEhI85R+eASq
AEfSBAC5ZxwnBwyl+h+PXeJYKrPQjSUlgtSAkKp7PNBywwlue1LcSb7j4cc+cmgH
QMVuM883LPE59btNzFTAZjlzzIMiaXf5h9EkDARTGQ1wFiO3V5vIbVLh4kAoNfpT
egy7bYn3UrlbKg3V2DbCdEXm1zQufZzK7T0yenA5Ps8xXX7mNrQhU2FtIExhbnRp
bmdhIDxzbG91a2VuQGxpYnNkbC5vcmc+iF8EExECABcFAjpWOb0FCwcKAwQDFQMC
AxYCAQIXgAASCRAwpZN3p3Y75gdlR1BHAAEB31EAnjxYj6c496zRYru3fzUiPgl9
JjFZAKCOkxoODf9qHbcdmFi1Mq0dTMP3OLkBDQQ6VjnDEAQA++MHQHlE0CPyEEX8
urvzDmsnX9/lGpZeZ1/ECm4QT/04QVdRJReaz1/8ha/JJ3J/jw+Ti3aHxvyLsXR/
dH61wKnqbQ+3UFI0di6Z+a2idPLkUeqnAFWUSLsjSzmYPeTE76Tw9BsBMcfmyYWe
jPZRNz4zNCNR21PNdSRSCq9/3NMAAwYD/1j+HquGLdhhd4jpKZtepybOxArNpZWE
t7DruzN6OdiwognWNrgx59iW2EJeCYgGuI1+3Ega0EjQ9ybPCmfR6SdE0ro2CmYR
JsYoJaHn0l6IArmF0E97jstIVVy3nNI729CFEPIvOHM8+0Hdd6gpNSQtbEFItt5l
XBwc8gr/AtqXiE4EGBECAAYFAjpWOcMAEgkQMKWTd6d2O+YHZUdQRwABAcZlAJ9z
Xumd1FC6YnvEST9eUQbeitjFhQCfYSvy7PxXgSfXedKsZmHWdka01zY=
=62+H
-----END PGP PUBLIC KEY BLOCK-----

148
SDL2.spec Normal file
View File

@ -0,0 +1,148 @@
#
# spec file for package SDL2
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sle_version 0
Name: SDL2
%define lname libSDL2-2_0-0
Version: 2.32.0
Release: 0
Summary: Simple DirectMedia Layer Library
License: Zlib
Group: Development/Libraries/X11
URL: https://libsdl.org/
#Git-Clone: https://github.com/libsdl-org/SDL
Source: https://libsdl.org/release/%name-%version.tar.gz
Source2: https://libsdl.org/release/%name-%version.tar.gz.sig
Source3: %name.keyring
Source4: baselibs.conf
Patch1: sdl2-symvers.patch
Patch2: 0001-pipewire-Ensure-that-the-correct-struct-is-used-for.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libdecor-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(alsa) >= 1.0.11
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv1_cm)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(ibus-1.0)
BuildRequires: pkgconfig(ice)
# KMS/DRM driver needs libdrm and libgbm
BuildRequires: pkgconfig(gbm) >= 11.1.0
BuildRequires: pkgconfig(libdrm) >= 2.4.82
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.20
BuildRequires: pkgconfig(libpulse-simple) >= 0.9
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(samplerate)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(wayland-client) >= 1.18
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(xxf86vm)
%description
This is the "Simple DirectMedia Layer" library. It provides a generic
API for access to audio, keyboard, mouse, and display framebuffer
across multiple platforms.
%package -n %lname
Summary: Simple DirectMedia Layer Library
Group: System/Libraries
Provides: SDL2 = %version-%release
%description -n %lname
This is the "Simple DirectMedia Layer" library. It provides a generic
API for access to audio, keyboard, mouse, and display framebuffer
across multiple platforms.
SDL2 uses dlopen, so if you experience problems under X11, check
again that libXrandr2 and libXi6 are in fact installed.
%package devel
Summary: SDL2 Library Developer Files
Group: Development/Libraries/X11
Requires: %lname = %version-%release
Requires: c_compiler
Requires: pkgconfig
Requires: pkgconfig(gl)
Requires: pkgconfig(glesv1_cm)
Requires: pkgconfig(glesv2)
Requires: pkgconfig(glu)
Requires: pkgconfig(x11)
Requires: pkgconfig(xproto)
Obsoletes: libSDL2-devel < %version-%release
Provides: libSDL2-devel = %version-%release
%description devel
This package contains files needed for development with the SDL2
library.
%prep
%autosetup -p1
perl -i -pe 's{\r\n}{\n}g' *.txt README.md
%build
%global _lto_cflags %_lto_cflags -ffat-lto-objects
# In this instance, we do want --with-pic because of libSDL2main.a.
%configure --with-pic --disable-alsa-shared --disable-video-directfb \
--enable-video-kmsdrm --enable-video-wayland \
--disable-fcitx \
%ifarch ix86
--enable-sse2=no \
%endif
--enable-sse3=no --disable-rpath --disable-3dnow
%make_build
%install
%make_install
rm -f "%buildroot/%_libdir"/*.la
rm -fv "%buildroot/%_libdir/libSDL2.a"
%ldconfig_scriptlets -n %lname
%files -n %lname
%license LICENSE.txt
%doc README.md README-SDL.txt
%_libdir/libSDL2-2*.so.*
%files devel
%doc WhatsNew.txt
%_bindir/sdl2-config
%_libdir/libSDL2.so
%_includedir/SDL2/
%_datadir/aclocal/sdl2.m4
%_libdir/pkgconfig/sdl2.pc
%_libdir/cmake/SDL2/
%_libdir/libSDL2main.a
%_libdir/libSDL2_test.a
%changelog

4
_scmsync.obsinfo Normal file
View File

@ -0,0 +1,4 @@
mtime: 1739283862
commit: 23c0f4611466b257de34f40caa0cf00d77b78e5d61b06097e954881153de21ac
url: https://src.opensuse.org/jengelh/SDL2
revision: master

7
baselibs.conf Normal file
View File

@ -0,0 +1,7 @@
libSDL2-2_0-0
provides "SDL2-<targettype> = <version>"
SDL2-devel
obsoletes "libSDL2-devel-<targettype>"
provides "libSDL2-devel-<targettype> = <version>"
requires -libSDL2-<targettype>
requires "libSDL2-2_0-0-<targettype> = <version>"

3
build.specials.obscpio Normal file
View File

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

366
sdl2-symvers.patch Normal file
View File

@ -0,0 +1,366 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2018-01-10 23:56:12.245827883 +0100
Should-this-be-upstream: yes
Is-it-upstream: not submitted yet
The SDL project adds new functions over time, but they completely
fail to do the required ABI upkeep - which involves either bumping
the SO number or adding symvers. As a result of their lack of ABI
upkeep, the ELF system has no way to prohibit a too-modern program
being ran against a too-old SDL library, and that leads to bad user
experience, because symbols are resolved lazily and can crash the
program in the middle.
Also note: Leap 15.x has this patch too (in shorter version), so we
need to keep all the individual symvers elements even for games/SDL2.
---
Makefile.in | 2
sdl2.sym | 319 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 320 insertions(+), 1 deletion(-)
Index: SDL2-2.26.0/Makefile.in
===================================================================
--- SDL2-2.26.0.orig/Makefile.in
+++ SDL2-2.26.0/Makefile.in
@@ -136,7 +136,7 @@ LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
-LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
+LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -Wl,--version-script=sdl2.sym
all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
Index: SDL2-2.26.0/sdl2.sym
===================================================================
--- /dev/null
+++ SDL2-2.26.0/sdl2.sym
@@ -0,0 +1,327 @@
+SUSE_2.0.5 {
+global:
+ SDL_DequeueAudio;
+ SDL_GetHintBoolean;
+ SDL_RenderSetIntegerScale;
+ SDL_CreateRGBSurfaceWithFormat;
+ SDL_CreateRGBSurfaceWithFormatFrom;
+ SDL_GetDisplayUsableBounds;
+ SDL_GetWindowBordersSize;
+ SDL_SetWindowResizable;
+ SDL_SetWindowOpacity;
+ SDL_SetWindowModalFor;
+};
+SUSE_2.0.6 {
+global:
+ SDL_Vulkan_LoadLibrary;
+ SDL_Vulkan_GetVkGetInstanceProcAddr;
+ SDL_Vulkan_GetInstanceExtensions;
+ SDL_Vulkan_CreateSurface;
+ SDL_Vulkan_GetDrawableSize;
+ SDL_Vulkan_UnloadLibrary;
+ SDL_ComposeCustomBlendMode;
+ SDL_HasNEON;
+ SDL_JoystickGetDeviceVendor;
+ SDL_JoystickGetDeviceProduct;
+ SDL_JoystickGetDeviceProductVersion;
+ SDL_JoystickGetDeviceType;
+ SDL_JoystickGetDeviceInstanceID;
+ SDL_JoystickGetVendor;
+ SDL_JoystickGetProduct;
+ SDL_JoystickGetProductVersion;
+ SDL_JoystickGetType;
+ SDL_JoystickGetAxisInitialState;
+ SDL_GameControllerGetVendor;
+ SDL_GameControllerGetProduct;
+ SDL_GameControllerGetProductVersion;
+ SDL_GameControllerNumMappings;
+ SDL_GameControllerMappingForIndex;
+ SDL_LoadFile;
+ SDL_LoadFile_RW;
+ SDL_DuplicateSurface;
+} SUSE_2.0.5;
+SUSE_2.0.7 {
+global:
+ SDL_NewAudioStream;
+ SDL_AudioStreamPut;
+ SDL_AudioStreamGet;
+ SDL_AudioStreamAvailable;
+ SDL_AudioStreamFlush;
+ SDL_AudioStreamClear;
+ SDL_FreeAudioStream;
+ SDL_GetMemoryFunctions;
+ SDL_SetMemoryFunctions;
+ SDL_GetNumAllocations;
+ SDL_LockJoystick;
+ SDL_UnlockJoystick;
+ SDL_SetEventFilter;
+ SDL_GetEventFilter;
+ SDL_AddEventWatch;
+ SDL_DelEventWatch;
+} SUSE_2.0.6;
+SUSE_2.0.8 {
+global:
+ SDL_fmod;
+ SDL_log10;
+ SDL_SetYUVConversionMode;
+ SDL_GetYUVConversionMode;
+} SUSE_2.0.7;
+SUSE_2.0.9 {
+global:
+ SDL_CreateThreadWithStackSize;
+ SDL_GameControllerGetPlayerIndex;
+ SDL_GameControllerMappingForDeviceIndex;
+ SDL_GameControllerRumble;
+ SDL_GetDisplayOrientation;
+ SDL_HasAVX512F;
+ SDL_HasColorKey;
+ SDL_IsTablet;
+ SDL_JoystickGetDevicePlayerIndex;
+ SDL_JoystickGetPlayerIndex;
+ SDL_JoystickRumble;
+ SDL_LinuxSetThreadPriority;
+ SDL_NumSensors;
+ SDL_SensorClose;
+ SDL_SensorFromInstanceID;
+ SDL_SensorGetData;
+ SDL_SensorGetDeviceInstanceID;
+ SDL_SensorGetDeviceName;
+ SDL_SensorGetDeviceNonPortableType;
+ SDL_SensorGetDeviceType;
+ SDL_SensorGetInstanceID;
+ SDL_SensorGetName;
+ SDL_SensorGetNonPortableType;
+ SDL_SensorGetType;
+ SDL_SensorOpen;
+ SDL_SensorUpdate;
+ SDL_exp;
+ SDL_expf;
+ SDL_wcsdup;
+} SUSE_2.0.8;
+SUSE_2.0.10 {
+global:
+ SDL_GetTouchDeviceType;
+ SDL_RWclose;
+ SDL_RWread;
+ SDL_RWseek;
+ SDL_RWsize;
+ SDL_RWtell;
+ SDL_RWwrite;
+ SDL_RenderCopyExF;
+ SDL_RenderCopyF;
+ SDL_RenderDrawLineF;
+ SDL_RenderDrawLinesF;
+ SDL_RenderDrawPointF;
+ SDL_RenderDrawPointsF;
+ SDL_RenderDrawRectF;
+ SDL_RenderDrawRectsF;
+ SDL_RenderFillRectF;
+ SDL_RenderFillRectsF;
+ SDL_RenderFlush;
+ SDL_SIMDAlloc;
+ SDL_SIMDFree;
+ SDL_SIMDGetAlignment;
+} SUSE_2.0.9;
+SUSE_2.0.12 {
+ SDL_HasARMSIMD;
+ SDL_GameControllerTypeForIndex;
+ SDL_GameControllerFromPlayerIndex;
+ SDL_GameControllerGetType;
+ SDL_GameControllerSetPlayerIndex;
+ SDL_JoystickFromPlayerIndex;
+ SDL_JoystickSetPlayerIndex;
+ SDL_Metal_CreateView;
+ SDL_Metal_DestroyView;
+ SDL_SetTextureScaleMode;
+ SDL_GetTextureScaleMode;
+ SDL_LockTextureToSurface;
+ SDL_wcsdup;
+ SDL_wcsstr;
+ SDL_wcsncmp;
+ SDL_strtokr;
+ SDL_GetAndroidSDKVersion;
+ SDL_OnApplicationWillTerminate;
+ SDL_OnApplicationDidReceiveMemoryWarning;
+ SDL_OnApplicationWillResignActive;
+ SDL_OnApplicationDidEnterBackground;
+ SDL_OnApplicationWillEnterForeground;
+ SDL_OnApplicationDidBecomeActive;
+ SDL_OnApplicationDidChangeStatusBarOrientation;
+ SDLTest_CommonUsage;
+} SUSE_2.0.10;
+SUSE_2.0.14 {
+ SDL_SIMDRealloc;
+ SDL_GetErrorMsg;
+ SDL_GameControllerGetSerial;
+ SDL_GameControllerHasAxis;
+ SDL_GameControllerHasButton;
+ SDL_GameControllerGetNumTouchpads;
+ SDL_GameControllerGetNumTouchpadFingers;
+ SDL_GameControllerGetTouchpadFinger;
+ SDL_GameControllerHasSensor;
+ SDL_GameControllerSetSensorEnabled;
+ SDL_GameControllerIsSensorEnabled;
+ SDL_GameControllerGetSensorData;
+ SDL_GameControllerRumbleTriggers;
+ SDL_GameControllerHasLED;
+ SDL_GameControllerSetLED;
+ SDL_JoystickAttachVirtual;
+ SDL_JoystickDetachVirtual;
+ SDL_JoystickDetachVirtual;
+ SDL_JoystickSetVirtualAxis;
+ SDL_JoystickSetVirtualButton;
+ SDL_JoystickSetVirtualHat;
+ SDL_JoystickGetSerial;
+ SDL_JoystickRumbleTriggers;
+ SDL_JoystickHasLED;
+ SDL_JoystickSetLED;
+ SDL_GetPreferredLocales;
+ SDL_Metal_GetLayer;
+ SDL_Metal_GetDrawableSize;
+ SDL_OpenURL;
+ SDL_LockSensors;
+ SDL_UnlockSensors;
+ SDL_crc32;
+ SDL_wcscasecmp;
+ SDL_wcsncasecmp;
+ SDL_trunc;
+ SDL_truncf;
+ SDL_HasSurfaceRLE;
+ SDL_AndroidRequestPermission;
+} SUSE_2.0.12;
+SUSE_2.0.16 {
+ SDL_GetAudioDeviceSpec;
+ SDL_GameControllerGetSensorDataRate;
+ SDL_GameControllerSendEffect;
+ SDL_JoystickSendEffect;
+ SDL_UpdateNVTexture;
+ SDL_isalpha;
+ SDL_isalnum;
+ SDL_isblank;
+ SDL_iscntrl;
+ SDL_isxdigit;
+ SDL_ispunct;
+ SDL_isprint;
+ SDL_isgraph;
+ SDL_round;
+ SDL_roundf;
+ SDL_lround;
+ SDL_lroundf;
+ SDL_SoftStretchLinear;
+ SDL_RenderGetD3D11Device;
+ SDL_AndroidShowToast;
+ SDL_TLSCleanup;
+ SDL_SetWindowAlwaysOnTop;
+ SDL_SetWindowKeyboardGrab;
+ SDL_SetWindowMouseGrab;
+ SDL_GetWindowKeyboardGrab;
+ SDL_GetWindowMouseGrab;
+ SDL_FlashWindow;
+} SUSE_2.0.14;
+SUSE_2.0.18 {
+ SDL_GameControllerHasRumble;
+ SDL_GameControllerHasRumbleTriggers;
+ SDL_GameControllerGetAppleSFSymbolsNameForButton;
+ SDL_GameControllerGetAppleSFSymbolsNameForAxis;
+ SDL_hid_init;
+ SDL_hid_exit;
+ SDL_hid_device_change_count;
+ SDL_hid_enumerate;
+ SDL_hid_free_enumeration;
+ SDL_hid_open;
+ SDL_hid_open_path;
+ SDL_hid_write;
+ SDL_hid_read_timeout;
+ SDL_hid_read;
+ SDL_hid_set_nonblocking;
+ SDL_hid_send_feature_report;
+ SDL_hid_get_feature_report;
+ SDL_hid_close;
+ SDL_hid_get_manufacturer_string;
+ SDL_hid_get_product_string;
+ SDL_hid_get_serial_number_string;
+ SDL_hid_get_indexed_string;
+ SDL_hid_ble_scan;
+ SDL_JoystickHasRumble;
+ SDL_JoystickHasRumbleTriggers;
+ SDL_RegisterApp;
+ SDL_SetTextureUserData;
+ SDL_GetTextureUserData;
+ SDL_RenderWindowToLogical;
+ SDL_RenderLogicalToWindow;
+ SDL_RenderGeometry;
+ SDL_RenderGeometryRaw;
+ SDL_RenderSetVSync;
+ SDL_RWFromFP;
+ SDL_asprintf;
+ SDL_vasprintf;
+ SDL_atan2;
+ SDL_atan2f;
+ SDL_PremultiplyAlpha;
+ SDL_LinuxSetThreadPriorityAndPolicy;
+ SDL_GetTicks64;
+ SDL_GetWindowICCProfile;
+ SDL_SetWindowMouseRect;
+ SDL_GetWindowMouseRect;
+} SUSE_2.0.16;
+SUSE_2.0.22 {
+ SDL_ClearComposition;
+ SDL_IsTextInputShown;
+ SDL_HasIntersectionF;
+ SDL_IntersectFRect;
+ SDL_UnionFRect;
+ SDL_EncloseFPoints;
+ SDL_IntersectFRectAndLine;
+ SDL_RenderGetWindow;
+ SDL_AndroidSendMessage;
+ SDL_GetTouchName;
+} SUSE_2.0.18;
+SUSE_2.24.0 {
+ SDL_GetDefaultAudioInfo;
+ SDL_HasLSX;
+ SDL_HasLASX;
+ SDL_GameControllerPathForIndex;
+ SDL_GameControllerPath;
+ SDL_GameControllerGetFirmwareVersion;
+ SDL_GUIDToString;
+ SDL_GUIDFromString;
+ SDL_ResetHint;
+ SDL_JoystickPathForIndex;
+ SDL_JoystickAttachVirtualEx;
+ SDL_JoystickPath;
+ SDL_JoystickGetFirmwareVersion;
+ SDL_ResetKeyboard;
+ SDL_SetTextInputRect;
+ SDL_GDKRunApp;
+ SDL_GetOriginalMemoryFunctions;
+ SDL_qsort;
+ SDL_bsearch;
+ SDL_crc16;
+ SDL_utf8strnlen;
+ SDL_RenderGetD3D12Device;
+ SDL_iPhoneSetAnimationCallback;
+ SDL_GDKGetTaskQueue;
+ SDL_GetPointDisplayIndex;
+ SDL_GetRectDisplayIndex;
+} SUSE_2.0.22;
+SUSE_2.26.0 {
+ SDL_SetPrimarySelectionText;
+ SDL_GetPrimarySelectionText;
+ SDL_HasPrimarySelectionText;
+ SDL_GameControllerGetSensorDataWithTimestamp;
+ SDL_ResetHints;
+ SDL_GetJoystickGUIDInfo;
+ SDL_SensorGetData;
+ SDL_SensorGetDataWithTimestamp;
+ SDL_SensorClose;
+ SDL_strcasestr;
+ SDL_GetWindowSizeInPixels;
+} SUSE_2.24.0;
+SUSE_2.28.0 {
+ SDL_GDKSuspendComplete;
+ SDL_HasWindowSurface;
+ SDL_DestroyWindowSurface;
+} SUSE_2.26.0;
+SUSE_2.30.0 {
+ SDL_GameControllerGetSteamHandle;
+} SUSE_2.28.0;