I've tested this with a number of ports and no issues found. Changelog is here:
https://github.com/libsdl-org/SDL/releases/tag/release-2.28.1 This is a stable bugfix release and no significant changes for OpenBSD in the changelog. I have a list of reverse dependencies with notes on which ones have been tested here: https://pbot.rmdir.de/BBjHj4U7Oc6ga0hII7chWA Comments or ok's welcome! I intend to commit this in the next few days if I don't hear anything back. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/sdl2/Makefile,v retrieving revision 1.45 diff -u -p -r1.45 Makefile --- Makefile 14 May 2023 19:59:24 -0000 1.45 +++ Makefile 16 Jul 2023 00:16:19 -0000 @@ -1,13 +1,12 @@ COMMENT= cross-platform multimedia library -V= 2.26.5 +V= 2.28.1 DISTNAME= SDL2-${V} PKGNAME= sdl2-${V} CATEGORIES= devel MASTER_SITES= https://www.libsdl.org/release/ -REVISION= 0 -SHARED_LIBS= SDL2 0.13 # 2.26.4 +SHARED_LIBS= SDL2 0.14 # 2.28.1 HOMEPAGE= https://www.libsdl.org/ Index: distinfo =================================================================== RCS file: /cvs/ports/devel/sdl2/distinfo,v retrieving revision 1.17 diff -u -p -r1.17 distinfo --- distinfo 11 Apr 2023 22:29:47 -0000 1.17 +++ distinfo 16 Jul 2023 00:16:19 -0000 @@ -1,2 +1,2 @@ -SHA256 (SDL2-2.26.5.tar.gz) = rY/qPaG+ZMg8RbHTY6a0uo/WD1veOyPsc4VXCexeq/c= -SIZE (SDL2-2.26.5.tar.gz) = 8085012 +SHA256 (SDL2-2.28.1.tar.gz) = SXfOulwAVNvmwvEUZBrO1DzjvytB6mS2o3LWuhKcsV0= +SIZE (SDL2-2.28.1.tar.gz) = 8109697 Index: patches/patch-Makefile_in =================================================================== RCS file: /cvs/ports/devel/sdl2/patches/patch-Makefile_in,v retrieving revision 1.14 diff -u -p -r1.14 patch-Makefile_in --- patches/patch-Makefile_in 1 Apr 2023 15:45:37 -0000 1.14 +++ patches/patch-Makefile_in 16 Jul 2023 00:16:19 -0000 @@ -1,7 +1,7 @@ Index: Makefile.in --- Makefile.in.orig +++ Makefile.in -@@ -136,7 +136,7 @@ LT_AGE = @LT_AGE@ +@@ -137,7 +137,7 @@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ Index: patches/patch-sdl2-config_cmake_in =================================================================== RCS file: /cvs/ports/devel/sdl2/patches/patch-sdl2-config_cmake_in,v retrieving revision 1.6 diff -u -p -r1.6 patch-sdl2-config_cmake_in --- patches/patch-sdl2-config_cmake_in 1 Apr 2023 15:45:37 -0000 1.6 +++ patches/patch-sdl2-config_cmake_in 16 Jul 2023 00:16:19 -0000 @@ -1,7 +1,7 @@ Index: sdl2-config.cmake.in --- sdl2-config.cmake.in.orig +++ sdl2-config.cmake.in -@@ -124,7 +124,7 @@ if(WIN32) +@@ -134,7 +134,7 @@ if(WIN32) unset(_sdl2_implib) unset(_sdl2_dll) else() Index: patches/patch-sdl2_pc_in =================================================================== RCS file: /cvs/ports/devel/sdl2/patches/patch-sdl2_pc_in,v retrieving revision 1.6 diff -u -p -r1.6 patch-sdl2_pc_in --- patches/patch-sdl2_pc_in 18 Oct 2022 00:56:38 -0000 1.6 +++ patches/patch-sdl2_pc_in 16 Jul 2023 00:16:19 -0000 @@ -3,7 +3,7 @@ Index: sdl2.pc.in +++ sdl2.pc.in @@ -10,5 +10,5 @@ Description: Simple DirectMedia Layer is a cross-platf Version: @SDL_VERSION@ - Requires: + Requires.private: @PKGCONFIG_DEPENDS@ Conflicts: -Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@ @PKGCONFIG_LIBS_PRIV@ @SDL_STATIC_LIBS@ -Cflags: -I${includedir} -I${includedir}/SDL2 @SDL_CFLAGS@ Index: patches/patch-src_SDL_c =================================================================== RCS file: /cvs/ports/devel/sdl2/patches/patch-src_SDL_c,v retrieving revision 1.12 diff -u -p -r1.12 patch-src_SDL_c --- patches/patch-src_SDL_c 11 Apr 2023 22:29:47 -0000 1.12 +++ patches/patch-src_SDL_c 16 Jul 2023 00:16:19 -0000 @@ -3,9 +3,9 @@ Index: src/SDL.c --- src/SDL.c.orig +++ src/SDL.c -@@ -558,6 +558,10 @@ SDL_GetRevisionNumber(void) - const char * - SDL_GetPlatform(void) +@@ -544,6 +544,10 @@ int SDL_GetRevisionNumber(void) + /* Get the name of the platform */ + const char *SDL_GetPlatform(void) { + const char *platform; + if (platform = SDL_getenv("SDL_PLATFORM")) { Index: patches/patch-src_joystick_SDL_gamecontrollerdb_h =================================================================== RCS file: patches/patch-src_joystick_SDL_gamecontrollerdb_h diff -N patches/patch-src_joystick_SDL_gamecontrollerdb_h --- patches/patch-src_joystick_SDL_gamecontrollerdb_h 14 May 2023 19:59:24 -0000 1.9 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -By default, OpenBSD uses Linux controller mappings - -Index: src/joystick/SDL_gamecontrollerdb.h ---- src/joystick/SDL_gamecontrollerdb.h.orig -+++ src/joystick/SDL_gamecontrollerdb.h -@@ -522,7 +522,7 @@ static const char *s_ControllerMappings [] = - "03000000830500006020000000010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,hint:!SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,", - "03000000830500006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2,", - #endif --#if SDL_JOYSTICK_LINUX -+#if defined(SDL_JOYSTICK_LINUX) || defined(__OpenBSD__) - "xinput,*,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,", - "03000000c82d00000090000011010000,8BitDo FC30 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,", - "03000000c82d00000090000011010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,hint:!SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,", Index: patches/patch-src_joystick_bsd_SDL_bsdjoystick_c =================================================================== RCS file: /cvs/ports/devel/sdl2/patches/patch-src_joystick_bsd_SDL_bsdjoystick_c,v retrieving revision 1.8 diff -u -p -r1.8 patch-src_joystick_bsd_SDL_bsdjoystick_c --- patches/patch-src_joystick_bsd_SDL_bsdjoystick_c 14 May 2023 19:59:24 -0000 1.8 +++ patches/patch-src_joystick_bsd_SDL_bsdjoystick_c 16 Jul 2023 00:16:19 -0000 @@ -5,7 +5,7 @@ https://github.com/libsdl-org/SDL/issues Index: src/joystick/bsd/SDL_bsdjoystick.c --- src/joystick/bsd/SDL_bsdjoystick.c.orig +++ src/joystick/bsd/SDL_bsdjoystick.c -@@ -728,6 +728,18 @@ BSD_JoystickUpdate(SDL_Joystick *joy) +@@ -711,6 +711,18 @@ static void BSD_JoystickUpdate(SDL_Joystick *joy) /* scaleaxe */ v = (Sint32) hid_get_data(REP_BUF_DATA(rep), &hitem); v = (((SDL_JOYSTICK_AXIS_MAX - SDL_JOYSTICK_AXIS_MIN) * (v - hitem.logical_minimum) ) / (hitem.logical_maximum - hitem.logical_minimum)) + SDL_JOYSTICK_AXIS_MIN;