Hi,

Based on a diff from Brad and with a fix for the gamecontroller support
found by namn@. I've tested several consumers runtime. sthen@ said
Brad's diff that was the same except for the gamecontroller patch ran
into problems building games/devilutionx and games/warzone2100.

I'm attaching the SDL2 update diff, as well as 2 more diffs to fix the
build of devilutionx and warzone2100.

Release Notes:
https://github.com/libsdl-org/SDL/releases/tag/release-2.24.0

ok?
? CHECK_SYM
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/sdl2/Makefile,v
retrieving revision 1.40
diff -u -p -r1.40 Makefile
--- Makefile    2 May 2022 14:04:34 -0000       1.40
+++ Makefile    10 Sep 2022 06:17:39 -0000
@@ -1,13 +1,12 @@
 COMMENT=       cross-platform multimedia library
 
-V=             2.0.20
+V=             2.24.0
 DISTNAME=      SDL2-${V}
 PKGNAME=       sdl2-${V}
-REVISION=      0
 CATEGORIES=    devel
 MASTER_SITES=  https://www.libsdl.org/release/
 
-SHARED_LIBS=   SDL2            0.11    # 0.18
+SHARED_LIBS=   SDL2            0.12    # 0.18
 
 HOMEPAGE=      https://www.libsdl.org/
 
@@ -18,8 +17,8 @@ DEBUG_PACKAGES=       ${BUILD_PACKAGES}
 # zlib
 PERMIT_PACKAGE=        Yes
 
-WANTLIB+=      X11 Xcursor Xext Xfixes Xi Xinerama Xrandr Xrender Xss
-WANTLIB+=      Xxf86vm m pthread samplerate sndio usbhid xcb
+WANTLIB+=      X11 Xcursor Xext Xfixes Xi Xrandr Xrender Xss m pthread 
samplerate
+WANTLIB+=      sndio usbhid xcb
 # GL library is dlopen'd
 WANTLIB+=      GL
 
@@ -62,5 +61,8 @@ CONFIGURE_ARGS+= --enable-altivec=no
 
 # tests in test subdir, but interactive and not hooked up to build
 NO_TEST=       Yes
+
+pre-configure:
+       ${SUBST_CMD} ${WRKSRC}/sdl2-config.cmake.in
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/sdl2/distinfo,v
retrieving revision 1.14
diff -u -p -r1.14 distinfo
--- distinfo    8 Mar 2022 11:38:36 -0000       1.14
+++ distinfo    10 Sep 2022 06:17:39 -0000
@@ -1,2 +1,2 @@
-SHA256 (SDL2-2.0.20.tar.gz) = xWq6HXtbDn6Znkp2mMcLY6M5T/lwS19uHFfgwW8E3QY=
-SIZE (SDL2-2.0.20.tar.gz) = 7207221
+SHA256 (SDL2-2.24.0.tar.gz) = keTDSxdo+S05mweOFxRIxq8Yyv2nQ5h+0gZKKJVNbZc=
+SIZE (SDL2-2.24.0.tar.gz) = 7520541
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-Makefile_in,v
retrieving revision 1.12
diff -u -p -r1.12 patch-Makefile_in
--- patches/patch-Makefile_in   8 Mar 2022 11:38:36 -0000       1.12
+++ patches/patch-Makefile_in   10 Sep 2022 06:17:39 -0000
@@ -1,7 +1,7 @@
 Index: Makefile.in
 --- Makefile.in.orig
 +++ Makefile.in
-@@ -133,7 +133,7 @@ LT_AGE      = @LT_AGE@
+@@ -135,7 +135,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.4
diff -u -p -r1.4 patch-sdl2-config_cmake_in
--- patches/patch-sdl2-config_cmake_in  8 Mar 2022 11:38:36 -0000       1.4
+++ patches/patch-sdl2-config_cmake_in  10 Sep 2022 06:17:39 -0000
@@ -1,76 +1,70 @@
+cmake: add library directories & pthread to imported targets of 
sdl2-config.cmake
+329794daf3f58088b56a64bdfa36b2021903be20
+
 Index: sdl2-config.cmake.in
 --- sdl2-config.cmake.in.orig
 +++ sdl2-config.cmake.in
-@@ -10,72 +10,3 @@ set(SDL2_LIBDIR "${libdir}")
- set(SDL2_INCLUDE_DIRS "${includedir}/SDL2")
- set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")
- string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)
--
--if(NOT TARGET SDL2::SDL2)
--  # provide SDL2::SDL2, SDL2::SDL2main and SDL2::SDL2-static targets, like 
SDL2Config.cmake does, for compatibility
--
--  # Remove -lSDL2 as that is handled by CMake, note the space at the end so 
it does not replace e.g. -lSDL2main
--  # This may require "libdir" beeing set (from above)
--  string(REPLACE "-lSDL2 " "" SDL2_EXTRA_LINK_FLAGS "@SDL_RLD_FLAGS@ 
@SDL_LIBS@ ")
--  # also get rid of -lSDL2main, if you want to link against that use both 
SDL2::SDL2main and SDL2::SDL2 (in that order)
--  # (SDL2Config.cmake has the same behavior)
--  string(REPLACE "-lSDL2main" "" SDL2_EXTRA_LINK_FLAGS 
${SDL2_EXTRA_LINK_FLAGS})
--  string(STRIP "${SDL2_EXTRA_LINK_FLAGS}" SDL2_EXTRA_LINK_FLAGS)
--  string(REPLACE "-lSDL2 " "" SDL2_EXTRA_LINK_FLAGS_STATIC "@SDL_STATIC_LIBS@ 
")
--  string(STRIP "${SDL2_EXTRA_LINK_FLAGS_STATIC}" SDL2_EXTRA_LINK_FLAGS_STATIC)
--
--if(WIN32 AND NOT MSVC)
--  # MINGW needs very special handling, because the link order must be exactly 
-lmingw32 -lSDL2main -lSDL2
--  # for it to work at all (and -mwindows somewhere); a normal SHARED IMPORTED 
or STATIC IMPORTED library always puts itself first
--  # so handle this like a header-only lib and put everything in 
INTERFACE_LINK_LIBRARIES
--
--  add_library(SDL2::SDL2 INTERFACE IMPORTED)
--  set_target_properties(SDL2::SDL2 PROPERTIES
--    INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}"
--    INTERFACE_LINK_LIBRARIES "-L${SDL2_LIBDIR} -lSDL2")
--
--  add_library(SDL2::SDL2main INTERFACE IMPORTED)
--  set_target_properties(SDL2::SDL2main PROPERTIES
--    INTERFACE_LINK_LIBRARIES "-L${SDL2_LIBDIR} -lmingw32 -lSDL2main 
-mwindows")
--
--else() # (not WIN32) or MSVC
--
--  add_library(SDL2::SDL2 SHARED IMPORTED)
--  set_target_properties(SDL2::SDL2 PROPERTIES
--    INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}"
--    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
--    IMPORTED_LOCATION 
"${SDL2_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}")
--
--  if(MSVC)
--    # This file is generated when building SDL2 with autotools and MinGW, and 
MinGW/dlltool
--    # isn't able to generate .lib files that are usable by recent MSVC 
versions 
--    # (something about "module unsafe for SAFESEH"; SAFESEH is enabled by 
default in MSVC).
--    # The .lib file for SDL2.dll *could* be generated with `gendef SDL2.dll` 
and then
--    # `lib.exe /machine:x86 /def:SDL2.def /out:SDL2.lib` (or /machine:amd64)
--    # but that requires lib.exe from a Visual Studio installation - and that 
still doesn't
--    # give you a static SDL2main.lib with SAFESEH support that you'll need 
(unless you don't use SDL2main)
--    # Note that when building SDL2 with CMake and MSVC, the result works with 
both MinGW and MSVC.
--
--    message(FATAL_ERROR, "This build of libSDL2 only supports MinGW, not MSVC 
(Visual C++), because it lacks .lib files!")
--    # MSVC needs SDL2.lib set as IMPORTED_IMPLIB to link against (comment out 
message() call above if you added SDL2.lib yourself)
--    set_target_properties(SDL2::SDL2 PROPERTIES IMPORTED_IMPLIB 
"${SDL2_LIBDIR}/SDL2.lib")
--  else()
--    # this mustn't be set for MSVC, so do it here in an extra call here
--    set_target_properties(SDL2::SDL2 PROPERTIES INTERFACE_LINK_LIBRARIES  
"${SDL2_EXTRA_LINK_FLAGS}")
--  endif()
--
--  add_library(SDL2::SDL2main STATIC IMPORTED)
--  set_target_properties(SDL2::SDL2main PROPERTIES
--    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
--    IMPORTED_LOCATION 
"${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX}")
--
--endif() # (not WIN32) or MSVC
--
--  add_library(SDL2::SDL2-static STATIC IMPORTED)
--  set_target_properties(SDL2::SDL2-static PROPERTIES
--    INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}"
--    IMPORTED_LINK_INTERFACE_LANGUAGES "C"
--    IMPORTED_LOCATION 
"${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2${CMAKE_STATIC_LIBRARY_SUFFIX}"
--    INTERFACE_LINK_LIBRARIES "${SDL2_EXTRA_LINK_FLAGS_STATIC}")
--
--endif() # NOT TARGET SDL2::SDL2
+@@ -39,18 +39,25 @@ unset(bindir)
+ unset(libdir)
+ unset(includedir)
+ 
+-set(_sdl2_libraries "@SDL_LIBS@")
+-set(_sdl2_static_private_libs "@SDL_STATIC_LIBS@")
++set(_sdl2_libraries_in "@SDL_LIBS@")
++set(_sdl2_static_private_libs_in "@SDL_STATIC_LIBS@")
+ 
+-# Convert _sdl2_libraries to list and keep only libraries
+-string(REGEX MATCHALL "-[lm]([-a-zA-Z0-9._]+)" _sdl2_libraries 
"${_sdl2_libraries}")
++# Convert _sdl2_libraries to list and keep only libraries + library 
directories
++string(REGEX MATCHALL "-[lm]([-a-zA-Z0-9._]+)" _sdl2_libraries 
"${_sdl2_libraries_in}")
+ string(REGEX REPLACE "^-l" "" _sdl2_libraries "${_sdl2_libraries}")
+ string(REGEX REPLACE ";-l" ";" _sdl2_libraries "${_sdl2_libraries}")
++string(REGEX MATCHALL "-L([-a-zA-Z0-9._/]+)" _sdl2_libdirs 
"${_sdl2_libraries_in}")
++string(REGEX REPLACE "^-L" "" _sdl2_libdirs "${_sdl2_libdirs}")
++string(REGEX REPLACE ";-L" ";" _sdl2_libdirs "${_sdl2_libdirs}")
++list(APPEND _sdl2_libdirs "${SDL2_LIBDIR}")
+ 
+-# Convert _sdl2_static_private_libs to list and keep only libraries
+-string(REGEX MATCHALL "(-[lm]([-a-zA-Z0-9._]+))|(-Wl,[^ ]*framework[^ ]*)" 
_sdl2_static_private_libs "${_sdl2_static_private_libs}")
++# Convert _sdl2_static_private_libs to list and keep only libraries + library 
directories
++string(REGEX MATCHALL "(-[lm]([-a-zA-Z0-9._]+))|(-Wl,[^ ]*framework[^ 
]*)|(-pthread)" _sdl2_static_private_libs "${_sdl2_static_private_libs_in}")
+ string(REGEX REPLACE "^-l" "" _sdl2_static_private_libs 
"${_sdl2_static_private_libs}")
+ string(REGEX REPLACE ";-l" ";" _sdl2_static_private_libs 
"${_sdl2_static_private_libs}")
++string(REGEX MATCHALL "-L([-a-zA-Z0-9._/]+)" _sdl2_static_private_libdirs 
"${_sdl2_static_private_libs_in}")
++string(REGEX REPLACE "^-L" "" _sdl2_static_private_libdirs 
"${_sdl2_static_private_libdirs}")
++string(REGEX REPLACE ";-L" ";" _sdl2_static_private_libdirs 
"${_sdl2_static_private_libdirs}")
+ 
+ if(_sdl2_libraries MATCHES ".*SDL2main.*")
+   list(INSERT SDL2_LIBRARIES 0 SDL2::SDL2main)
+@@ -103,6 +110,7 @@ if(WIN32)
+       set_target_properties(SDL2::SDL2 PROPERTIES
+         INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}"
+         INTERFACE_LINK_LIBRARIES "${_sdl2_link_libraries}"
++        INTERFACE_LINK_DIRECTORIES "${_sdl2_libdirs}"
+         IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+         IMPORTED_IMPLIB "${_sdl2_implib}"
+         IMPORTED_LOCATION "${_sdl2_dll}"
+@@ -115,13 +123,14 @@ if(WIN32)
+   unset(_sdl2_implib)
+   unset(_sdl2_dll)
+ else()
+-  set(_sdl2_shared 
"${SDL2_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}")
++  set(_sdl2_shared 
"${SDL2_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIBSDL2_VERSION}")
+   if(EXISTS "${_sdl2_shared}")
+     if(NOT TARGET SDL2::SDL2)
+       add_library(SDL2::SDL2 SHARED IMPORTED)
+       set_target_properties(SDL2::SDL2 PROPERTIES
+         INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}"
+         INTERFACE_LINK_LIBRARIES "${_sdl2_link_libraries}"
++        INTERFACE_LINK_DIRECTORIES "${_sdl2_libdirs}"
+         IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+         IMPORTED_LOCATION "${_sdl2_shared}"
+       )
+@@ -142,6 +151,7 @@ if(EXISTS "${_sdl2_static}")
+         IMPORTED_LOCATION "${_sdl2_static}"
+         INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}"
+         INTERFACE_LINK_LIBRARIES 
"${_sdl2_link_libraries};${_sdl2_static_private_libs}"
++        INTERFACE_LINK_DIRECTORIES 
"${_sdl2_libdirs};${_sdl2_static_private_libdirs}"
+         IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+     )
+   endif()
Index: patches/patch-sdl2-config_in
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-sdl2-config_in,v
retrieving revision 1.3
diff -u -p -r1.3 patch-sdl2-config_in
--- patches/patch-sdl2-config_in        8 Mar 2022 11:38:36 -0000       1.3
+++ patches/patch-sdl2-config_in        10 Sep 2022 06:17:39 -0000
@@ -1,7 +1,7 @@
 Index: sdl2-config.in
 --- sdl2-config.in.orig
 +++ sdl2-config.in
-@@ -42,10 +42,10 @@ while test $# -gt 0; do
+@@ -46,10 +46,10 @@ while test $# -gt 0; do
        echo @SDL_VERSION@
        ;;
      --cflags)
Index: patches/patch-sdl2_pc_in
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-sdl2_pc_in,v
retrieving revision 1.5
diff -u -p -r1.5 patch-sdl2_pc_in
--- patches/patch-sdl2_pc_in    8 Mar 2022 11:38:36 -0000       1.5
+++ patches/patch-sdl2_pc_in    10 Sep 2022 06:17:39 -0000
@@ -6,6 +6,6 @@ Index: sdl2.pc.in
  Requires:
  Conflicts:
 -Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@ @PKGCONFIG_LIBS_PRIV@ 
@SDL_STATIC_LIBS@
--Cflags: -I${includedir}/SDL2 @SDL_CFLAGS@
+-Cflags: -I${includedir} -I${includedir}/SDL2 @SDL_CFLAGS@
 +Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@ @X_LIBS@
 +Cflags: -I${includedir}/SDL2 @SDL_CFLAGS@ @X_CFLAGS@
Index: patches/patch-src_SDL_c
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-src_SDL_c,v
retrieving revision 1.9
diff -u -p -r1.9 patch-src_SDL_c
--- patches/patch-src_SDL_c     2 May 2022 14:04:34 -0000       1.9
+++ patches/patch-src_SDL_c     10 Sep 2022 06:17:39 -0000
@@ -1,10 +1,10 @@
-Disable breaking if no haptic feedback support which disallows gamecontroller 
API
-allow custom SDL GetPlatform name with env var SDL_PLATFORM
+- Disable breaking if no haptic feedback support which disallows 
gamecontroller API
+- Allow custom SDL GetPlatform name with env var SDL_PLATFORM
 
 Index: src/SDL.c
 --- src/SDL.c.orig
 +++ src/SDL.c
-@@ -279,9 +279,6 @@ SDL_InitSubSystem(Uint32 flags)
+@@ -301,9 +301,6 @@ SDL_InitSubSystem(Uint32 flags)
          }
          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_GAMECONTROLLER);
          flags_initialized |= SDL_INIT_GAMECONTROLLER;
@@ -14,13 +14,12 @@ Index: src/SDL.c
  #endif
      }
  
-@@ -508,6 +505,11 @@ SDL_GetRevisionNumber(void)
+@@ -533,6 +530,10 @@ SDL_GetRevisionNumber(void)
  const char *
  SDL_GetPlatform(void)
  {
 +    const char *platform;
 +    if (platform = SDL_getenv("SDL_PLATFORM")) {
-+        printf("Custom SDL_PLATFORM: %s\n", platform);
 +        return platform;
 +    }
  #if __AIX__
Index: patches/patch-src_filesystem_unix_SDL_sysfilesystem_c
===================================================================
RCS file: patches/patch-src_filesystem_unix_SDL_sysfilesystem_c
diff -N patches/patch-src_filesystem_unix_SDL_sysfilesystem_c
--- patches/patch-src_filesystem_unix_SDL_sysfilesystem_c       8 Mar 2022 
11:38:36 -0000       1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-Disable SDL_GetBasePath implementation, not functional.
-
-Index: src/filesystem/unix/SDL_sysfilesystem.c
---- src/filesystem/unix/SDL_sysfilesystem.c.orig
-+++ src/filesystem/unix/SDL_sysfilesystem.c
-@@ -149,50 +149,6 @@ SDL_GetBasePath(void)
-         }
-     }
- #endif
--#if defined(__OPENBSD__)
--    /* Please note that this will fail if the process was launched with a 
relative path and the cwd has changed, or argv is altered. So don't do that. Or 
add a new sysctl to OpenBSD. */
--    char **cmdline;
--    size_t len;
--    const int mib[] = { CTL_KERN, KERN_PROC_ARGS, getpid(), KERN_PROC_ARGV };
--    if (sysctl(mib, 4, NULL, &len, NULL, 0) != -1) {
--        char *exe;
--        char *realpathbuf = (char *) SDL_malloc(PATH_MAX + 1);
--        if (!realpathbuf) {
--            SDL_OutOfMemory();
--            return NULL;
--        }
--
--        cmdline = SDL_malloc(len);
--        if (!cmdline) {
--            SDL_free(realpathbuf);
--            SDL_OutOfMemory();
--            return NULL;
--        }
--
--        sysctl(mib, 4, cmdline, &len, NULL, 0);
--
--        exe = cmdline[0];
--        if (SDL_strchr(exe, '/') == NULL) {  /* not a relative or absolute 
path, check $PATH for it */
--            exe = search_path_for_binary(cmdline[0]);
--        }
--
--        if (exe) {
--            if (realpath(exe, realpathbuf) != NULL) {
--                retval = realpathbuf;
--            }
--
--            if (exe != cmdline[0]) {
--                SDL_free(exe);
--            }
--        }
--
--        if (!retval) {
--            SDL_free(realpathbuf);
--        }
--
--        SDL_free(cmdline);
--    }
--#endif
- #if defined(__SOLARIS__)
-     const char *path = getexecname();
-     if ((path != NULL) && (path[0] == '/')) { /* must be absolute path... */
Index: patches/patch-src_joystick_SDL_gamecontrollerdb_h
===================================================================
RCS file: 
/cvs/ports/devel/sdl2/patches/patch-src_joystick_SDL_gamecontrollerdb_h,v
retrieving revision 1.4
diff -u -p -r1.4 patch-src_joystick_SDL_gamecontrollerdb_h
--- patches/patch-src_joystick_SDL_gamecontrollerdb_h   8 Mar 2022 11:38:36 
-0000       1.4
+++ patches/patch-src_joystick_SDL_gamecontrollerdb_h   10 Sep 2022 06:17:39 
-0000
@@ -1,10 +1,10 @@
-enable controller detection by GUID on OpenBSD
-use both LINUX and MACOSX guids to match both XInput and DInput devices
+- Enable controller detection by GUID on OpenBSD
+- Use both Linux and macOS GUIDs to match both XInput and DInput devices
 
 Index: src/joystick/SDL_gamecontrollerdb.h
 --- src/joystick/SDL_gamecontrollerdb.h.orig
 +++ src/joystick/SDL_gamecontrollerdb.h
-@@ -347,7 +347,7 @@ static const char *s_ControllerMappings [] =
+@@ -357,7 +357,7 @@ static const char *s_ControllerMappings [] =
      
"030000004f04000003d0000000000000,run'n'drive,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:a3,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:a4,rightstick:b11,righttrigger:b5,rightx:a2,righty:a5,start:b9,x:b0,y:b3,",
      "03000000101c0000171c000000000000,uRage 
Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,",
  #endif
@@ -13,12 +13,12 @@ Index: src/joystick/SDL_gamecontrollerdb
      "03000000c82d00000090000001000000,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,",
      "03000000c82d00000090000001000000,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,",
      "03000000c82d00001038000000010000,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:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,",
-@@ -494,7 +494,7 @@ static const char *s_ControllerMappings [] =
+@@ -509,7 +509,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 defined(__LINUX__)
-+#if defined(__LINUX__) || defined(__OpenBSD__)
+-#ifdef 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.5
diff -u -p -r1.5 patch-src_joystick_bsd_SDL_bsdjoystick_c
--- patches/patch-src_joystick_bsd_SDL_bsdjoystick_c    8 Mar 2022 11:38:36 
-0000       1.5
+++ patches/patch-src_joystick_bsd_SDL_bsdjoystick_c    10 Sep 2022 06:17:39 
-0000
@@ -1,8 +1,8 @@
-assign buttons correctly
-get GUID using USB_GET_DEVICEINFO
-detect newer (XInput-style) gamecontroller if hitem.logical_maximum is
-> 255; if so invert y axes
-use ujoy(4) devices
+- Assign buttons correctly
+- Get GUID using USB_GET_DEVICEINFO
+- detect newer (XInput-style) gamecontroller if hitem.logical_maximum is > 255;
+  if so invert y axes
+- Use ujoy(4) devices
 
 Index: src/joystick/bsd/SDL_bsdjoystick.c
 --- src/joystick/bsd/SDL_bsdjoystick.c.orig
@@ -43,7 +43,7 @@ Index: src/joystick/bsd/SDL_bsdjoystick.
  
          joynames[numjoysticks] = SDL_strdup(s);
  
-@@ -356,6 +365,9 @@ BSD_JoystickOpen(SDL_Joystick *joy, int device_index)
+@@ -362,6 +371,9 @@ BSD_JoystickOpen(SDL_Joystick *joy, int device_index)
  #endif
      int fd;
      int i;
@@ -53,7 +53,7 @@ Index: src/joystick/bsd/SDL_bsdjoystick.
  
      fd = open(path, O_RDONLY | O_CLOEXEC);
      if (fd == -1) {
-@@ -434,6 +446,17 @@ BSD_JoystickOpen(SDL_Joystick *joy, int device_index)
+@@ -440,6 +452,17 @@ BSD_JoystickOpen(SDL_Joystick *joy, int device_index)
      }
  desc_failed:
  #endif
@@ -71,7 +71,7 @@ Index: src/joystick/bsd/SDL_bsdjoystick.
      if (report_alloc(rep, hw->repdesc, REPORT_INPUT) < 0) {
          goto usberr;
      }
-@@ -544,6 +567,7 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
+@@ -550,6 +573,7 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
      Sint32 v;
  #ifdef __OpenBSD__
      Sint32 dpad[4] = {0, 0, 0, 0};
@@ -79,7 +79,7 @@ Index: src/joystick/bsd/SDL_bsdjoystick.
  #endif
  
  #if defined(__FREEBSD__) || SDL_HAVE_MACHINE_JOYSTICK_H || 
defined(__FreeBSD_kernel__) || defined(__DragonFly_)
-@@ -618,6 +642,18 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
+@@ -624,6 +648,18 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
                              naxe = joy->hwdata->axis_map[joyaxe];
                              /* scaleaxe */
                              v = (Sint32) hid_get_data(REP_BUF_DATA(rep), 
&hitem);
@@ -98,7 +98,7 @@ Index: src/joystick/bsd/SDL_bsdjoystick.
                              v -= (hitem.logical_maximum +
                                    hitem.logical_minimum + 1) / 2;
                              v *= 32768 /
-@@ -652,7 +688,12 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
+@@ -658,7 +694,12 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
                      }
                  case HUP_BUTTON:
                      v = (Sint32) hid_get_data(REP_BUF_DATA(rep), &hitem);
@@ -111,7 +111,7 @@ Index: src/joystick/bsd/SDL_bsdjoystick.
                      nbutton++;
                      break;
                  default:
-@@ -697,11 +738,16 @@ static SDL_JoystickGUID
+@@ -703,11 +744,16 @@ static SDL_JoystickGUID
  BSD_JoystickGetDeviceGUID( int device_index )
  {
      SDL_JoystickGUID guid;
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/sdl2/pkg/PLIST,v
retrieving revision 1.12
diff -u -p -r1.12 PLIST
--- pkg/PLIST   8 Mar 2022 11:38:36 -0000       1.12
+++ pkg/PLIST   10 Sep 2022 06:17:39 -0000
@@ -16,6 +16,7 @@ include/SDL2/SDL_events.h
 include/SDL2/SDL_filesystem.h
 include/SDL2/SDL_gamecontroller.h
 include/SDL2/SDL_gesture.h
+include/SDL2/SDL_guid.h
 include/SDL2/SDL_haptic.h
 include/SDL2/SDL_hidapi.h
 include/SDL2/SDL_hints.h
? old-patches
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/devilutionx/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- Makefile    11 Mar 2022 19:04:15 -0000      1.10
+++ Makefile    10 Sep 2022 06:18:29 -0000
@@ -5,6 +5,7 @@ CATEGORIES =    games x11
 GH_ACCOUNT =   diasurgical
 GH_PROJECT =   devilutionX
 GH_TAGNAME =   1.1.0
+REVISION =     0
 
 MAINTAINER =   Brian Callahan <bcal...@openbsd.org>
 
@@ -26,7 +27,8 @@ LIB_DEPENDS = devel/sdl2-mixer \
 CONFIGURE_ARGS =       -DBINARY_RELEASE=ON \
                        -DDEBUG=OFF \
                        -DDISABLE_LTO=ON \
-                       -DVERSION_NUM="${GH_TAGNAME}"
+                       -DVERSION_NUM="${GH_TAGNAME}" \
+                       -DSDL2_INCLUDE_DIR=${LOCALBASE}/include/SDL2
 
 NO_TEST =      Yes
 
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: patches/patch-CMakeLists_txt
diff -N patches/patch-CMakeLists_txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-CMakeLists_txt        10 Sep 2022 06:18:29 -0000
@@ -0,0 +1,12 @@
+EXPERIMENTAL: don't link SDL2::SDL2main (removed in SDL 2.24.0)
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -479,7 +479,6 @@ foreach(target devilution ${BIN_TARGET})
+     target_compile_definitions(${target} PRIVATE USE_SDL1)
+   else()
+     target_link_libraries(${target} PRIVATE
+-      SDL2::SDL2main
+       SDL2::SDL2_ttf
+       SDL2::SDL2_mixer)
+   endif()
? BUILD
? MAKE_INSTALL
? PORT_LIB_DEPENDS_CHECK
Index: Makefile
===================================================================
RCS file: /cvs/ports/games/warzone2100/Makefile,v
retrieving revision 1.46
diff -u -p -r1.46 Makefile
--- Makefile    2 Sep 2022 06:17:29 -0000       1.46
+++ Makefile    10 Sep 2022 04:47:15 -0000
@@ -8,7 +8,7 @@ CATEGORIES=     games
 MASTER_SITES=  https://github.com/Warzone2100/warzone2100/releases/download/$V/
 DISTFILES=     warzone2100-${V}{warzone2100_src}${EXTRACT_SUFX}
 EXTRACT_SUFX=  .tar.xz
-REVISION=      0
+REVISION=      1
 
 HOMEPAGE=      https://wz2100.net/
 
@@ -43,6 +43,7 @@ BUILD_DEPENDS=        archivers/unzip \
                textproc/asciidoc \
                textproc/asciidoctor
 RUN_DEPENDS=   devel/desktop-file-utils
+MODCMAKE_LDFLAGS +=    -L${LOCALBASE}/lib -L${X11BASE}/lib
 
 WRKDIST =      ${WRKDIR}/warzone2100
 

Reply via email to