[...]
>  WANTLIB=     m pthread sndio usbhid samplerate
> -# GL/X11/Xext/Xrender/Xrandr are dlopen'd by SDL
> -WANTLIB+=       GL X11 Xau Xdmcp Xext Xrandr Xrender xcb
> +# GL/Xau/Xdmcp/vulkan are dlopen'd by SDL
> +WANTLIB+=       GL X11 Xau xcb Xcursor Xdmcp Xext Xfixes Xi Xinerama
> +WANTLIB+=    Xrandr Xrender Xss Xxf86vm vulkan
>  
> -LIB_DEPENDS= audio/libsamplerate
> +LIB_DEPENDS= audio/libsamplerate \
> +             graphics/vulkan-loader

After discussion with brynet@ I realized that adding vulkan which is an
optional runtime dependency that is dlopen'd will break sdl2 on several
architectures - aarch64, mips*.

Therefore, new diff below that removes vulkan from WANTLIB and
vulkan-loader from LIB_DEPENDS.

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/sdl2/Makefile,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile
--- Makefile    12 Jul 2019 20:46:01 -0000      1.27
+++ Makefile    20 Sep 2019 20:41:27 -0000
@@ -2,14 +2,13 @@
 
 COMMENT=       cross-platform multimedia library
 
-V=             2.0.9
-REVISION=      0
+V=             2.0.10
 DISTNAME=      SDL2-${V}
 PKGNAME=       sdl2-${V}
 CATEGORIES=    devel
 MASTER_SITES=  https://www.libsdl.org/release/
 
-SHARED_LIBS=   SDL2            0.6     # 0.9
+SHARED_LIBS=   SDL2            0.7     # 0.10
 
 HOMEPAGE=      https://www.libsdl.org/
 
@@ -19,8 +18,9 @@ MAINTAINER=   Thomas Frohwein <thfr@openbs
 PERMIT_PACKAGE=        Yes
 
 WANTLIB=       m pthread sndio usbhid samplerate
-# GL/X11/Xext/Xrender/Xrandr are dlopen'd by SDL
-WANTLIB+=       GL X11 Xau Xdmcp Xext Xrandr Xrender xcb
+# GL/Xau/Xdmcp are dlopen'd by SDL
+WANTLIB+=       GL X11 Xau xcb Xcursor Xdmcp Xext Xfixes Xi Xinerama
+WANTLIB+=      Xrandr Xrender Xss Xxf86vm
 
 LIB_DEPENDS=   audio/libsamplerate
 
@@ -37,10 +37,13 @@ CONFIGURE_ARGS+= --disable-alsa \
                 --disable-esd \
                 --disable-ibus \
                 --disable-jack \
+                --disable-libsamplerate-shared \
                 --disable-libudev \
                 --disable-nas \
                 --disable-oss \
-                --disable-pulseaudio
+                --disable-pulseaudio \
+                --disable-sndio-shared \
+                --disable-x11-shared
 # 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
@@ -49,6 +52,7 @@ CONFIGURE_ENV+= ac_cv_lib_usb_hid_init=n
 CONFIGURE_ARGS+= --disable-atomic
 .endif
 
+# tests in test subdir, but interactive and not hooked up to build
 NO_TEST=       Yes
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/sdl2/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- distinfo    3 Jan 2019 17:55:08 -0000       1.8
+++ distinfo    20 Sep 2019 20:41:27 -0000
@@ -1,2 +1,2 @@
-SHA256 (SDL2-2.0.9.tar.gz) = JVGG3GduzQwdvxDsiizF1oabUHnYo4GUwq7N/1SzJLE=
-SIZE (SDL2-2.0.9.tar.gz) = 5246942
+SHA256 (SDL2-2.0.10.tar.gz) = tGVsE6Hw0AI64vSpzwjskv/7Rk4PJCODN3hBWbi5HVc=
+SIZE (SDL2-2.0.10.tar.gz) = 5550762
Index: patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-Makefile_in,v
retrieving revision 1.6
diff -u -p -r1.6 patch-Makefile_in
--- patches/patch-Makefile_in   3 Jan 2019 17:55:08 -0000       1.6
+++ patches/patch-Makefile_in   20 Sep 2019 20:41:27 -0000
@@ -3,12 +3,12 @@ $OpenBSD: patch-Makefile_in,v 1.6 2019/0
 Index: Makefile.in
 --- Makefile.in.orig
 +++ Makefile.in
-@@ -123,7 +123,7 @@ LT_AGE      = @LT_AGE@
+@@ -125,7 +125,7 @@ LT_AGE      = @LT_AGE@
  LT_CURRENT  = @LT_CURRENT@
  LT_RELEASE  = @LT_RELEASE@
  LT_REVISION = @LT_REVISION@
 -LT_LDFLAGS  = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) 
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 +LT_LDFLAGS  = -no-undefined -rpath $(DESTDIR)$(libdir) -version-info 
$(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
  
- all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) 
$(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
+ all: $(srcdir)/configure Makefile $(objects)/$(TARGET) 
$(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
  
Index: patches/patch-src_SDL_c
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-src_SDL_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-src_SDL_c
--- patches/patch-src_SDL_c     3 Jan 2019 17:55:08 -0000       1.2
+++ patches/patch-src_SDL_c     20 Sep 2019 20:41:27 -0000
@@ -7,7 +7,7 @@ until OpenBSD support has been rolled ou
 Index: src/SDL.c
 --- src/SDL.c.orig
 +++ src/SDL.c
-@@ -228,8 +228,6 @@ SDL_InitSubSystem(Uint32 flags)
+@@ -227,8 +227,6 @@ SDL_InitSubSystem(Uint32 flags)
              }
          }
          SDL_PrivateSubsystemRefCountIncr(SDL_INIT_HAPTIC);
@@ -16,7 +16,7 @@ Index: src/SDL.c
  #endif
      }
  
-@@ -449,7 +447,7 @@ SDL_GetPlatform()
+@@ -453,7 +451,7 @@ SDL_GetPlatform()
  #elif __NETBSD__
      return "NetBSD";
  #elif __OPENBSD__
Index: patches/patch-src_joystick_SDL_gamecontroller_c
===================================================================
RCS file: 
/cvs/ports/devel/sdl2/patches/patch-src_joystick_SDL_gamecontroller_c,v
retrieving revision 1.3
diff -u -p -r1.3 patch-src_joystick_SDL_gamecontroller_c
--- patches/patch-src_joystick_SDL_gamecontroller_c     3 Jan 2019 17:55:08 
-0000       1.3
+++ patches/patch-src_joystick_SDL_gamecontroller_c     20 Sep 2019 20:41:27 
-0000
@@ -1,15 +1,26 @@
-$OpenBSD: patch-src_joystick_SDL_gamecontroller_c,v 1.3 2019/01/03 17:55:08 
thfr Exp $
+$OpenBSD$
 
 enable GameController API the Linux fallback way (by posing as Xbox360
 controller)
 also disable checking string "Xbox 360 Wireless Receiver", so for now
 everything will be Xbox360 controller (works with generic joysticks)
 map to SDL_GAMECONTROLLERCONFIG envvar if available
+Use layout for XBox360 controller to maximize compatibility because
+many controllers use this mapping
 
 Index: src/joystick/SDL_gamecontroller.c
 --- src/joystick/SDL_gamecontroller.c.orig
 +++ src/joystick/SDL_gamecontroller.c
-@@ -1008,17 +1008,23 @@ static ControllerMapping_t *SDL_PrivateGetControllerMa
+@@ -735,7 +735,7 @@ static char *SDL_PrivateGetControllerGUIDFromMappingSt
+             SDL_memcpy(&pchGUID[8], &pchGUID[0], 4);
+             SDL_memcpy(&pchGUID[0], "03000000", 8);
+         }
+-#elif __MACOSX__
++#else if(__MACOSX__) || (__OpenBSD__)
+         if (SDL_strlen(pchGUID) == 32 &&
+             SDL_memcmp(&pchGUID[4], "000000000000", 12) == 0 &&
+             SDL_memcmp(&pchGUID[20], "000000000000", 12) == 0) {
+@@ -1022,17 +1022,21 @@ static ControllerMapping_t *SDL_PrivateGetControllerMa
      ControllerMapping_t *mapping;
  
      mapping = SDL_PrivateGetControllerMappingForGUID(&guid, SDL_FALSE);
@@ -17,21 +28,21 @@ Index: src/joystick/SDL_gamecontroller.c
 +#if defined(__LINUX__) || defined(__OpenBSD__)
      if (!mapping && name) {
 -        if (SDL_strstr(name, "Xbox 360 Wireless Receiver")) {
-+        //if (SDL_strstr(name, "Xbox 360 Wireless Receiver")) {
-             /* The Linux driver xpad.c maps the wireless dpad to buttons */
-             SDL_bool existing;
--            mapping = SDL_PrivateAddMappingForGUID(guid,
-+          char guid_str[1024];
-+            SDL_JoystickGetGUIDString(guid, guid_str, sizeof(guid_str));
-+          if (SDL_GetHint(SDL_HINT_GAMECONTROLLERCONFIG) == NULL) {
-+                  mapping = SDL_PrivateAddMappingForGUID(guid,
- "none,X360 Wireless 
Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,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,",
-                           &existing, SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT);
--        }
-+          } else {
-+                  mapping = SDL_PrivateAddMappingForGUID(guid, 
SDL_GetHint(SDL_HINT_GAMECONTROLLERCONFIG), &existing, 
SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT);
-+          }
-+        //}
+-            /* The Linux driver xpad.c maps the wireless dpad to buttons */
+-            SDL_bool existing;
++        /* The Linux driver xpad.c maps the wireless dpad to buttons */
++        SDL_bool existing;
++        char guid_str[1024];
++        SDL_JoystickGetGUIDString(guid, guid_str, sizeof(guid_str));
++        if (SDL_GetHint(SDL_HINT_GAMECONTROLLERCONFIG) == NULL) {
+             mapping = SDL_PrivateAddMappingForGUID(guid,
+-"none,X360 Wireless 
Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,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",
+-                          &existing, SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT);
++"none,XBox360 
Controller,a:b7,b:b8,back:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b2,lefttrigger:a2,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b3,righttrigger:a5,rightx:a3,righty:a4~,start:b0,x:b9,y:b10",
++                &existing, SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT);
++        } else {
++            mapping = SDL_PrivateAddMappingForGUID(guid, 
SDL_GetHint(SDL_HINT_GAMECONTROLLERCONFIG), &existing, 
SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT);
+         }
      }
 -#endif /* __LINUX__ */
 +#endif /* __LINUX__ || __OpenBSD__ */
Index: patches/patch-src_joystick_bsd_SDL_sysjoystick_c
===================================================================
RCS file: 
/cvs/ports/devel/sdl2/patches/patch-src_joystick_bsd_SDL_sysjoystick_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-src_joystick_bsd_SDL_sysjoystick_c
--- patches/patch-src_joystick_bsd_SDL_sysjoystick_c    3 Jan 2019 17:55:08 
-0000       1.1
+++ patches/patch-src_joystick_bsd_SDL_sysjoystick_c    20 Sep 2019 20:41:27 
-0000
@@ -1,109 +0,0 @@
-$OpenBSD: patch-src_joystick_bsd_SDL_sysjoystick_c,v 1.1 2019/01/03 17:55:08 
thfr Exp $
-
-detect D-Pad as hat and turn D-pad input into equivalent hat position
-This improves compatibility with Xbox 360 controller and XInput devices
-
-Index: src/joystick/bsd/SDL_sysjoystick.c
---- src/joystick/bsd/SDL_sysjoystick.c.orig
-+++ src/joystick/bsd/SDL_sysjoystick.c
-@@ -80,7 +80,50 @@
- #define MAX_JOY_JOYS    2
- #define MAX_JOYS    (MAX_UHID_JOYS + MAX_JOY_JOYS)
- 
-+#ifdef __OpenBSD__
- 
-+#define HUG_DPAD_UP         0x90
-+#define HUG_DPAD_DOWN       0x91
-+#define HUG_DPAD_RIGHT      0x92
-+#define HUG_DPAD_LEFT       0x93
-+
-+#define HAT_CENTERED        0x00
-+#define HAT_UP              0x01
-+#define HAT_RIGHT           0x02
-+#define HAT_DOWN            0x04
-+#define HAT_LEFT            0x08
-+#define HAT_RIGHTUP         (HAT_RIGHT|HAT_UP)
-+#define HAT_RIGHTDOWN       (HAT_RIGHT|HAT_DOWN)
-+#define HAT_LEFTUP          (HAT_LEFT|HAT_UP)
-+#define HAT_LEFTDOWN        (HAT_LEFT|HAT_DOWN)
-+
-+/* calculate the value from the state of the dpad */
-+int
-+dpad_to_sdl(Sint32 *dpad)
-+{
-+    if (dpad[2]) {
-+        if (dpad[0])
-+            return HAT_RIGHTUP;
-+        else if (dpad[1])
-+            return HAT_RIGHTDOWN;
-+        else
-+            return HAT_RIGHT;
-+    } else if (dpad[3]) {
-+        if (dpad[0])
-+            return HAT_LEFTUP;
-+        else if (dpad[1])
-+            return HAT_LEFTDOWN;
-+        else
-+            return HAT_LEFT;
-+    } else if (dpad[0]) {
-+        return HAT_UP;
-+    } else if (dpad[1]) {
-+        return HAT_DOWN;
-+    }
-+    return HAT_CENTERED;
-+}
-+#endif
-+
- struct report
- {
- #if defined(__FREEBSD__) && (__FreeBSD_kernel_version > 900000)
-@@ -432,7 +475,11 @@ desc_failed:
-                     int joyaxe = usage_to_joyaxe(usage);
-                     if (joyaxe >= 0) {
-                         hw->axis_map[joyaxe] = 1;
--                    } else if (usage == HUG_HAT_SWITCH) {
-+                    } else if (usage == HUG_HAT_SWITCH
-+#ifdef __OpenBSD__
-+                               || usage == HUG_DPAD_UP
-+#endif
-+                               ) {
-                         joy->nhats++;
-                     }
-                     break;
-@@ -485,6 +532,9 @@ BSD_JoystickUpdate(SDL_Joystick * joy)
-     struct report *rep;
-     int nbutton, naxe = -1;
-     Sint32 v;
-+#ifdef __OpenBSD__
-+    Sint32 dpad[4] = {0, 0, 0, 0};
-+#endif
- 
- #if defined(__FREEBSD__) || SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H || 
defined(__FreeBSD_kernel__)
-     struct joystick gameport;
-@@ -570,6 +620,16 @@ BSD_JoystickUpdate(SDL_Joystick * joy)
-                                                    hatval_to_sdl(v) -
-                                                    hitem.logical_minimum);
-                         }
-+#ifdef __OpenBSD__
-+                        else if (usage == HUG_DPAD_UP)
-+                            dpad[0] = (Sint32) 
hid_get_data(REP_BUF_DATA(rep), &hitem);
-+                        else if (usage == HUG_DPAD_DOWN)
-+                            dpad[1] = (Sint32) 
hid_get_data(REP_BUF_DATA(rep), &hitem);
-+                        else if (usage == HUG_DPAD_RIGHT)
-+                            dpad[2] = (Sint32) 
hid_get_data(REP_BUF_DATA(rep), &hitem);
-+                        else if (usage == HUG_DPAD_LEFT)
-+                            dpad[3] = (Sint32) 
hid_get_data(REP_BUF_DATA(rep), &hitem);
-+#endif
-                         break;
-                     }
-                 case HUP_BUTTON:
-@@ -585,6 +645,9 @@ BSD_JoystickUpdate(SDL_Joystick * joy)
-                 break;
-             }
-         }
-+#ifdef __OpenBSD__
-+        SDL_PrivateJoystickHat(joy, 0, dpad_to_sdl(dpad));
-+#endif
-         hid_end_parse(hdata);
-     }
- }
Index: patches/patch-src_video_SDL_egl_c
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-src_video_SDL_egl_c,v
retrieving revision 1.3
diff -u -p -r1.3 patch-src_video_SDL_egl_c
--- patches/patch-src_video_SDL_egl_c   11 Mar 2018 22:40:20 -0000      1.3
+++ patches/patch-src_video_SDL_egl_c   20 Sep 2019 20:41:27 -0000
@@ -2,7 +2,7 @@ $OpenBSD: patch-src_video_SDL_egl_c,v 1.
 Index: src/video/SDL_egl.c
 --- src/video/SDL_egl.c.orig
 +++ src/video/SDL_egl.c
-@@ -72,6 +72,13 @@
+@@ -73,6 +73,13 @@
  #define DEFAULT_OGL_ES_PVR "libGLES_CM.dylib"   //???
  #define DEFAULT_OGL_ES "libGLESv1_CM.dylib"     //???
  

Reply via email to