Jan Engelhardt
2ac8149d25
OBS-URL: https://build.opensuse.org/package/show/games/SDL2?expand=0&rev=125
318 lines
8.2 KiB
Diff
318 lines
8.2 KiB
Diff
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 | 278 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
2 files changed, 279 insertions(+), 1 deletion(-)
|
|
|
|
Index: SDL2-2.0.22/Makefile.in
|
|
===================================================================
|
|
--- SDL2-2.0.22.orig/Makefile.in
|
|
+++ SDL2-2.0.22/Makefile.in
|
|
@@ -134,7 +134,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.0.22/sdl2.sym
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ SDL2-2.0.22/sdl2.sym
|
|
@@ -0,0 +1,278 @@
|
|
+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;
|