update to sdl2 2.0.10
testing and ok brynet@
This commit is contained in:
parent
77b70736cf
commit
b18d6bf608
@ -1,15 +1,14 @@
|
||||
# $OpenBSD: Makefile,v 1.27 2019/07/12 20:46:01 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.28 2019/09/22 15:46:25 thfr Exp $
|
||||
|
||||
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@openbsd.org>
|
||||
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=no \
|
||||
CONFIGURE_ARGS+= --disable-atomic
|
||||
.endif
|
||||
|
||||
# tests in test subdir, but interactive and not hooked up to build
|
||||
NO_TEST= Yes
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -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
|
||||
|
@ -1,14 +1,14 @@
|
||||
$OpenBSD: patch-Makefile_in,v 1.6 2019/01/03 17:55:08 thfr Exp $
|
||||
$OpenBSD: patch-Makefile_in,v 1.7 2019/09/22 15:46:26 thfr Exp $
|
||||
|
||||
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)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
$OpenBSD: patch-src_SDL_c,v 1.2 2019/01/03 17:55:08 thfr Exp $
|
||||
$OpenBSD: patch-src_SDL_c,v 1.3 2019/09/22 15:46:26 thfr Exp $
|
||||
|
||||
disable breaking if no haptic feedback support which disallows gamecontroller API
|
||||
pretend to be Linux in SDL_GetPlatform to allow compatibility with FNA games
|
||||
@ -7,7 +7,7 @@ until OpenBSD support has been rolled out (estimated end of 2018)
|
||||
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__
|
||||
|
@ -1,15 +1,26 @@
|
||||
$OpenBSD: patch-src_joystick_SDL_gamecontroller_c,v 1.3 2019/01/03 17:55:08 thfr Exp $
|
||||
$OpenBSD: patch-src_joystick_SDL_gamecontroller_c,v 1.4 2019/09/22 15:46:26 thfr Exp $
|
||||
|
||||
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,
|
||||
- /* 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);
|
||||
- }
|
||||
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__ */
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
@ -1,8 +1,8 @@
|
||||
$OpenBSD: patch-src_video_SDL_egl_c,v 1.3 2018/03/11 22:40:20 sthen Exp $
|
||||
$OpenBSD: patch-src_video_SDL_egl_c,v 1.4 2019/09/22 15:46:26 thfr Exp $
|
||||
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" //???
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user