On 2026/08/19 10:20, [email protected] wrote:
> For testing purposes, that would be removing the old devel/sdl folder,
> putting this in devel/sdl as oppose to devel/sdl12-compat with a Makefile
> something like this?


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/sdl/Makefile,v
diff -u -p -r1.108 Makefile
--- Makefile    21 Sep 2023 09:50:05 -0000      1.108
+++ Makefile    19 Aug 2026 11:05:11 -0000
@@ -1,79 +1,34 @@
-COMMENT=       cross-platform multimedia library
+COMMENT =      compatiblity layer SDL 1.2 on SDL2
 
-VERSION=       1.2.15
-DISTNAME=      SDL-${VERSION}
-PKGNAME=       ${DISTNAME:L}
-REVISION=      12
-CATEGORIES=    devel
-MAINTAINER=    Thomas Frohwein <[email protected]>
-SITES=         ${HOMEPAGE}release/
-
-SHARED_LIBS=   SDL     8.0
-
-HOMEPAGE=      https://www.libsdl.org/
-
-# LGPLv2.1+
-PERMIT_PACKAGE=        Yes
-
-WANTLIB=       iconv m pthread sndio usbhid
-
-LIB_DEPENDS=   converters/libiconv
-
-AUTOCONF_VERSION= 2.61
-BUILD_DEPENDS+=        ${MODGNU_AUTOCONF_DEPENDS}
-
-.if ${MACHINE_ARCH} == "i386"
-BUILD_DEPENDS+=        devel/nasm
-.endif
-
-FLAVORS=       aa no_x11
-FLAVOR?=
-
-USE_GMAKE=     Yes
-SEPARATE_BUILD=        Yes
-CONFIGURE_STYLE= gnu
-MODGNU_CONFIG_GUESS_DIRS=      ${WRKSRC} ${WRKSRC}/test
-CONFIGURE_ARGS+= --disable-alsa \
-                --disable-arts \
-                --disable-esd \
-                --disable-oss \
-                --disable-pulseaudio
-CONFIGURE_ENV+=        CPPFLAGS="-I${LOCALBASE}/include" \
-               LDFLAGS="-L${LOCALBASE}/lib"
-
-# in case devel/usb is installed, don't pick it up.
-CONFIGURE_ENV+= ac_cv_lib_usb_hid_init=no \
-               ac_cv_header_usb_h=no
-
-.if ${FLAVOR:Maa}
-WANTLIB+=      aa
-LIB_DEPENDS+=  graphics/aalib
-CONFIGURE_ARGS+= --enable-video-aalib
-.endif
-
-.if ${FLAVOR:Mno_x11}
-CONFIGURE_ARGS+= --without-x \
-                --disable-video-x11
-.else
-#
-# X11/Xext/Xrender/Xrandr are dlopen'd by SDL
-#
-WANTLIB+=      X11 Xau Xdmcp Xext Xrandr Xrender xcb
-.endif
-
-NO_TEST=       Yes
-
-# The assembly code contains AltiVec instructions, whose support is not
-# properly detected at runtime. Fix SIGILLs on macppc G3s, while keeping
-# it for powerpc64.
-.if ${MACHINE_ARCH} == "powerpc"
-CONFIGURE_ARGS+= --enable-altivec=no
-.endif
+V =            1.2.76
+
+DISTNAME =     sdl12-compat-${V}
+PKGNAME =      sdl-${V}
+
+SHARED_LIBS +=  SDL    8.1
+
+CATEGORIES =   devel
+
+HOMEPAGE =     https://github.com/libsdl-org/sdl12-compat
+
+MAINTAINER =   Thomas Frohwein <[email protected]>
+
+# zlib
+PERMIT_PACKAGE =       Yes
+
+# SDL2 is dlopen(3)'d
+WANTLIB += SDL2
+
+SITES =        
https://github.com/libsdl-org/sdl12-compat/releases/download/release-${V}/
+
+MODULES =      devel/cmake
+
+BUILD_DEPENDS =        converters/libiconv
+LIB_DEPENDS =  devel/sdl2
+
+CFLAGS +=      -I${X11BASE}/include -I${LOCALBASE}/include
 
 pre-configure:
-       @mkdir -p ${WRKSRC}/src/audio/sndio
-       @cp ${FILESDIR}/SDL_sndioaudio.{c,h} ${WRKSRC}/src/audio/sndio
-       @cd ${WRKSRC} && AUTOCONF_VERSION=${AUTOCONF_VERSION} PATH=${PORTPATH} \
-               ./autogen.sh
+       ${SUBST_CMD} ${WRKSRC}/CMakeLists.txt
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/sdl/distinfo,v
diff -u -p -r1.19 distinfo
--- distinfo    18 Jan 2015 03:13:47 -0000      1.19
+++ distinfo    19 Aug 2026 11:05:11 -0000
@@ -1,2 +1,2 @@
-SHA256 (SDL-1.2.15.tar.gz) = 1tMWp5Pl40gVXw3ZO5eXmJM/uYqh7evMEIgp1kdKrQA=
-SIZE (SDL-1.2.15.tar.gz) = 3920622
+SHA256 (sdl12-compat-1.2.76.tar.gz) = 
poR3AJwkvG6HYyax6N0L7ewrDDesvdvd+QrLpI+6Szg=
+SIZE (sdl12-compat-1.2.76.tar.gz) = 487319
Index: files/SDL_sndioaudio.c
===================================================================
RCS file: files/SDL_sndioaudio.c
diff -N files/SDL_sndioaudio.c
--- files/SDL_sndioaudio.c      19 Dec 2013 09:24:18 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,243 +0,0 @@
-/*
- * Copyright (c) 2008 Jacob Meuser <[email protected]>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "SDL_config.h"
-
-/* Allow access to a raw mixing buffer */
-
-#ifdef HAVE_SIGNAL_H
-#include <signal.h>
-#endif
-#include <unistd.h>
-
-#include "SDL_timer.h"
-#include "SDL_audio.h"
-#include "../SDL_audiomem.h"
-#include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
-#include "SDL_sndioaudio.h"
-
-/* The tag name used by sndio audio */
-#define SNDIO_DRIVER_NAME         "sndio"
-
-/* Audio driver functions */
-static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec);
-static void SNDIO_WaitAudio(_THIS);
-static void SNDIO_PlayAudio(_THIS);
-static Uint8 *SNDIO_GetAudioBuf(_THIS);
-static void SNDIO_CloseAudio(_THIS);
-
-/* Audio driver bootstrap functions */
-
-static int Audio_Available(void)
-{
-       struct sio_hdl *this_hdl;
-       int available = 0;
-
-       if ( (this_hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0)) != NULL ) {
-               sio_close(this_hdl);
-               available = 1;
-       }
-
-       return available;
-}
-
-static void Audio_DeleteDevice(SDL_AudioDevice *device)
-{
-       SDL_free(device->hidden);
-       SDL_free(device);
-}
-
-static SDL_AudioDevice *Audio_CreateDevice(int devindex)
-{
-       SDL_AudioDevice *this;
-
-       /* Initialize all variables that we clean on shutdown */
-       this = (SDL_AudioDevice *)SDL_malloc(sizeof(SDL_AudioDevice));
-       if ( this ) {
-               SDL_memset(this, 0, (sizeof *this));
-               this->hidden = (struct SDL_PrivateAudioData *)
-                               SDL_malloc((sizeof *this->hidden));
-       }
-       if ( (this == NULL) || (this->hidden == NULL) ) {
-               SDL_OutOfMemory();
-               if ( this ) {
-                       SDL_free(this);
-               }
-               return(0);
-       }
-       SDL_memset(this->hidden, 0, (sizeof *this->hidden));
-
-       /* Set the function pointers */
-       this->OpenAudio = SNDIO_OpenAudio;
-       this->WaitAudio = SNDIO_WaitAudio;
-       this->PlayAudio = SNDIO_PlayAudio;
-       this->GetAudioBuf = SNDIO_GetAudioBuf;
-       this->CloseAudio = SNDIO_CloseAudio;
-
-       this->free = Audio_DeleteDevice;
-
-       hdl = NULL;
-
-       return this;
-}
-
-AudioBootStrap SNDIO_bootstrap = {
-       SNDIO_DRIVER_NAME, "sndio",
-       Audio_Available, Audio_CreateDevice
-};
-
-
-
-/* This function waits until it is possible to write a full sound buffer */
-static void SNDIO_WaitAudio(_THIS)
-{
-       /* nothing, we're using the blocking api */
-}
-
-static void SNDIO_PlayAudio(_THIS)
-{
-       int written;
-
-       /* Write the audio data */
-       written = sio_write(hdl, mixbuf, mixlen);
-       
-       /* If we couldn't write, assume fatal error for now */
-       if ( written == 0 ) {
-               this->enabled = 0;
-       }
-#ifdef DEBUG_AUDIO
-       fprintf(stderr, "Wrote %d bytes of audio data\n", written);
-#endif
-}
-
-static Uint8 *SNDIO_GetAudioBuf(_THIS)
-{
-       return(mixbuf);
-}
-
-static void SNDIO_CloseAudio(_THIS)
-{
-       if ( mixbuf != NULL ) {
-               SDL_FreeAudioMem(mixbuf);
-               mixbuf = NULL;
-       }
-       if ( hdl != NULL ) {
-               sio_close(hdl);
-               hdl = NULL;
-       }
-}
-
-static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec)
-{
-       struct sio_par par;
-
-       mixbuf = NULL;
-
-       if ((hdl = sio_open(NULL, SIO_PLAY, 0)) == NULL) {
-               SDL_SetError("sio_open() failed");
-               return(-1);
-       }
-
-       sio_initpar(&par);
-
-       switch (spec->format) {
-       case AUDIO_S16LSB:
-               par.bits = 16;
-               par.sig = 1;
-               par.le = 1;
-               break;
-       case AUDIO_S16MSB:
-               par.bits = 16;
-               par.sig = 1;
-               par.le = 0;
-               break;
-       case AUDIO_S8:
-               par.bits = 8;
-               par.sig = 1;
-               break;
-       case AUDIO_U16LSB:
-               par.bits = 16;
-               par.sig = 0;
-               par.le = 1;
-               break;
-       case AUDIO_U16MSB:
-               par.bits = 16;
-               par.sig = 0;
-               par.le = 0;
-               break;
-       case AUDIO_U8:
-               par.bits = 8;
-               par.sig = 0;
-               break;
-       default:
-               SDL_SetError("SNDIO unknown format");
-               return(-1);
-       }
-
-       par.rate = spec->freq;
-       par.pchan = spec->channels;
-       par.round = spec->samples;
-       par.appbufsz = par.round * 2;
-
-       if (sio_setpar(hdl, &par) == 0) {
-               SDL_SetError("sio_setpar() failed");
-               return(-1);
-       }
-
-       if (sio_getpar(hdl, &par) == 0) {
-               SDL_SetError("sio_getpar() failed");
-               return(-1);
-       }
-
-       if (par.bits == 16) {
-               if (par.sig && par.le) {
-                       spec->format = AUDIO_S16LSB;
-               } else if (par.sig && !par.le) {
-                       spec->format = AUDIO_S16MSB;
-               } else if (!par.sig && par.le) {
-                       spec->format = AUDIO_U16LSB;
-               } else 
-                       spec->format = AUDIO_U16MSB;
-       } else if (par.bits == 8) {
-               spec->format = par.sig ? AUDIO_S8 : AUDIO_U8;
-       } else {
-               SDL_SetError("SNDIO couldn't configure a suitable format");
-               return(-1);
-       }
-
-       spec->freq = par.rate;
-       spec->channels = par.pchan;
-       spec->samples = par.round;
-
-       SDL_CalculateAudioSpec(spec);
-
-       /* Allocate mixing buffer */
-       mixlen = spec->size;
-       mixbuf = (Uint8 *)SDL_AllocAudioMem(mixlen);
-       if ( mixbuf == NULL ) {
-               return(-1);
-       }
-       SDL_memset(mixbuf, spec->silence, spec->size);
-
-       if ( sio_start(hdl) == 0 ) {
-               SDL_SetError("sio_start() failed");
-               return(-1);
-       }
-
-       /* We're ready to rock and roll. :-) */
-       return(0);
-}
Index: files/SDL_sndioaudio.h
===================================================================
RCS file: files/SDL_sndioaudio.h
diff -N files/SDL_sndioaudio.h
--- files/SDL_sndioaudio.h      15 Dec 2013 01:57:55 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2008 Jacob Meuser <[email protected]>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "SDL_config.h"
-
-#ifndef _SDL_sndioaudio_h
-#define _SDL_sndioaudio_h
-
-#include <sndio.h>
-
-#include "../SDL_sysaudio.h"
-
-/* Hidden "this" pointer for the video functions */
-#define _THIS  SDL_AudioDevice *this
-
-struct SDL_PrivateAudioData {
-       /* The stream descriptor for the audio device */
-       struct sio_hdl *hdl;
-
-       /* The parent process id, to detect when application quits */
-       pid_t parent;
-
-       /* Raw mixing buffer */
-       Uint8 *mixbuf;
-       int    mixlen;
-
-};
-
-/* Old variable names */
-#define stream                 (this->hidden->stream)
-#define parent                 (this->hidden->parent)
-#define mixbuf                 (this->hidden->mixbuf)
-#define mixlen                 (this->hidden->mixlen)
-#define hdl                    (this->hidden->hdl)
-
-#endif /* _SDL_sndioaudio_h */
-
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        19 Aug 2026 11:05:11 -0000
@@ -0,0 +1,44 @@
+Index: CMakeLists.txt
+--- CMakeLists.txt.orig
++++ CMakeLists.txt
+@@ -93,6 +93,11 @@ if(APPLE)
+     set_target_properties(SDL PROPERTIES
+         OUTPUT_NAME "SDL-1.2.0"
+     )
++elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
++    set_target_properties(SDL PROPERTIES
++        VERSION "${PROJECT_VERSION}"
++        OUTPUT_NAME "SDL"
++    )
+ elseif(UNIX AND NOT ANDROID)
+     set_target_properties(SDL PROPERTIES
+         VERSION "${PROJECT_VERSION}"
+@@ -194,9 +199,17 @@ if(SDL12DEVEL)
+       set(SDL_STATIC_LIBS "")
+       set(SDL_RLD_FLAGS "")  # !!! FIXME: this forces rpath, which we might 
want?
+     else() # unix
+-      set(SDL_CFLAGS "-D_GNU_SOURCE=1 -D_REENTRANT")
++      if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
++        set(SDL_CFLAGS "-D_GNU_SOURCE=1 -D_REENTRANT -I${LOCALBASE}/include 
-I${X11BASE}/include -DXTHREADS")
++      else()
++        set(SDL_CFLAGS "-D_GNU_SOURCE=1 -D_REENTRANT")
++      endif()
+       set(SDL_RLD_FLAGS "")  # !!! FIXME: this forces rpath, which we might 
want?
+-      set(SDL_LIBS "-lSDL")
++      if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
++        set(SDL_LIBS "-lSDL -pthread -L${X11BASE}/lib")
++      else()
++        set(SDL_LIBS "-lSDL")
++      endif()
+       set(SDL_STATIC_LIBS "")
+       foreach(lib ${CMAKE_DL_LIBS})
+           set(SDL_STATIC_LIBS "-l${lib}")
+@@ -235,7 +248,7 @@ if(SDL12DEVEL)
+ 
+   set(SOEXT ${CMAKE_SHARED_LIBRARY_SUFFIX})
+   get_target_property(SONAME SDL OUTPUT_NAME)
+-  if(UNIX AND NOT ANDROID)
++  if(UNIX AND NOT ANDROID AND NOT (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD"))
+     install(CODE "
+       execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
+         \"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL${SOPOSTFIX}${SOEXT}\"
Index: patches/patch-Makefile_in
===================================================================
RCS file: patches/patch-Makefile_in
diff -N patches/patch-Makefile_in
--- patches/patch-Makefile_in   11 Mar 2022 18:53:23 -0000      1.5
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- Makefile.in.orig   Thu Jan 19 01:30:05 2012
-+++ Makefile.in        Wed Feb 22 13:39:54 2012
-@@ -49,7 +49,7 @@ LT_AGE      = @LT_AGE@
- LT_CURRENT  = @LT_CURRENT@
- LT_RELEASE  = @LT_RELEASE@
- LT_REVISION = @LT_REVISION@
--LT_LDFLAGS  = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) 
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
-+LT_LDFLAGS  = -no-undefined -rpath $(DESTDIR)$(libdir) -version-info 
$(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
- 
- all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) 
$(objects)/$(SDLMAIN_TARGET)
- 
Index: patches/patch-configure_in
===================================================================
RCS file: patches/patch-configure_in
diff -N patches/patch-configure_in
--- patches/patch-configure_in  11 Mar 2022 18:53:23 -0000      1.31
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,88 +0,0 @@
---- configure.in.orig  Thu Jan 19 01:30:05 2012
-+++ configure.in       Thu Dec  5 14:41:54 2013
-@@ -486,6 +486,35 @@ AC_HELP_STRING([--enable-esd-shared], [dynamically loa
-     fi
- }
- 
-+dnl Find Sndio
-+CheckSndio()
-+{
-+    AC_ARG_ENABLE(sndio,
-+AC_HELP_STRING([--enable-sndio], [support the sndio audio API 
[[default=yes]]]),
-+                  , enable_sndioaudio=yes)
-+    if test x$enable_audio = xyes -a x$enable_sndioaudio = xyes; then
-+        AC_CHECK_HEADER(sndio.h, have_sndio_hdr=yes)
-+        AC_CHECK_LIB(sndio, sio_open, have_sndio_lib=yes)
-+
-+        AC_MSG_CHECKING(for sndio support)
-+        have_sndio=no
-+
-+        if test x$have_sndio_hdr = xyes -a x$have_sndio_lib = xyes; then
-+            have_sndio=yes
-+            SNDIO_LIBS="-lsndio"
-+        fi
-+
-+        AC_MSG_RESULT($have_sndio)
-+
-+        if test x$have_sndio = xyes; then
-+            AC_DEFINE(SDL_AUDIO_DRIVER_SNDIO)
-+            SOURCES="$SOURCES $srcdir/src/audio/sndio/*.c"
-+            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SNDIO_LIBS"
-+            have_audio=yes
-+        fi
-+    fi
-+}
-+
- dnl Find PulseAudio
- CheckPulseAudio()
- {
-@@ -860,8 +889,8 @@ CheckVisibilityHidden()
-     save_CFLAGS="$CFLAGS"
-     CFLAGS="$save_CFLAGS $visibility_CFLAGS -Werror"
-     AC_TRY_COMPILE([
--    #if !defined(__GNUC__) || __GNUC__ < 4
--    #error SDL only uses visibility attributes in GCC 4 or newer
-+    #if !defined(__GNUC__) || __GNUC__ < 3
-+    #error SDL only uses visibility attributes in GCC 3 or newer
-     #endif
-     ],[
-     ],[
-@@ -1005,6 +1034,12 @@ AC_HELP_STRING([--enable-x11-shared], [dynamically loa
-                     x11_lib='libX11.so'
-                     x11ext_lib='libXext.so'
-                     ;;
-+                *-*-openbsd*)
-+                    x11_lib='libX11.so'
-+                    x11ext_lib='libXext.so'
-+                    xrender_lib='libXrender.so'
-+                    xrandr_lib='libXrandr.so'
-+                    ;;
-                 *)
-                     x11_lib=[`find_lib "libX11.so.*" "$X_LIBS 
-L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
-                     x11ext_lib=[`find_lib "libXext.so.*" "$X_LIBS 
-L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
-@@ -1034,7 +1069,7 @@ AC_HELP_STRING([--enable-x11-shared], [dynamically loa
-             fi
-             if test x$x11_symbols_private != xyes && \
-                test x$enable_x11_shared = xyes; then
--                AC_MSG_WARN([You must have gcc4 (-fvisibility=hidden) for 
dynamic X11 loading])
-+                AC_MSG_WARN([You must have gcc3 (-fvisibility=hidden) for 
dynamic X11 loading])
-                 enable_x11_shared=no
-             fi
- 
-@@ -2358,6 +2393,7 @@ case "$host" in
-         CheckALSA
-         CheckARTSC
-         CheckESD
-+        CheckSndio
-         CheckPulseAudio
-         CheckNAS
-         CheckX11
-@@ -2390,7 +2426,7 @@ case "$host" in
-                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
-                 have_audio=yes
-             ;;
--            netbsd|openbsd)
-+            netbsd)
-                 AC_DEFINE(SDL_AUDIO_DRIVER_BSD)
-                 SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
-                 have_audio=yes
Index: patches/patch-include_SDL_config_h_in
===================================================================
RCS file: patches/patch-include_SDL_config_h_in
diff -N patches/patch-include_SDL_config_h_in
--- patches/patch-include_SDL_config_h_in       11 Mar 2022 18:53:23 -0000      
1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,10 +0,0 @@
---- include/SDL_config.h.in.orig       Thu Jan 19 01:30:05 2012
-+++ include/SDL_config.h.in    Wed Feb 22 13:39:54 2012
-@@ -184,6 +184,7 @@
- #undef SDL_AUDIO_DRIVER_QNXNTO
- #undef SDL_AUDIO_DRIVER_SNDMGR
- #undef SDL_AUDIO_DRIVER_SUNAUDIO
-+#undef SDL_AUDIO_DRIVER_SNDIO
- #undef SDL_AUDIO_DRIVER_WAVEOUT
- 
- /* Enable various cdrom drivers */
Index: patches/patch-include_SDL_opengl_h
===================================================================
RCS file: patches/patch-include_SDL_opengl_h
diff -N patches/patch-include_SDL_opengl_h
--- patches/patch-include_SDL_opengl_h  11 Mar 2022 18:53:23 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-Index: include/SDL_opengl.h
---- include/SDL_opengl.h.orig
-+++ include/SDL_opengl.h
-@@ -35,7 +35,12 @@
- #endif
- #ifndef NO_SDL_GLEXT
- #define __glext_h_  /* Don't let gl.h include glext.h */
-+#define __gl_glext_h_  /* Don't let gl.h include glext.h */
-+#ifndef GL_ARB_shader_objects
-+#define GL_ARB_shader_objects 0
-+#define undef_GL_ARB
- #endif
-+#endif
- #if defined(__MACOSX__)
- #include <OpenGL/gl.h>        /* Header File For The OpenGL Library */
- #include <OpenGL/glu.h>       /* Header File For The GLU Library */
-@@ -48,6 +53,11 @@
- #endif
- #ifndef NO_SDL_GLEXT
- #undef __glext_h_
-+#undef __gl_glext_h_
-+#ifdef undef_GL_ARB
-+#undef GL_ARB_shader_objects
-+#undef undef_GL_ARB
-+#endif
- #endif
- 
- /** @name GLext.h
Index: patches/patch-include_begin_code_h
===================================================================
RCS file: patches/patch-include_begin_code_h
diff -N patches/patch-include_begin_code_h
--- patches/patch-include_begin_code_h  11 Mar 2022 18:53:23 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- include/begin_code.h.orig  Tue Jan 15 19:09:01 2013
-+++ include/begin_code.h       Tue Jan 15 19:09:45 2013
-@@ -77,7 +77,7 @@
- #   define DECLSPEC
- #  endif
- # else
--#  if defined(__GNUC__) && __GNUC__ >= 4
-+#  if defined(__GNUC__) && __GNUC__ >= 3
- #   define DECLSPEC   __attribute__ ((visibility("default")))
- #  else
- #   define DECLSPEC
Index: patches/patch-sdl-config_in
===================================================================
RCS file: patches/patch-sdl-config_in
diff -N patches/patch-sdl-config_in
--- patches/patch-sdl-config_in 11 Mar 2022 18:53:23 -0000      1.7
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
---- sdl-config.in.orig Sun Dec 30 20:48:39 2007
-+++ sdl-config.in      Tue Mar 18 20:33:17 2008
-@@ -42,10 +42,10 @@ while test $# -gt 0; do
-       echo @SDL_VERSION@
-       ;;
-     --cflags)
--      echo -I@includedir@/SDL @SDL_CFLAGS@
-+      echo -I@includedir@ -I@includedir@/SDL @SDL_CFLAGS@ @X_CFLAGS@
-       ;;
- @ENABLE_SHARED_TRUE@    --libs)
--@ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
-+@ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ @X_LIBS@
- @ENABLE_SHARED_TRUE@      ;;
- @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@    --static-libs)
- @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@    --libs|--static-libs)
Index: patches/patch-sdl_pc_in
===================================================================
RCS file: patches/patch-sdl_pc_in
diff -N patches/patch-sdl_pc_in
--- patches/patch-sdl_pc_in     11 Mar 2022 18:53:23 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- sdl.pc.in.orig     Mon Oct 12 19:07:20 2009
-+++ sdl.pc.in  Sat Nov  7 13:30:12 2009
-@@ -10,6 +10,5 @@ Description: Simple DirectMedia Layer is a cross-platf
- Version: @SDL_VERSION@
- Requires:
- Conflicts:
--Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@
--Libs.private: @SDL_STATIC_LIBS@
--Cflags: -I${includedir}/SDL @SDL_CFLAGS@
-+Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@ @X_LIBS@
-+Cflags: -I${includedir}/SDL @SDL_CFLAGS@ @X_CFLAGS@
Index: patches/patch-src_SDL12_compat_c
===================================================================
RCS file: patches/patch-src_SDL12_compat_c
diff -N patches/patch-src_SDL12_compat_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_SDL12_compat_c    19 Aug 2026 11:05:11 -0000
@@ -0,0 +1,16 @@
+Index: src/SDL12_compat.c
+--- src/SDL12_compat.c.orig
++++ src/SDL12_compat.c
+@@ -1341,7 +1341,11 @@ static char loaderror[256];
+     }
+ #elif defined(__unix__)
+     #include <dlfcn.h>
+-    #define SDL20_LIBNAME "libSDL2-2.0.so.0"
++    #ifdef __OpenBSD__
++        #define SDL20_LIBNAME "libSDL2.so"
++    #else
++        #define SDL20_LIBNAME "libSDL2-2.0.so.0"
++    #endif
+     #define SDL20_REQUIRED_VER SDL_VERSIONNUM(2,0,7)
+     static void *Loaded_SDL20 = NULL;
+     #define LoadSDL20Library() ((Loaded_SDL20 = dlopen(SDL20_LIBNAME, 
RTLD_LOCAL|RTLD_NOW)) != NULL)
Index: patches/patch-src_audio_SDL_audio_c
===================================================================
RCS file: patches/patch-src_audio_SDL_audio_c
diff -N patches/patch-src_audio_SDL_audio_c
--- patches/patch-src_audio_SDL_audio_c 11 Mar 2022 18:53:23 -0000      1.18
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,18 +0,0 @@
---- src/audio/SDL_audio.c.orig Thu Jan 19 01:30:06 2012
-+++ src/audio/SDL_audio.c      Wed Feb 22 13:41:58 2012
-@@ -36,11 +36,15 @@
- 
- /* Available audio drivers */
- static AudioBootStrap *bootstrap[] = {
-+
- #if SDL_AUDIO_DRIVER_PULSE
-       &PULSE_bootstrap,
- #endif
- #if SDL_AUDIO_DRIVER_ALSA
-       &ALSA_bootstrap,
-+#endif
-+#if SDL_AUDIO_DRIVER_SNDIO
-+      &SNDIO_bootstrap,
- #endif
- #if SDL_AUDIO_DRIVER_BSD
-       &BSD_AUDIO_bootstrap,
Index: patches/patch-src_audio_SDL_sysaudio_h
===================================================================
RCS file: patches/patch-src_audio_SDL_sysaudio_h
diff -N patches/patch-src_audio_SDL_sysaudio_h
--- patches/patch-src_audio_SDL_sysaudio_h      11 Mar 2022 18:53:23 -0000      
1.7
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
---- src/audio/SDL_sysaudio.h.orig      Thu Jan 19 01:30:06 2012
-+++ src/audio/SDL_sysaudio.h   Wed Feb 22 13:39:54 2012
-@@ -105,6 +105,9 @@ typedef struct AudioBootStrap {
- #if SDL_AUDIO_DRIVER_BSD
- extern AudioBootStrap BSD_AUDIO_bootstrap;
- #endif
-+#if SDL_AUDIO_DRIVER_SNDIO
-+extern AudioBootStrap SNDIO_bootstrap;
-+#endif
- #if SDL_AUDIO_DRIVER_PULSE
- extern AudioBootStrap PULSE_bootstrap;
- #endif
Index: patches/patch-src_cpuinfo_SDL_cpuinfo_c
===================================================================
RCS file: patches/patch-src_cpuinfo_SDL_cpuinfo_c
diff -N patches/patch-src_cpuinfo_SDL_cpuinfo_c
--- patches/patch-src_cpuinfo_SDL_cpuinfo_c     11 Mar 2022 18:53:23 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,37 +0,0 @@
---- src/cpuinfo/SDL_cpuinfo.c.orig     Thu Jan 19 01:30:06 2012
-+++ src/cpuinfo/SDL_cpuinfo.c  Fri Feb 24 16:08:00 2012
-@@ -28,6 +28,10 @@
- 
- #if defined(__MACOSX__) && (defined(__ppc__) || defined(__ppc64__))
- #include <sys/sysctl.h> /* For AltiVec check */
-+#elif defined(__OpenBSD__) && defined(__powerpc__)
-+#include <sys/param.h>
-+#include <sys/sysctl.h> /* For AltiVec check */
-+#include <machine/cpu.h>
- #elif SDL_ALTIVEC_BLITTERS && HAVE_SETJMP
- #include <signal.h>
- #include <setjmp.h>
-@@ -42,7 +46,7 @@
- #define CPU_HAS_SSE2  0x00000080
- #define CPU_HAS_ALTIVEC       0x00000100
- 
--#if SDL_ALTIVEC_BLITTERS && HAVE_SETJMP && !__MACOSX__
-+#if SDL_ALTIVEC_BLITTERS && HAVE_SETJMP && !__MACOSX__ && !__OpenBSD__
- /* This is the brute force way of detecting instruction sets...
-    the idea is borrowed from the libmpeg2 library - thanks!
-  */
-@@ -359,8 +363,12 @@ static __inline__ int CPU_haveSSE2(void)
- static __inline__ int CPU_haveAltiVec(void)
- {
-       volatile int altivec = 0;
--#if defined(__MACOSX__) && (defined(__ppc__) || defined(__ppc64__))
--      int selectors[2] = { CTL_HW, HW_VECTORUNIT }; 
-+#if (defined(__MACOSX__) && (defined(__ppc__) || defined(__ppc64__))) || 
(defined(__OpenBSD__) && defined(__powerpc__))
-+# ifdef __OpenBSD__
-+      int selectors[2] = { CTL_MACHDEP, CPU_ALTIVEC };
-+# else
-+      int selectors[2] = { CTL_HW, HW_VECTORUNIT };
-+# endif
-       int hasVectorUnit = 0; 
-       size_t length = sizeof(hasVectorUnit); 
-       int error = sysctl(selectors, 2, &hasVectorUnit, &length, NULL, 0); 
Index: patches/patch-src_joystick_bsd_SDL_sysjoystick_c
===================================================================
RCS file: patches/patch-src_joystick_bsd_SDL_sysjoystick_c
diff -N patches/patch-src_joystick_bsd_SDL_sysjoystick_c
--- patches/patch-src_joystick_bsd_SDL_sysjoystick_c    11 Mar 2022 18:53:23 
-0000      1.13
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-It is easy to exhaust uhid devices in this day and age.
-use ujoy(4) device nodes
-
-Index: src/joystick/bsd/SDL_sysjoystick.c
---- src/joystick/bsd/SDL_sysjoystick.c.orig
-+++ src/joystick/bsd/SDL_sysjoystick.c
-@@ -77,7 +77,7 @@
- #include "../SDL_sysjoystick.h"
- #include "../SDL_joystick_c.h"
- 
--#define MAX_UHID_JOYS 4
-+#define MAX_UHID_JOYS 16
- #define MAX_JOY_JOYS  2
- #define MAX_JOYS      (MAX_UHID_JOYS + MAX_JOY_JOYS)
- 
-@@ -170,7 +170,7 @@ SDL_SYS_JoystickInit(void)
-       for (i = 0; i < MAX_UHID_JOYS; i++) {
-               SDL_Joystick nj;
- 
--              SDL_snprintf(s, SDL_arraysize(s), "/dev/uhid%d", i);
-+              SDL_snprintf(s, SDL_arraysize(s), "/dev/ujoy/%d", i);
- 
-               nj.index = SDL_numjoysticks;
-               joynames[nj.index] = strdup(s);
Index: patches/patch-src_thread_pthread_SDL_syssem_c
===================================================================
RCS file: patches/patch-src_thread_pthread_SDL_syssem_c
diff -N patches/patch-src_thread_pthread_SDL_syssem_c
--- patches/patch-src_thread_pthread_SDL_syssem_c       11 Mar 2022 18:53:23 
-0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-Fixed bug 1426 - SDL_SemWaitTimeout returns -1 and sets error instead of
-SDL_MUTEX_TIMEDOUT on time out
-
---- src/thread/pthread/SDL_syssem.c.orig       Fri Mar  2 04:42:50 2012
-+++ src/thread/pthread/SDL_syssem.c    Fri Mar  2 04:44:23 2012
-@@ -144,8 +144,14 @@ int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout)
-               retval = sem_timedwait(&sem->sem, &ts_timeout);
-       while (retval == -1 && errno == EINTR);
- 
--      if (retval == -1)
--              SDL_SetError(strerror(errno));
-+      if (retval == -1) {
-+              if (errno == ETIMEDOUT) {
-+                      retval = SDL_MUTEX_TIMEDOUT;
-+              }
-+              else {
-+                      SDL_SetError(strerror(errno));
-+              }
-+      }
- #else
-       end = SDL_GetTicks() + timeout;
-       while ((retval = SDL_SemTryWait(sem)) == SDL_MUTEX_TIMEDOUT) {
Index: patches/patch-src_video_SDL_blit_N_c
===================================================================
RCS file: patches/patch-src_video_SDL_blit_N_c
diff -N patches/patch-src_video_SDL_blit_N_c
--- patches/patch-src_video_SDL_blit_N_c        11 Mar 2022 18:53:23 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,59 +0,0 @@
-- Fixed bug 1424 - Handling of alpha channel in Altivec accelerated blit 
functions
-- Use fast path for RGB 565 -> 32-bit XRGB 8888
-
---- src/video/SDL_blit_N.c.orig        Thu Jan 19 01:30:06 2012
-+++ src/video/SDL_blit_N.c     Thu Oct 25 21:57:48 2012
-@@ -689,6 +689,8 @@ static void ConvertAltivec32to32_noprefetch(SDL_BlitIn
-         while ((UNALIGNED_PTR(dst)) && (width)) {
-             bits = *(src++);
-             RGBA_FROM_8888(bits, srcfmt, r, g, b, a);
-+            if(!srcfmt->Amask)
-+              a = srcfmt->alpha;
-             *(dst++) = MAKE8888(dstfmt, r, g, b, a);
-             width--;
-         }
-@@ -716,6 +718,8 @@ static void ConvertAltivec32to32_noprefetch(SDL_BlitIn
-         while (extrawidth) {
-             bits = *(src++);  /* max 7 pixels, don't bother with prefetch. */
-             RGBA_FROM_8888(bits, srcfmt, r, g, b, a);
-+            if(!srcfmt->Amask)
-+              a = srcfmt->alpha;
-             *(dst++) = MAKE8888(dstfmt, r, g, b, a);
-             extrawidth--;
-         }
-@@ -769,6 +773,8 @@ static void ConvertAltivec32to32_prefetch(SDL_BlitInfo
-             vec_dstst(dst+scalar_dst_lead, DST_CTRL(2,32,1024), 
DST_CHAN_DEST);
-             bits = *(src++);
-             RGBA_FROM_8888(bits, srcfmt, r, g, b, a);
-+            if(!srcfmt->Amask)
-+              a = srcfmt->alpha;
-             *(dst++) = MAKE8888(dstfmt, r, g, b, a);
-             width--;
-         }
-@@ -798,6 +804,8 @@ static void ConvertAltivec32to32_prefetch(SDL_BlitInfo
-         while (extrawidth) {
-             bits = *(src++);  /* max 7 pixels, don't bother with prefetch. */
-             RGBA_FROM_8888(bits, srcfmt, r, g, b, a);
-+            if(!srcfmt->Amask)
-+              a = srcfmt->alpha;
-             *(dst++) = MAKE8888(dstfmt, r, g, b, a);
-             extrawidth--;
-         }
-@@ -2299,13 +2307,13 @@ static const struct blit_table normal_blit_2[] = {
-       2, NULL, Blit_RGB555_32Altivec, NO_ALPHA | COPY_ALPHA | SET_ALPHA },
- #endif
-     { 0x0000F800,0x000007E0,0x0000001F, 4, 0x00FF0000,0x0000FF00,0x000000FF,
--      0, NULL, Blit_RGB565_ARGB8888, SET_ALPHA },
-+      0, NULL, Blit_RGB565_ARGB8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA },
-     { 0x0000F800,0x000007E0,0x0000001F, 4, 0x000000FF,0x0000FF00,0x00FF0000,
--      0, NULL, Blit_RGB565_ABGR8888, SET_ALPHA },
-+      0, NULL, Blit_RGB565_ABGR8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA },
-     { 0x0000F800,0x000007E0,0x0000001F, 4, 0xFF000000,0x00FF0000,0x0000FF00,
--      0, NULL, Blit_RGB565_RGBA8888, SET_ALPHA },
-+      0, NULL, Blit_RGB565_RGBA8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA },
-     { 0x0000F800,0x000007E0,0x0000001F, 4, 0x0000FF00,0x00FF0000,0xFF000000,
--      0, NULL, Blit_RGB565_BGRA8888, SET_ALPHA },
-+      0, NULL, Blit_RGB565_BGRA8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA },
- 
-     /* Default for 16-bit RGB source, used if no other blitter matches */
-     { 0,0,0, 0, 0,0,0, 0, NULL, BlitNtoN, 0 }
Index: patches/patch-src_video_x11_SDL_x11events_c
===================================================================
RCS file: patches/patch-src_video_x11_SDL_x11events_c
diff -N patches/patch-src_video_x11_SDL_x11events_c
--- patches/patch-src_video_x11_SDL_x11events_c 11 Mar 2022 18:53:23 -0000      
1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-Fixed bug 1390 - X11_KeyToUnicode
-
---- src/video/x11/SDL_x11events.c.orig Wed Feb 22 19:31:47 2012
-+++ src/video/x11/SDL_x11events.c      Wed Feb 22 19:33:27 2012
-@@ -1246,14 +1246,23 @@ static void get_modifier_masks(Display *display)
-  * sequences (dead accents, compose key sequences) will not work since the
-  * state has been irrevocably lost.
-  */
-+extern DECLSPEC Uint16 SDLCALL X11_KeyToUnicode(SDLKey, SDLMod);
-+
- Uint16 X11_KeyToUnicode(SDLKey keysym, SDLMod modifiers)
- {
-+      static int warning = 0;
-       struct SDL_VideoDevice *this = current_video;
-       char keybuf[32];
-       int i;
-       KeySym xsym = 0;
-       XKeyEvent xkey;
-       Uint16 unicode;
-+
-+      if ( warning ) {
-+              warning = 0;
-+              fprintf(stderr, "WARNING: Application is using 
X11_KeyToUnicode().\n");
-+              fprintf(stderr, "This is not an official SDL function, please 
report this as a bug.\n");
-+      }
- 
-       if ( !this || !SDL_Display ) {
-               return 0;
Index: patches/patch-src_video_x11_SDL_x11gl_c
===================================================================
RCS file: patches/patch-src_video_x11_SDL_x11gl_c
diff -N patches/patch-src_video_x11_SDL_x11gl_c
--- patches/patch-src_video_x11_SDL_x11gl_c     11 Mar 2022 18:53:23 -0000      
1.15
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- src/video/x11/SDL_x11gl.c.orig     Thu Jan 19 01:30:06 2012
-+++ src/video/x11/SDL_x11gl.c  Wed Feb 22 13:39:54 2012
-@@ -34,7 +34,7 @@
- #elif defined(__QNXNTO__)
- #define DEFAULT_OPENGL        "libGL.so.3"
- #elif defined(__OpenBSD__)
--#define DEFAULT_OPENGL        "libGL.so.4.0"
-+#define DEFAULT_OPENGL        "libGL.so"
- #else
- #define DEFAULT_OPENGL        "libGL.so.1"
- #endif
Index: patches/patch-src_video_x11_SDL_x11sym_h
===================================================================
RCS file: patches/patch-src_video_x11_SDL_x11sym_h
diff -N patches/patch-src_video_x11_SDL_x11sym_h
--- patches/patch-src_video_x11_SDL_x11sym_h    11 Mar 2022 18:53:23 -0000      
1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- src/video/x11/SDL_x11sym.h.orig    Tue Apr 30 00:39:44 2013
-+++ src/video/x11/SDL_x11sym.h Tue Apr 30 00:40:30 2013
-@@ -165,7 +165,7 @@ SDL_X11_SYM(Bool,XShmQueryExtension,(Display* a),(a),r
-  */
- #ifdef LONG64
- SDL_X11_MODULE(IO_32BIT)
--SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned 
len),(dpy,data,len),return)
-+SDL_X11_SYM(int,_XData32,(Display *dpy,register const long *data,unsigned 
len),(dpy,data,len),return)
- SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long 
len),(dpy,data,len),)
- #endif
- 
Index: patches/patch-src_video_x11_SDL_x11video_c
===================================================================
RCS file: patches/patch-src_video_x11_SDL_x11video_c
diff -N patches/patch-src_video_x11_SDL_x11video_c
--- patches/patch-src_video_x11_SDL_x11video_c  11 Mar 2022 18:53:23 -0000      
1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-Fixed bug 1427 - integer passed to XChangeProperty() causes crash
-
---- src/video/x11/SDL_x11video.c.orig  Wed Feb 22 19:34:11 2012
-+++ src/video/x11/SDL_x11video.c       Wed Feb 22 19:36:25 2012
-@@ -418,16 +418,21 @@ static void create_aux_windows(_THIS)
-     }
- 
-       {
--              pid_t pid = getpid();
-+              union align_pid {
-+                      pid_t pid;
-+                      long dummy;
-+              } a_pid;
-               char hostname[256];
- 
--              if (pid > 0 && gethostname(hostname, sizeof(hostname)) > -1) {
-+              a_pid.pid = getpid();
-+
-+              if (a_pid.pid > 0 && gethostname(hostname, sizeof(hostname)) > 
-1) {
-                       Atom _NET_WM_PID = XInternAtom(SDL_Display, 
"_NET_WM_PID", False);
-                       Atom WM_CLIENT_MACHINE = XInternAtom(SDL_Display, 
"WM_CLIENT_MACHINE", False);
-                       
-                       hostname[sizeof(hostname)-1] = '\0';
-                       XChangeProperty(SDL_Display, WMwindow, _NET_WM_PID, 
XA_CARDINAL, 32,
--                                      PropModeReplace, (unsigned char *)&pid, 
1);
-+                                      PropModeReplace, (unsigned char 
*)&a_pid.pid, 1);
-                       XChangeProperty(SDL_Display, WMwindow, 
WM_CLIENT_MACHINE, XA_STRING, 8,
-                                       PropModeReplace, (unsigned char 
*)hostname, SDL_strlen(hostname));
-               }
Index: patches/patch-src_video_x11_SDL_x11wm_c
===================================================================
RCS file: patches/patch-src_video_x11_SDL_x11wm_c
diff -N patches/patch-src_video_x11_SDL_x11wm_c
--- patches/patch-src_video_x11_SDL_x11wm_c     11 Mar 2022 18:53:23 -0000      
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,94 +0,0 @@
-Use _NET_WM_ICON if possible for X11's SDL_WM_SetIcon() implementation.
-
---- src/video/x11/SDL_x11wm.c.orig     Thu Oct 25 21:58:52 2012
-+++ src/video/x11/SDL_x11wm.c  Thu Oct 25 22:01:06 2012
-@@ -43,6 +43,7 @@ static Uint8 reverse_byte(Uint8 x)
- 
- void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask)
- {
-+      Atom _NET_WM_ICON = XInternAtom(SDL_Display, "_NET_WM_ICON", False);
-       SDL_Surface *sicon;
-       XWMHints *wmhints;
-       XImage *icon_image;
-@@ -59,6 +60,81 @@ void X11_SetIcon(_THIS, SDL_Surface *icon, Uint8 *mask
-       int masksize;
- 
-       SDL_Lock_EventThread();
-+
-+      if (_NET_WM_ICON) {   /* better interface for modern systems. */
-+              SDL_PixelFormat format;
-+              SDL_Surface *surface;
-+              int propsize;
-+              long *propdata;
-+
-+              /* Convert the icon to ARGB for modern window managers */
-+              SDL_memset(&format, 0, sizeof (format));
-+              format.BitsPerPixel = 32;
-+              format.BytesPerPixel = 4;
-+              #if SDL_BYTEORDER == SDL_BIG_ENDIAN
-+              format.Rshift = 8;
-+              format.Gshift = 16;
-+              format.Bshift = 24;
-+              format.Ashift = 0;
-+              #else
-+              format.Rshift = 16;
-+              format.Gshift = 8;
-+              format.Bshift = 0;
-+              format.Ashift = 24;
-+              #endif
-+              format.Rmask = 0xFF << format.Rshift;
-+              format.Gmask = 0xFF << format.Gshift;
-+              format.Bmask = 0xFF << format.Bshift;
-+              format.Amask = 0xFF << format.Ashift;
-+              format.alpha = SDL_ALPHA_OPAQUE;
-+
-+              surface = SDL_ConvertSurface(icon, &format, 0);
-+              if (!surface) {
-+                      return;
-+              }
-+
-+              /* Set the _NET_WM_ICON property */
-+              propsize = 2 + (icon->w * icon->h);
-+              propdata = SDL_malloc(propsize * sizeof(long));
-+              if (propdata) {
-+                      const Uint32 alpha = format.Amask;
-+                      int x, y;
-+                      Uint32 *src;
-+                      long *dst;
-+
-+                      propdata[0] = icon->w;
-+                      propdata[1] = icon->h;
-+                      dst = &propdata[2];
-+
-+                      size_t maskidx = 0;
-+                      for (y = 0; y < icon->h; ++y) {
-+                              src = (Uint32*)((Uint8*)surface->pixels + y * 
surface->pitch);
-+                              for (x = 0; x < icon->w; ++x) {
-+                                      const Uint32 pixel = *(src++);
-+                                      if (mask[maskidx / 8] & (1<<(7-(maskidx 
% 8)))) {
-+                                              *dst++ = pixel | alpha;
-+                                      } else {
-+                                              *dst++ = pixel & ~alpha;
-+                                      }
-+                                      maskidx++;
-+                              }
-+                      }
-+
-+                      XChangeProperty(SDL_Display, WMwindow, _NET_WM_ICON, 
XA_CARDINAL,
-+                                      32, PropModeReplace, (unsigned char *) 
propdata,
-+                                      propsize);
-+              }
-+
-+              SDL_FreeSurface(surface);
-+              SDL_free(propdata);
-+
-+              XFlush(SDL_Display);
-+              SDL_Unlock_EventThread();
-+
-+              return;
-+      }
-+
-+      /* Do it the old way... */
- 
-       /* The icon must use the default visual, depth and colormap of the
-          screen, so it might need a conversion */
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/devel/sdl/pkg/DESCR,v
diff -u -p -r1.11 DESCR
--- pkg/DESCR   2 Mar 2012 09:10:38 -0000       1.11
+++ pkg/DESCR   19 Aug 2026 11:05:11 -0000
@@ -1,11 +1,3 @@
-Simple DirectMedia Layer is a cross-platform multimedia
-library designed to provide fast access to the graphics
-framebuffer and audio device. It is used by MPEG playback
-software, emulators, and many popular games.
-
-Packages can be built with additional FLAVORs:
-
-  aa:   SDL built with ASCII art support.
-       This FLAVOR requires the aalib package.
-
-  no_x11: Built without X11.
+sdl12-compat is a compatibility layer; it provides a binary and source
+compatible API for programs written against SDL 1.2, but it uses SDL 2.0
+behind the scenes.
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/sdl/pkg/PLIST,v
diff -u -p -r1.19 PLIST
--- pkg/PLIST   11 Mar 2022 18:53:23 -0000      1.19
+++ pkg/PLIST   19 Aug 2026 11:05:11 -0000
@@ -10,6 +10,7 @@ include/SDL/SDL_audio.h
 include/SDL/SDL_byteorder.h
 include/SDL/SDL_cdrom.h
 include/SDL/SDL_config.h
+include/SDL/SDL_copying.h
 include/SDL/SDL_cpuinfo.h
 include/SDL/SDL_endian.h
 include/SDL/SDL_error.h
@@ -36,185 +37,7 @@ include/SDL/SDL_version.h
 include/SDL/SDL_video.h
 include/SDL/begin_code.h
 include/SDL/close_code.h
-@static-lib lib/libSDL.a
-lib/libSDL.la
 @lib lib/libSDL.so.${LIBSDL_VERSION}
 @static-lib lib/libSDLmain.a
-lib/libSDLmain.la
-lib/pkgconfig/sdl.pc
-@man man/man3/SDLKey.3
-@man man/man3/SDL_ActiveEvent.3
-@man man/man3/SDL_AddTimer.3
-@man man/man3/SDL_AudioCVT.3
-@man man/man3/SDL_AudioSpec.3
-@man man/man3/SDL_BlitSurface.3
-@man man/man3/SDL_BuildAudioCVT.3
-@man man/man3/SDL_CD.3
-@man man/man3/SDL_CDClose.3
-@man man/man3/SDL_CDEject.3
-@man man/man3/SDL_CDName.3
-@man man/man3/SDL_CDNumDrives.3
-@man man/man3/SDL_CDOpen.3
-@man man/man3/SDL_CDPause.3
-@man man/man3/SDL_CDPlay.3
-@man man/man3/SDL_CDPlayTracks.3
-@man man/man3/SDL_CDResume.3
-@man man/man3/SDL_CDStatus.3
-@man man/man3/SDL_CDStop.3
-@man man/man3/SDL_CDtrack.3
-@man man/man3/SDL_CloseAudio.3
-@man man/man3/SDL_Color.3
-@man man/man3/SDL_CondBroadcast.3
-@man man/man3/SDL_CondSignal.3
-@man man/man3/SDL_CondWait.3
-@man man/man3/SDL_CondWaitTimeout.3
-@man man/man3/SDL_ConvertAudio.3
-@man man/man3/SDL_ConvertSurface.3
-@man man/man3/SDL_CreateCond.3
-@man man/man3/SDL_CreateCursor.3
-@man man/man3/SDL_CreateMutex.3
-@man man/man3/SDL_CreateRGBSurface.3
-@man man/man3/SDL_CreateRGBSurfaceFrom.3
-@man man/man3/SDL_CreateSemaphore.3
-@man man/man3/SDL_CreateThread.3
-@man man/man3/SDL_CreateYUVOverlay.3
-@man man/man3/SDL_Delay.3
-@man man/man3/SDL_DestroyCond.3
-@man man/man3/SDL_DestroyMutex.3
-@man man/man3/SDL_DestroySemaphore.3
-@man man/man3/SDL_DisplayFormat.3
-@man man/man3/SDL_DisplayFormatAlpha.3
-@man man/man3/SDL_DisplayYUVOverlay.3
-@man man/man3/SDL_EnableKeyRepeat.3
-@man man/man3/SDL_EnableUNICODE.3
-@man man/man3/SDL_Event.3
-@man man/man3/SDL_EventState.3
-@man man/man3/SDL_ExposeEvent.3
-@man man/man3/SDL_FillRect.3
-@man man/man3/SDL_Flip.3
-@man man/man3/SDL_FreeCursor.3
-@man man/man3/SDL_FreeSurface.3
-@man man/man3/SDL_FreeWAV.3
-@man man/man3/SDL_FreeYUVOverlay.3
-@man man/man3/SDL_GL_GetAttribute.3
-@man man/man3/SDL_GL_GetProcAddress.3
-@man man/man3/SDL_GL_LoadLibrary.3
-@man man/man3/SDL_GL_SetAttribute.3
-@man man/man3/SDL_GL_SwapBuffers.3
-@man man/man3/SDL_GLattr.3
-@man man/man3/SDL_GetAppState.3
-@man man/man3/SDL_GetAudioStatus.3
-@man man/man3/SDL_GetClipRect.3
-@man man/man3/SDL_GetCursor.3
-@man man/man3/SDL_GetError.3
-@man man/man3/SDL_GetEventFilter.3
-@man man/man3/SDL_GetGamma.3
-@man man/man3/SDL_GetGammaRamp.3
-@man man/man3/SDL_GetKeyName.3
-@man man/man3/SDL_GetKeyState.3
-@man man/man3/SDL_GetModState.3
-@man man/man3/SDL_GetMouseState.3
-@man man/man3/SDL_GetRGB.3
-@man man/man3/SDL_GetRGBA.3
-@man man/man3/SDL_GetRelativeMouseState.3
-@man man/man3/SDL_GetThreadID.3
-@man man/man3/SDL_GetTicks.3
-@man man/man3/SDL_GetVideoInfo.3
-@man man/man3/SDL_GetVideoSurface.3
-@man man/man3/SDL_Init.3
-@man man/man3/SDL_InitSubSystem.3
-@man man/man3/SDL_JoyAxisEvent.3
-@man man/man3/SDL_JoyBallEvent.3
-@man man/man3/SDL_JoyButtonEvent.3
-@man man/man3/SDL_JoyHatEvent.3
-@man man/man3/SDL_JoystickClose.3
-@man man/man3/SDL_JoystickEventState.3
-@man man/man3/SDL_JoystickGetAxis.3
-@man man/man3/SDL_JoystickGetBall.3
-@man man/man3/SDL_JoystickGetButton.3
-@man man/man3/SDL_JoystickGetHat.3
-@man man/man3/SDL_JoystickIndex.3
-@man man/man3/SDL_JoystickName.3
-@man man/man3/SDL_JoystickNumAxes.3
-@man man/man3/SDL_JoystickNumBalls.3
-@man man/man3/SDL_JoystickNumButtons.3
-@man man/man3/SDL_JoystickNumHats.3
-@man man/man3/SDL_JoystickOpen.3
-@man man/man3/SDL_JoystickOpened.3
-@man man/man3/SDL_JoystickUpdate.3
-@man man/man3/SDL_KeyboardEvent.3
-@man man/man3/SDL_KillThread.3
-@man man/man3/SDL_ListModes.3
-@man man/man3/SDL_LoadBMP.3
-@man man/man3/SDL_LoadWAV.3
-@man man/man3/SDL_LockAudio.3
-@man man/man3/SDL_LockSurface.3
-@man man/man3/SDL_LockYUVOverlay.3
-@man man/man3/SDL_MapRGB.3
-@man man/man3/SDL_MapRGBA.3
-@man man/man3/SDL_MixAudio.3
-@man man/man3/SDL_MouseButtonEvent.3
-@man man/man3/SDL_MouseMotionEvent.3
-@man man/man3/SDL_NumJoysticks.3
-@man man/man3/SDL_OpenAudio.3
-@man man/man3/SDL_Overlay.3
-@man man/man3/SDL_Palette.3
-@man man/man3/SDL_PauseAudio.3
-@man man/man3/SDL_PeepEvents.3
-@man man/man3/SDL_PixelFormat.3
-@man man/man3/SDL_PollEvent.3
-@man man/man3/SDL_PumpEvents.3
-@man man/man3/SDL_PushEvent.3
-@man man/man3/SDL_Quit.3
-@man man/man3/SDL_QuitEvent.3
-@man man/man3/SDL_QuitSubSystem.3
-@man man/man3/SDL_RWFromFile.3
-@man man/man3/SDL_Rect.3
-@man man/man3/SDL_RemoveTimer.3
-@man man/man3/SDL_ResizeEvent.3
-@man man/man3/SDL_SaveBMP.3
-@man man/man3/SDL_SemPost.3
-@man man/man3/SDL_SemTryWait.3
-@man man/man3/SDL_SemValue.3
-@man man/man3/SDL_SemWait.3
-@man man/man3/SDL_SemWaitTimeout.3
-@man man/man3/SDL_SetAlpha.3
-@man man/man3/SDL_SetClipRect.3
-@man man/man3/SDL_SetColorKey.3
-@man man/man3/SDL_SetColors.3
-@man man/man3/SDL_SetCursor.3
-@man man/man3/SDL_SetEventFilter.3
-@man man/man3/SDL_SetGamma.3
-@man man/man3/SDL_SetGammaRamp.3
-@man man/man3/SDL_SetModState.3
-@man man/man3/SDL_SetPalette.3
-@man man/man3/SDL_SetTimer.3
-@man man/man3/SDL_SetVideoMode.3
-@man man/man3/SDL_ShowCursor.3
-@man man/man3/SDL_Surface.3
-@man man/man3/SDL_SysWMEvent.3
-@man man/man3/SDL_ThreadID.3
-@man man/man3/SDL_UnlockAudio.3
-@man man/man3/SDL_UnlockSurface.3
-@man man/man3/SDL_UnlockYUVOverlay.3
-@man man/man3/SDL_UpdateRect.3
-@man man/man3/SDL_UpdateRects.3
-@man man/man3/SDL_UserEvent.3
-@man man/man3/SDL_VideoDriverName.3
-@man man/man3/SDL_VideoInfo.3
-@man man/man3/SDL_VideoModeOK.3
-@man man/man3/SDL_WM_GetCaption.3
-@man man/man3/SDL_WM_GrabInput.3
-@man man/man3/SDL_WM_IconifyWindow.3
-@man man/man3/SDL_WM_SetCaption.3
-@man man/man3/SDL_WM_SetIcon.3
-@man man/man3/SDL_WM_ToggleFullScreen.3
-@man man/man3/SDL_WaitEvent.3
-@man man/man3/SDL_WaitThread.3
-@man man/man3/SDL_WarpMouse.3
-@man man/man3/SDL_WasInit.3
-@man man/man3/SDL_keysym.3
-@man man/man3/SDL_mutexP.3
-@man man/man3/SDL_mutexV.3
-share/aclocal/
+lib/pkgconfig/sdl12_compat.pc
 share/aclocal/sdl.m4

Reply via email to