Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sdl2-compat for openSUSE:Factory 
checked in at 2026-01-02 14:27:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sdl2-compat (Old)
 and      /work/SRC/openSUSE:Factory/.sdl2-compat.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sdl2-compat"

Fri Jan  2 14:27:16 2026 rev:7 rq:1325031 version:2.32.62

Changes:
--------
--- /work/SRC/openSUSE:Factory/sdl2-compat/sdl2-compat.changes  2025-12-05 
16:51:17.754990546 +0100
+++ /work/SRC/openSUSE:Factory/.sdl2-compat.new.1928/sdl2-compat.changes        
2026-01-02 14:27:22.641615971 +0100
@@ -1,0 +2,6 @@
+Thu Jan  1 17:03:15 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 2.32.62
+  * Fixed crash if HIDAPI strings are not available
+
+-------------------------------------------------------------------

Old:
----
  sdl2-compat-2.32.60.tar.gz
  sdl2-compat-2.32.60.tar.gz.sig

New:
----
  sdl2-compat-2.32.62.tar.gz
  sdl2-compat-2.32.62.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sdl2-compat.spec ++++++
--- /var/tmp/diff_new_pack.r7vGRG/_old  2026-01-02 14:27:23.785663311 +0100
+++ /var/tmp/diff_new_pack.r7vGRG/_new  2026-01-02 14:27:23.785663311 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package sdl2-compat
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define lname libSDL2-2_0-0
 %global _lto_cflags %_lto_cflags -ffat-lto-objects
 Name:           sdl2-compat
-Version:        2.32.60
+Version:        2.32.62
 Release:        0
 Summary:        SDL-2.0 Compatibility Layer for Simple DirectMedia Layer 3.0
 License:        Zlib

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.r7vGRG/_old  2026-01-02 14:27:23.821664801 +0100
+++ /var/tmp/diff_new_pack.r7vGRG/_new  2026-01-02 14:27:23.821664801 +0100
@@ -1,5 +1,5 @@
-mtime: 1764830424
-commit: 4660bd055f46c0d4a9fcfa09d449d8e626a6659028b1aa86fef06252a66c1676
+mtime: 1767289416
+commit: 2d083ec1b67ff15f6b009e2a16e37faa3341aa06be0a18368f7c7d57c811b5fd
 url: https://src.opensuse.org/jengelh/sdl2-compat
 revision: master
 

++++++ sdl2-compat-2.32.60.tar.gz -> sdl2-compat-2.32.62.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/.git-hash 
new/sdl2-compat-2.32.62/.git-hash
--- old/sdl2-compat-2.32.60/.git-hash   2025-12-02 20:40:20.000000000 +0100
+++ new/sdl2-compat-2.32.62/.git-hash   2026-01-01 03:50:02.000000000 +0100
@@ -1 +1 @@
-9831c2e1fcf0a115a351339dfa29d7f32e202f36
+0846ba29413339352e2384b9a56ea04130039a18
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/CMakeLists.txt 
new/sdl2-compat-2.32.62/CMakeLists.txt
--- old/sdl2-compat-2.32.60/CMakeLists.txt      2025-12-02 20:40:20.000000000 
+0100
+++ new/sdl2-compat-2.32.62/CMakeLists.txt      2026-01-01 03:50:02.000000000 
+0100
@@ -3,7 +3,7 @@
 #        cmake -DSDL3_INCLUDE_DIRS=/opt/SDL3/include [other stuff ....]
 
 cmake_minimum_required(VERSION 3.0...4.1)
-project(sdl2_compat VERSION 2.32.60 LANGUAGES C)
+project(sdl2_compat VERSION 2.32.62 LANGUAGES C)
 
 if(POLICY CMP0074)
   # CMP0074: find_package() uses <PackageName>_ROOT variables.
@@ -323,6 +323,7 @@
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
 string(STRIP "${CMAKE_C_FLAGS}" CMAKE_C_FLAGS)
 
+set(SDL2COMPAT_DISABLE_X11 OFF)
 if(UNIX AND NOT APPLE)
   target_compile_definitions(SDL2 PRIVATE "_REENTRANT")
   target_link_libraries(SDL2 PRIVATE ${CMAKE_DL_LIBS})
@@ -331,10 +332,11 @@
     target_compile_definitions(SDL2 PRIVATE SDL2COMPAT_HAVE_X11)
     include_directories(${X11_INCLUDE_DIR})
   else()
-    target_compile_definitions(SDL2 PUBLIC SDL2COMPAT_DISABLE_X11)
+    set(SDL2COMPAT_DISABLE_X11 ON)
     message(STATUS "X11 support disabled")
   endif()
 endif()
+configure_file(include/SDL2/SDL_config_unix.h.cmake 
include/SDL2/SDL_config_unix.h)
 
 if(ANDROID)
   target_link_libraries(SDL2 PRIVATE log)
@@ -554,7 +556,7 @@
     DESTINATION "${SDL2COMPAT_INSTALL_CMAKEDIR}"
   )
 
-  file(GLOB SDL2_INCLUDE_FILES ${PROJECT_SOURCE_DIR}/include/SDL2/*.h)
+  file(GLOB SDL2_INCLUDE_FILES ${PROJECT_SOURCE_DIR}/include/SDL2/*.h 
"${PROJECT_BINARY_DIR}/include/SDL2/SDL_config_unix.h")
   set(SDL2_COPIED_INCLUDE_FILES)
   foreach(_hdr IN LISTS SDL2_INCLUDE_FILES)
     if(_hdr MATCHES ".*(SDL_config).*")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/README.md 
new/sdl2-compat-2.32.62/README.md
--- old/sdl2-compat-2.32.60/README.md   2024-09-29 13:11:37.000000000 +0200
+++ new/sdl2-compat-2.32.62/README.md   2025-12-17 20:01:20.000000000 +0100
@@ -179,3 +179,21 @@
 ```
 SDL_VIDEODRIVER=x11
 ```
+
+Please report this to the game developer as a bug.
+Game developers who know that their game engine requires X11 on Linux can
+arrange for this to happen by including code similar to this at the
+beginning of `main()`:
+```
+#ifdef SDL_VIDEO_DRIVER_X11
+SDL_SetHintWithPriority(SDL_HINT_VIDEODRIVER, "x11", SDL_HINT_OVERRIDE);
+#endif
+```
+
+This is backward-compatible with "classic" SDL 2 version 2.0.12 or later.
+If older versions need to be supported,
+set the `SDL_VIDEODRIVER` environment variable instead.
+
+For unmaintained games where applying this code change is not feasible,
+either a wrapper script can set the `SDL_VIDEODRIVER` environment variable,
+or the game can be added to the `quirks` array in sdl2-compat.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/REVISION.txt 
new/sdl2-compat-2.32.62/REVISION.txt
--- old/sdl2-compat-2.32.60/REVISION.txt        2025-12-02 20:40:20.000000000 
+0100
+++ new/sdl2-compat-2.32.62/REVISION.txt        2026-01-01 03:50:02.000000000 
+0100
@@ -1 +1 @@
-release-2.32.60-0-g9831c2e
+release-2.32.62-0-g0846ba2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/cmake/sdlplatform.cmake 
new/sdl2-compat-2.32.62/cmake/sdlplatform.cmake
--- old/sdl2-compat-2.32.60/cmake/sdlplatform.cmake     2023-08-08 
22:34:32.000000000 +0200
+++ new/sdl2-compat-2.32.62/cmake/sdlplatform.cmake     2025-12-19 
12:28:02.000000000 +0100
@@ -21,6 +21,8 @@
     set(SDL_CMAKE_PLATFORM n3ds)
   elseif(PS2)
     set(SDL_CMAKE_PLATFORM ps2)
+  elseif(RISCOS)
+    set(SDL_CMAKE_PLATFORM RISCOS)
   elseif(VITA)
     set(SDL_CMAKE_PLATFORM Vita)
   elseif(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
@@ -31,8 +33,9 @@
     set(SDL_CMAKE_PLATFORM NetBSD)
   elseif(CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*")
     set(SDL_CMAKE_PLATFORM OpenBSD)
-  elseif(CMAKE_SYSTEM_NAME MATCHES ".*GNU.*")
-    set(SDL_CMAKE_PLATFORM GNU)
+  elseif(CMAKE_SYSTEM_NAME STREQUAL "GNU")
+    # GNU/Hurd must be checked AFTER RISCOS
+    set(SDL_CMAKE_PLATFORM Hurd)
   elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
     set(SDL_CMAKE_PLATFORM BSDi)
   elseif(CMAKE_SYSTEM_NAME MATCHES "DragonFly.*|FreeBSD")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/include/SDL2/SDL_config_unix.h 
new/sdl2-compat-2.32.62/include/SDL2/SDL_config_unix.h
--- old/sdl2-compat-2.32.60/include/SDL2/SDL_config_unix.h      2025-10-12 
20:53:05.000000000 +0200
+++ new/sdl2-compat-2.32.62/include/SDL2/SDL_config_unix.h      1970-01-01 
01:00:00.000000000 +0100
@@ -1,271 +0,0 @@
-/*
-  Simple DirectMedia Layer
-  Copyright (C) 1997-2025 Sam Lantinga <[email protected]>
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-*/
-
-#ifndef SDL_config_unix_h_
-#define SDL_config_unix_h_
-
-#include "SDL_platform.h"
-
-/* A harmless way to get __GLIBC__ defined on glibc systems */
-#include <limits.h>
-
-/* C datatypes */
-#if defined(__SIZEOF_POINTER__)
-#define SIZEOF_VOIDP (__SIZEOF_POINTER__)
-#elif defined(__LP64__) || defined(_LP64) || defined(_WIN64)
-#define SIZEOF_VOIDP 8
-#else
-#define SIZEOF_VOIDP 4
-#endif
-
-#if defined(__GNUC__) || defined(__clang__)
-#define HAVE_GCC_ATOMICS 1
-#endif
-
-/* Assume that on Unix, it's conventional to build with a libc dependency */
-#define HAVE_LIBC 1
-
-/* Assume that any reasonable Unix platform has Standard C headers */
-#define STDC_HEADERS 1
-#define HAVE_CTYPE_H 1
-#define HAVE_FLOAT_H 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_LIMITS_H 1
-#define HAVE_MATH_H 1
-#define HAVE_SIGNAL_H 1
-#define HAVE_STDARG_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_STDIO_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_WCHAR_H 1
-
-/* Assume that any reasonable Unix platform has Standard C functions */
-#define HAVE_ABS 1
-#define HAVE_ACOS 1
-#define HAVE_ACOSF 1
-#define HAVE_ASIN 1
-#define HAVE_ASINF 1
-#define HAVE_ATAN 1
-#define HAVE_ATAN2 1
-#define HAVE_ATAN2F 1
-#define HAVE_ATANF 1
-#define HAVE_ATOF 1
-#define HAVE_ATOI 1
-#define HAVE_BSEARCH 1
-#define HAVE_CALLOC 1
-#define HAVE_CEIL 1
-#define HAVE_CEILF 1
-#define HAVE_COPYSIGN 1
-#define HAVE_COPYSIGNF 1
-#define HAVE_COS 1
-#define HAVE_COSF 1
-#define HAVE_EXP 1
-#define HAVE_EXPF 1
-#define HAVE_FABS 1
-#define HAVE_FABSF 1
-#define HAVE_FLOOR 1
-#define HAVE_FLOORF 1
-#define HAVE_FMOD 1
-#define HAVE_FMODF 1
-#define HAVE_FREE 1
-#define HAVE_GETENV 1
-#define HAVE_LOG 1
-#define HAVE_LOG10 1
-#define HAVE_LOG10F 1
-#define HAVE_LOGF 1
-#define HAVE_LROUND 1
-#define HAVE_LROUNDF 1
-#define HAVE_MALLOC 1
-#define HAVE_MEMCMP 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMSET 1
-#define HAVE_POW 1
-#define HAVE_POWF 1
-#define HAVE_QSORT 1
-#define HAVE_REALLOC 1
-#define HAVE_ROUND 1
-#define HAVE_ROUNDF 1
-#define HAVE_SCALBN 1
-#define HAVE_SCALBNF 1
-#define HAVE_SETJMP 1
-#define HAVE_SIN 1
-#define HAVE_SINF 1
-#define HAVE_SQRT 1
-#define HAVE_SQRTF 1
-#define HAVE_STRCHR 1
-#define HAVE_STRCMP 1
-#define HAVE_STRLEN 1
-#define HAVE_STRNCMP 1
-#define HAVE_STRRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_STRTOD 1
-#define HAVE_STRTOL 1
-#define HAVE_STRTOLL 1
-#define HAVE_STRTOUL 1
-#define HAVE_STRTOULL 1
-#define HAVE_TAN 1
-#define HAVE_TANF 1
-#define HAVE_TRUNC 1
-#define HAVE_TRUNCF 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_VSSCANF 1
-#define HAVE_WCSCMP 1
-#define HAVE_WCSLEN 1
-#define HAVE_WCSNCMP 1
-#define HAVE_WCSSTR 1
-
-/* Standard C provides this */
-#define HAVE_M_PI /**/
-
-/* Assume that any reasonable Unix platform has POSIX headers */
-#define HAVE_ICONV_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_SYS_TYPES_H 1
-
-/* Assume that any reasonable Unix platform has POSIX functions */
-#define HAVE_CLOCK_GETTIME 1
-#define HAVE_DLOPEN 1
-#define HAVE_FSEEKO 1
-#define HAVE_ICONV 1
-#define HAVE_MPROTECT 1
-#define HAVE_NANOSLEEP 1
-#define HAVE_POLL 1
-#define HAVE_POSIX_FALLOCATE 1
-#define HAVE_PUTENV 1
-#define HAVE_SEM_TIMEDWAIT 1
-#define HAVE_SETENV 1
-#define HAVE_SIGACTION 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRNCASECMP 1
-#define HAVE_STRTOK_R 1
-#define HAVE_SYSCONF 1
-#define HAVE_UNSETENV 1
-#define HAVE_WCSCASECMP 1
-#define HAVE_WCSDUP 1
-#define HAVE__EXIT 1
-
-/* Specified by POSIX */
-#define HAVE_O_CLOEXEC 1
-
-/* Non-standardized headers, but we assume they exist anyway
- * (please report a bug if your Unix platform doesn't have these) */
-#define HAVE_ALLOCA_H 1
-#define HAVE_MALLOC_H 1
-#define HAVE_MEMORY_H 1
-
-/* Non-standardized functions, but we assume they exist anyway
- * (please report a bug if your Unix platform doesn't have these) */
-#define HAVE_ALLOCA 1
-#define HAVE_BCOPY 1    /* required by POSIX until 2008 */
-#define HAVE_INDEX 1    /* required by POSIX until 2008 */
-#define HAVE_RINDEX 1   /* required by POSIX until 2008 */
-
-/* GNU extensions, known to be provided by glibc, probably not provided
- * by other libc implementations */
-#if defined(__GLIBC__)
-#define HAVE_GETAUXVAL 1
-#define HAVE_STRCASESTR 1
-#define HAVE_PTHREAD_SETNAME_NP 1
-#endif
-
-#if defined(__GLIBC__) && \
-    (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 27))
-#define HAVE_MEMFD_CREATE 1
-#endif
-
-#if defined(__LINUX__)
-#define HAVE_LINUX_INPUT_H 1
-#define HAVE_SYS_INOTIFY_H 1
-#define HAVE_INOTIFY_INIT 1
-#define HAVE_INOTIFY_INIT1 1
-#endif
-
-#if defined(__LINUX__)
-#define HAVE_DBUS_DBUS_H 1
-#define HAVE_LIBUDEV_H 1
-#endif
-
-#if defined(__GLIBC__) && defined(__LINUX__)
-#define HAVE_FOPEN64 1
-#define HAVE_FSEEKO64 1
-#endif
-
-#if defined(__GLIBC__) && defined(__LINUX__) && (defined(__i386__) || 
defined(__x86_64__))
-#define HAVE_IMMINTRIN_H 1
-#endif
-
-/* In practice these should be available on any POSIX platform */
-#define DYNAPI_NEEDS_DLOPEN 1
-#define SDL_FILESYSTEM_UNIX 1
-#define SDL_LOADSO_DLOPEN 1
-#define SDL_THREAD_PTHREAD 1
-#define SDL_TIMER_UNIX 1
-/* Allow building without X11 support */
-#ifndef SDL2COMPAT_DISABLE_X11
-#define SDL_VIDEO_DRIVER_X11 1
-#endif
-
-#if defined(__LINUX__)
-/* glvis wants this */
-#define SDL_VIDEO_DRIVER_X11_XINPUT2 1
-#endif
-
-#if defined(__LINUX__)
-/* Assume SDL on Linux most likely enables these */
-#define HAVE_LIBDECOR_H 1
-#define SDL_VIDEO_DRIVER_KMSDRM 1
-#define SDL_VIDEO_DRIVER_WAYLAND 1
-#endif
-
-#if defined(__LINUX__)
-/* These are not strictly guaranteed, but probably fine to assume */
-#define SDL_AUDIO_DRIVER_ALSA 1
-#define SDL_AUDIO_DRIVER_OSS 1
-#define SDL_AUDIO_DRIVER_PULSEAUDIO 1
-#endif
-
-#if defined(__LINUX__)
-#define SDL_INPUT_LINUXEV 1
-#define SDL_INPUT_LINUXKD 1
-#define SDL_JOYSTICK_LINUX 1
-#define SDL_HAPTIC_LINUX 1
-#define SDL_POWER_LINUX 1
-#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
-#define SDL_UDEV_DYNAMIC "libudev.so.1"
-#define SDL_USE_IME 1
-#endif
-
-/* Enable OpenGL support */
-#define SDL_VIDEO_OPENGL 1
-#define SDL_VIDEO_OPENGL_ES 1
-#define SDL_VIDEO_OPENGL_GLX 1
-#if defined(__LINUX__)
-#define SDL_VIDEO_OPENGL_EGL 1
-#endif
-
-/* Enable Vulkan support */
-#if defined(__LINUX__)
-#define SDL_VIDEO_VULKAN 1
-#endif
-
-#endif /* SDL_config_unix_h_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sdl2-compat-2.32.60/include/SDL2/SDL_config_unix.h.cmake 
new/sdl2-compat-2.32.62/include/SDL2/SDL_config_unix.h.cmake
--- old/sdl2-compat-2.32.60/include/SDL2/SDL_config_unix.h.cmake        
1970-01-01 01:00:00.000000000 +0100
+++ new/sdl2-compat-2.32.62/include/SDL2/SDL_config_unix.h.cmake        
2025-12-29 12:21:39.000000000 +0100
@@ -0,0 +1,272 @@
+/*
+  Simple DirectMedia Layer
+  Copyright (C) 1997-2025 Sam Lantinga <[email protected]>
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+*/
+
+#ifndef SDL_config_unix_h_
+#define SDL_config_unix_h_
+
+#include "SDL_platform.h"
+
+/* A harmless way to get __GLIBC__ defined on glibc systems */
+#include <limits.h>
+
+/* C datatypes */
+#if defined(__SIZEOF_POINTER__)
+#define SIZEOF_VOIDP (__SIZEOF_POINTER__)
+#elif defined(__LP64__) || defined(_LP64) || defined(_WIN64)
+#define SIZEOF_VOIDP 8
+#else
+#define SIZEOF_VOIDP 4
+#endif
+
+#if defined(__GNUC__) || defined(__clang__)
+#define HAVE_GCC_ATOMICS 1
+#endif
+
+/* Assume that on Unix, it's conventional to build with a libc dependency */
+#define HAVE_LIBC 1
+
+/* Assume that any reasonable Unix platform has Standard C headers */
+#define STDC_HEADERS 1
+#define HAVE_CTYPE_H 1
+#define HAVE_FLOAT_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_LIMITS_H 1
+#define HAVE_MATH_H 1
+#define HAVE_SIGNAL_H 1
+#define HAVE_STDARG_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDIO_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_WCHAR_H 1
+
+/* Assume that any reasonable Unix platform has Standard C functions */
+#define HAVE_ABS 1
+#define HAVE_ACOS 1
+#define HAVE_ACOSF 1
+#define HAVE_ASIN 1
+#define HAVE_ASINF 1
+#define HAVE_ATAN 1
+#define HAVE_ATAN2 1
+#define HAVE_ATAN2F 1
+#define HAVE_ATANF 1
+#define HAVE_ATOF 1
+#define HAVE_ATOI 1
+#define HAVE_BSEARCH 1
+#define HAVE_CALLOC 1
+#define HAVE_CEIL 1
+#define HAVE_CEILF 1
+#define HAVE_COPYSIGN 1
+#define HAVE_COPYSIGNF 1
+#define HAVE_COS 1
+#define HAVE_COSF 1
+#define HAVE_EXP 1
+#define HAVE_EXPF 1
+#define HAVE_FABS 1
+#define HAVE_FABSF 1
+#define HAVE_FLOOR 1
+#define HAVE_FLOORF 1
+#define HAVE_FMOD 1
+#define HAVE_FMODF 1
+#define HAVE_FREE 1
+#define HAVE_GETENV 1
+#define HAVE_LOG 1
+#define HAVE_LOG10 1
+#define HAVE_LOG10F 1
+#define HAVE_LOGF 1
+#define HAVE_LROUND 1
+#define HAVE_LROUNDF 1
+#define HAVE_MALLOC 1
+#define HAVE_MEMCMP 1
+#define HAVE_MEMCPY 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMSET 1
+#define HAVE_POW 1
+#define HAVE_POWF 1
+#define HAVE_QSORT 1
+#define HAVE_REALLOC 1
+#define HAVE_ROUND 1
+#define HAVE_ROUNDF 1
+#define HAVE_SCALBN 1
+#define HAVE_SCALBNF 1
+#define HAVE_SETJMP 1
+#define HAVE_SIN 1
+#define HAVE_SINF 1
+#define HAVE_SQRT 1
+#define HAVE_SQRTF 1
+#define HAVE_STRCHR 1
+#define HAVE_STRCMP 1
+#define HAVE_STRLEN 1
+#define HAVE_STRNCMP 1
+#define HAVE_STRRCHR 1
+#define HAVE_STRSTR 1
+#define HAVE_STRTOD 1
+#define HAVE_STRTOL 1
+#define HAVE_STRTOLL 1
+#define HAVE_STRTOUL 1
+#define HAVE_STRTOULL 1
+#define HAVE_TAN 1
+#define HAVE_TANF 1
+#define HAVE_TRUNC 1
+#define HAVE_TRUNCF 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_VSSCANF 1
+#define HAVE_WCSCMP 1
+#define HAVE_WCSLEN 1
+#define HAVE_WCSNCMP 1
+#define HAVE_WCSSTR 1
+
+/* Standard C provides this */
+#define HAVE_M_PI /**/
+
+/* Assume that any reasonable Unix platform has POSIX headers */
+#define HAVE_ICONV_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_SYS_TYPES_H 1
+
+/* Assume that any reasonable Unix platform has POSIX functions */
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_DLOPEN 1
+#define HAVE_FSEEKO 1
+#define HAVE_ICONV 1
+#define HAVE_MPROTECT 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_POLL 1
+#define HAVE_POSIX_FALLOCATE 1
+#define HAVE_PUTENV 1
+#define HAVE_SEM_TIMEDWAIT 1
+#define HAVE_SETENV 1
+#define HAVE_SIGACTION 1
+#define HAVE_STRCASECMP 1
+#define HAVE_STRNCASECMP 1
+#define HAVE_STRTOK_R 1
+#define HAVE_SYSCONF 1
+#define HAVE_UNSETENV 1
+#define HAVE_WCSCASECMP 1
+#define HAVE_WCSDUP 1
+#define HAVE__EXIT 1
+
+/* Specified by POSIX */
+#define HAVE_O_CLOEXEC 1
+
+/* Non-standardized headers, but we assume they exist anyway
+ * (please report a bug if your Unix platform doesn't have these) */
+#define HAVE_ALLOCA_H 1
+#define HAVE_MALLOC_H 1
+#define HAVE_MEMORY_H 1
+
+/* Non-standardized functions, but we assume they exist anyway
+ * (please report a bug if your Unix platform doesn't have these) */
+#define HAVE_ALLOCA 1
+#define HAVE_BCOPY 1    /* required by POSIX until 2008 */
+#define HAVE_INDEX 1    /* required by POSIX until 2008 */
+#define HAVE_RINDEX 1   /* required by POSIX until 2008 */
+
+/* GNU extensions, known to be provided by glibc, probably not provided
+ * by other libc implementations */
+#if defined(__GLIBC__)
+#define HAVE_GETAUXVAL 1
+#define HAVE_STRCASESTR 1
+#define HAVE_PTHREAD_SETNAME_NP 1
+#endif
+
+#if defined(__GLIBC__) && \
+    (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 27))
+#define HAVE_MEMFD_CREATE 1
+#endif
+
+#if defined(__LINUX__)
+#define HAVE_LINUX_INPUT_H 1
+#define HAVE_SYS_INOTIFY_H 1
+#define HAVE_INOTIFY_INIT 1
+#define HAVE_INOTIFY_INIT1 1
+#endif
+
+#if defined(__LINUX__)
+#define HAVE_DBUS_DBUS_H 1
+#define HAVE_LIBUDEV_H 1
+#endif
+
+#if defined(__GLIBC__) && defined(__LINUX__)
+#define HAVE_FOPEN64 1
+#define HAVE_FSEEKO64 1
+#endif
+
+#if defined(__GLIBC__) && defined(__LINUX__) && (defined(__i386__) || 
defined(__x86_64__))
+#define HAVE_IMMINTRIN_H 1
+#endif
+
+/* In practice these should be available on any POSIX platform */
+#define DYNAPI_NEEDS_DLOPEN 1
+#define SDL_FILESYSTEM_UNIX 1
+#define SDL_LOADSO_DLOPEN 1
+#define SDL_THREAD_PTHREAD 1
+#define SDL_TIMER_UNIX 1
+/* Allow building without X11 support */
+#cmakedefine SDL2COMPAT_DISABLE_X11
+#ifndef SDL2COMPAT_DISABLE_X11
+#define SDL_VIDEO_DRIVER_X11 1
+#endif
+
+#if defined(__LINUX__)
+/* glvis wants this */
+#define SDL_VIDEO_DRIVER_X11_XINPUT2 1
+#endif
+
+#if defined(__LINUX__)
+/* Assume SDL on Linux most likely enables these */
+#define HAVE_LIBDECOR_H 1
+#define SDL_VIDEO_DRIVER_KMSDRM 1
+#define SDL_VIDEO_DRIVER_WAYLAND 1
+#endif
+
+#if defined(__LINUX__)
+/* These are not strictly guaranteed, but probably fine to assume */
+#define SDL_AUDIO_DRIVER_ALSA 1
+#define SDL_AUDIO_DRIVER_OSS 1
+#define SDL_AUDIO_DRIVER_PULSEAUDIO 1
+#endif
+
+#if defined(__LINUX__)
+#define SDL_INPUT_LINUXEV 1
+#define SDL_INPUT_LINUXKD 1
+#define SDL_JOYSTICK_LINUX 1
+#define SDL_HAPTIC_LINUX 1
+#define SDL_POWER_LINUX 1
+#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
+#define SDL_UDEV_DYNAMIC "libudev.so.1"
+#define SDL_USE_IME 1
+#endif
+
+/* Enable OpenGL support */
+#define SDL_VIDEO_OPENGL 1
+#define SDL_VIDEO_OPENGL_ES 1
+#define SDL_VIDEO_OPENGL_GLX 1
+#if defined(__LINUX__)
+#define SDL_VIDEO_OPENGL_EGL 1
+#endif
+
+/* Enable Vulkan support */
+#if defined(__LINUX__)
+#define SDL_VIDEO_VULKAN 1
+#endif
+
+#endif /* SDL_config_unix_h_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/include/SDL2/SDL_revision.h 
new/sdl2-compat-2.32.62/include/SDL2/SDL_revision.h
--- old/sdl2-compat-2.32.60/include/SDL2/SDL_revision.h 2025-12-02 
20:40:20.000000000 +0100
+++ new/sdl2-compat-2.32.62/include/SDL2/SDL_revision.h 2026-01-01 
03:50:02.000000000 +0100
@@ -1,6 +1,6 @@
 #ifdef SDL_VENDOR_INFO
-#define SDL_REVISION "release-2.32.60-0-g9831c2e (" SDL_VENDOR_INFO ")"
+#define SDL_REVISION "release-2.32.62-0-g0846ba2 (" SDL_VENDOR_INFO ")"
 #else
-#define SDL_REVISION "release-2.32.60-0-g9831c2e"
+#define SDL_REVISION "release-2.32.62-0-g0846ba2"
 #endif
 #define SDL_REVISION_NUMBER 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/include/SDL2/SDL_syswm.h 
new/sdl2-compat-2.32.62/include/SDL2/SDL_syswm.h
--- old/sdl2-compat-2.32.60/include/SDL2/SDL_syswm.h    2025-01-01 
17:27:42.000000000 +0100
+++ new/sdl2-compat-2.32.62/include/SDL2/SDL_syswm.h    2025-12-28 
16:54:12.000000000 +0100
@@ -59,7 +59,7 @@
 #endif
 
 /* This is the structure for custom window manager events */
-#if defined(SDL_VIDEO_DRIVER_X11)
+#if defined(SDL_VIDEO_DRIVER_X11) && !defined(SDL2COMPAT_DISABLE_X11)
 #if defined(__APPLE__) && defined(__MACH__)
 /* conflicts with Quickdraw.h */
 #define Cursor X11Cursor
@@ -168,7 +168,7 @@
             LPARAM lParam;              /**< LONG message parameter */
         } win;
 #endif
-#if defined(SDL_VIDEO_DRIVER_X11)
+#if defined(SDL_VIDEO_DRIVER_X11) && !defined(SDL2COMPAT_DISABLE_X11)
         struct {
             XEvent event;
         } x11;
@@ -243,7 +243,7 @@
             IInspectable * window;      /**< The WinRT CoreWindow */
         } winrt;
 #endif
-#if defined(SDL_VIDEO_DRIVER_X11)
+#if defined(SDL_VIDEO_DRIVER_X11) && !defined(SDL2COMPAT_DISABLE_X11)
         struct
         {
             Display *display;           /**< The X11 display */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/include/SDL2/SDL_version.h 
new/sdl2-compat-2.32.62/include/SDL2/SDL_version.h
--- old/sdl2-compat-2.32.60/include/SDL2/SDL_version.h  2025-12-02 
20:40:20.000000000 +0100
+++ new/sdl2-compat-2.32.62/include/SDL2/SDL_version.h  2026-01-01 
03:50:02.000000000 +0100
@@ -58,7 +58,7 @@
 */
 #define SDL_MAJOR_VERSION   2
 #define SDL_MINOR_VERSION   32
-#define SDL_PATCHLEVEL      60
+#define SDL_PATCHLEVEL      62
 
 /**
  * Macro to determine SDL version program was compiled against.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/src/Makefile.darwin 
new/sdl2-compat-2.32.62/src/Makefile.darwin
--- old/sdl2-compat-2.32.60/src/Makefile.darwin 2025-12-02 20:40:20.000000000 
+0100
+++ new/sdl2-compat-2.32.62/src/Makefile.darwin 2026-01-01 03:50:02.000000000 
+0100
@@ -20,7 +20,7 @@
 LDFLAGS = -dynamiclib -Wl,-undefined,error -Wl,-single_module
 #LDFLAGS+= -Wl,-headerpad_max_install_names
 LDFLAGS+= -Wl,-install_name,"/usr/local/lib/$(DYLIB)"
-LDFLAGS+= -Wl,-compatibility_version,3201.0 -Wl,-current_version,3201.60
+LDFLAGS+= -Wl,-compatibility_version,3201.0 -Wl,-current_version,3201.62
 LDLIBS  = -Wl,-framework,AppKit
 # this is needed for x86_64 - cross-gcc might not add it.
 #LDLIBS += -Wl,-lbundle1.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/src/Makefile.linux 
new/sdl2-compat-2.32.62/src/Makefile.linux
--- old/sdl2-compat-2.32.60/src/Makefile.linux  2025-12-02 20:40:20.000000000 
+0100
+++ new/sdl2-compat-2.32.62/src/Makefile.linux  2026-01-01 03:50:02.000000000 
+0100
@@ -13,7 +13,7 @@
 LDFLAGS+= -Wl,--no-undefined
 LDLIBS  = -ldl
 
-SHLIB = libSDL2-2.0.so.0.3200.60
+SHLIB = libSDL2-2.0.so.0.3200.62
 
 OBJ = sdl2_compat.o dynapi/SDL_dynapi.o
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/src/sdl2_compat.c 
new/sdl2-compat-2.32.62/src/sdl2_compat.c
--- old/sdl2-compat-2.32.60/src/sdl2_compat.c   2025-12-02 20:40:20.000000000 
+0100
+++ new/sdl2-compat-2.32.62/src/sdl2_compat.c   2026-01-01 03:50:02.000000000 
+0100
@@ -58,7 +58,7 @@
  * The number might increment past 90 if there are a ton of releases.
  */
 #define SDL2_COMPAT_VERSION_MINOR 32
-#define SDL2_COMPAT_VERSION_PATCH 60
+#define SDL2_COMPAT_VERSION_PATCH 62
 
 #ifndef SDL2COMPAT_REVISION
 #define SDL2COMPAT_REVISION "SDL-2." STRINGIFY(SDL2_COMPAT_VERSION_MINOR) "." 
STRINGIFY(SDL2_COMPAT_VERSION_PATCH) "-no-vcs"
@@ -96,7 +96,7 @@
 #undef snprintf
 #undef vsnprintf
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__GNU__)
 #include <unistd.h> /* for readlink() */
 #endif
 
@@ -532,10 +532,14 @@
 
     /* SimCity 3000 tries to call SDL_DestroyMutex after we have been unloaded 
*/
     {"sc3u.dynamic", "SDL2COMPAT_NO_UNLOAD", "1"},
+
+    /* X4: Foundations assumes X11 and exits with an error otherwise
+     * https://github.com/libsdl-org/sdl2-compat/issues/555 */
+    {"X4", SDL_HINT_VIDEO_DRIVER, "x11"},
 #endif
 };
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__GNU__)
 static void OS_GetExeName(char *buf, const unsigned maxpath, bool 
*use_base_path)
 {
     int ret;
@@ -11954,10 +11958,10 @@
         for (i = list3; i != NULL; i = i->next) {
             SDL2_hid_device_info *info = (SDL2_hid_device_info *) 
SDL3_calloc(1, sizeof (SDL2_hid_device_info));
             char *path = SDL3_strdup(i->path);
-            wchar_t *serial_number = SDL3_wcsdup(i->serial_number);
-            wchar_t *manufacturer_string = SDL3_wcsdup(i->manufacturer_string);
-            wchar_t *product_string = SDL3_wcsdup(i->product_string);
-            if (!info || !path || !serial_number || !manufacturer_string || 
!product_string) {
+            wchar_t *serial_number = i->serial_number ? 
SDL3_wcsdup(i->serial_number) : NULL;
+            wchar_t *manufacturer_string = i->manufacturer_string ? 
SDL3_wcsdup(i->manufacturer_string) : NULL;
+            wchar_t *product_string = i->product_string ? 
SDL3_wcsdup(i->product_string) : NULL;
+            if (!info || !path) {
                 SDL_hid_free_enumeration(retval);
                 SDL3_free(info);
                 SDL3_free(path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/src/sdl3_include_wrapper.h 
new/sdl2-compat-2.32.62/src/sdl3_include_wrapper.h
--- old/sdl2-compat-2.32.60/src/sdl3_include_wrapper.h  2025-11-14 
00:28:40.000000000 +0100
+++ new/sdl2-compat-2.32.62/src/sdl3_include_wrapper.h  2025-12-12 
04:47:40.000000000 +0100
@@ -1303,6 +1303,7 @@
 #define SDL_RotateSurface IGNORE_THIS_VERSION_OF_SDL_RotateSurface
 #define SDL_LoadSurface_IO IGNORE_THIS_VERSION_OF_SDL_LoadSurface_IO
 #define SDL_LoadSurface IGNORE_THIS_VERSION_OF_SDL_LoadSurface
+#define SDL_SetWindowFillDocument 
IGNORE_THIS_VERSION_OF_SDL_SetWindowFillDocument
 
 
 #define SDL_FUNCTION_POINTER_IS_VOID_POINTER 1
@@ -6409,8 +6410,13 @@
 #undef SDL_LoadSurface
 #endif
 
+#ifdef SDL_SetWindowFillDocument
+#undef SDL_SetWindowFillDocument
+#endif
+
 
-/*     see at top.     */
+/* see at top.
+ */
 #undef SDL_ThreadID
 #ifdef SDL_CreateThread
 #undef SDL_CreateThread
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/src/version.rc 
new/sdl2-compat-2.32.62/src/version.rc
--- old/sdl2-compat-2.32.60/src/version.rc      2025-12-02 20:40:20.000000000 
+0100
+++ new/sdl2-compat-2.32.62/src/version.rc      2026-01-01 03:50:02.000000000 
+0100
@@ -3,8 +3,8 @@
 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,32,60,0
- PRODUCTVERSION 2,32,60,0
+ FILEVERSION 2,32,62,0
+ PRODUCTVERSION 2,32,62,0
  FILEFLAGSMASK 0x3fL
  FILEFLAGS 0x0L
  FILEOS 0x40004L
@@ -17,12 +17,12 @@
         BEGIN
             VALUE "CompanyName", "\0"
             VALUE "FileDescription", "SDL\0"
-            VALUE "FileVersion", "2, 32, 60, 0\0"
+            VALUE "FileVersion", "2, 32, 62, 0\0"
             VALUE "InternalName", "SDL\0"
             VALUE "LegalCopyright", "Copyright (C) 2025 Sam Lantinga\0"
             VALUE "OriginalFilename", "SDL2.dll\0"
             VALUE "ProductName", "Simple DirectMedia Layer 2.0 wrapper\0"
-            VALUE "ProductVersion", "2, 32, 60, 0\0"
+            VALUE "ProductVersion", "2, 32, 62, 0\0"
         END
     END
     BLOCK "VarFileInfo"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sdl2-compat-2.32.60/test/CMakeLists.txt 
new/sdl2-compat-2.32.62/test/CMakeLists.txt
--- old/sdl2-compat-2.32.60/test/CMakeLists.txt 2025-11-03 21:59:56.000000000 
+0100
+++ new/sdl2-compat-2.32.62/test/CMakeLists.txt 2025-12-19 13:58:24.000000000 
+0100
@@ -79,7 +79,7 @@
 test_program(controllermap SRC "controllermap.c" "testutils.c")
 test_program(loopwave SRC "loopwave.c" "testutils.c")
 test_program(loopwavequeue SRC "loopwavequeue.c" "testutils.c")
-test_program(testatomic NONINTERACTIVE SRC "testatomic.c")
+test_program(testatomic NONINTERACTIVE TIMEOUT 120 SRC "testatomic.c")
 test_program(testaudiocapture SRC "testaudiocapture.c")
 test_program(testaudiohotplug SRC "testaudiohotplug.c" "testutils.c")
 test_program(testaudioinfo SRC "testaudioinfo.c")

Reply via email to