diff --git a/games/supertuxkart/Makefile b/games/supertuxkart/Makefile index ade06c65bb14..79ae5ec095c3 100644 --- a/games/supertuxkart/Makefile +++ b/games/supertuxkart/Makefile @@ -1,64 +1,61 @@ PORTNAME= supertuxkart PORTVERSION= 1.2 PORTREVISION= 2 CATEGORIES= games MASTER_SITES= SF/supertuxkart/SuperTuxKart/${PORTVERSION} DISTNAME= SuperTuxKart-${PORTVERSION}-src -PATCH_SITES= https://github.com/${PORTNAME}/stk-code/commit/ -PATCHFILES+= 61833c9c26da5520f.patch:-p1 # Fix compilation with latest SDL - MAINTAINER= amdmi3@FreeBSD.org COMMENT= Free 3D kart racing game LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libsqlite3.so:databases/sqlite3 \ libcurl.so:ftp/curl BROKEN_FreeBSD_12_i386= does not build (error: this directive must appear between .cfi_startproc and .cfi_endproc directives) BROKEN_i386= ld: error: cannot preempt symbol: alcOpenDevice USES= alias cmake compiler:c++11-lib pkgconfig tar:xz CMAKE_OFF= USE_WIIUSE \ BUILD_RECORDER \ USE_SYSTEM_ENET \ USE_SYSTEM_SQUISH CMAKE_ON= USE_SYSTEM_GLEW PORTDATA= * CXXFLAGS+= -DNO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_ \ -D__FREE_BSD_ OPTIONS_DEFINE= NETTLE SERVER_ONLY OPTIONS_DEFAULT=NETTLE NETTLE_DESC= Use Nettle instead of OpenSSL for cryptography NETTLE_LIB_DEPENDS= libnettle.so:security/nettle NETTLE_USES_OFF= ssl NETTLE_CMAKE_BOOL_OFF= USE_CRYPTO_OPENSSL SERVER_ONLY_DESC= Build server only SERVER_ONLY_CMAKE_BOOL= SERVER_ONLY SERVER_ONLY_LIB_DEPENDS_OFF= \ libvorbisfile.so:audio/libvorbis \ libogg.so:audio/libogg \ libpng.so:graphics/png \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz SERVER_ONLY_USES_OFF= gettext gl jpeg openal:al sdl xorg SERVER_ONLY_USE_OFF= GL=gl,glu,glew SDL=sdl2 XORG=x11,xrandr # make sure that bundled libraries are not used post-extract: .for bundled in glew wiiuse @${RM} -rf ${WRKSRC}/lib/${bundled} .endfor post-patch: @${REINPLACE_CMD} -e 's|Icon=.*|Icon=${PREFIX}/share/icons/hicolor/128x128/apps/supertuxkart.png|' \ ${WRKSRC}/data/${PORTNAME}.desktop .include diff --git a/games/supertuxkart/distinfo b/games/supertuxkart/distinfo index 7d0f05be7799..61c3ad95cff5 100644 --- a/games/supertuxkart/distinfo +++ b/games/supertuxkart/distinfo @@ -1,5 +1,3 @@ TIMESTAMP = 1598745498 SHA256 (SuperTuxKart-1.2-src.tar.xz) = 052edf0afdbeb99583fe8676fb0ab80ecb6103fb88b7540f858d1b5fa1297d37 SIZE (SuperTuxKart-1.2-src.tar.xz) = 614569164 -SHA256 (61833c9c26da5520f.patch) = ff1f35d7cc83ad98f531f9d77eb1caacd2e65fd64a8da42c693812ca5741d966 -SIZE (61833c9c26da5520f.patch) = 5396 diff --git a/games/supertuxkart/files/patch-61833c9 b/games/supertuxkart/files/patch-61833c9 new file mode 100644 index 000000000000..70e27fa9ec11 --- /dev/null +++ b/games/supertuxkart/files/patch-61833c9 @@ -0,0 +1,106 @@ +From 61833c9c26da5520f2eaa02f2458971ba07f2aad Mon Sep 17 00:00:00 2001 +From: Benau +Date: Sun, 29 Nov 2020 12:42:11 +0800 +Subject: [PATCH] Fix compilation with latest SDL + +--- + src/input/gamepad_config.cpp | 55 ++++++++++++++++++------------------ + 1 file changed, 27 insertions(+), 28 deletions(-) + +diff --git a/src/input/gamepad_config.cpp b/src/input/gamepad_config.cpp +index 7c6f632099..c060e7a5a7 100644 +--- src/input/gamepad_config.cpp ++++ src/input/gamepad_config.cpp +@@ -32,8 +32,7 @@ + #include "input/sdl_controller.hpp" + #include + +-static_assert(SDL_CONTROLLER_BUTTON_MAX - 1 == SDL_CONTROLLER_BUTTON_DPAD_RIGHT, "non continous name"); +-enum AxisWithDirection ++enum AxisWithDirection : unsigned + { + SDL_CONTROLLER_AXIS_LEFTX_RIGHT = SDL_CONTROLLER_BUTTON_MAX, + SDL_CONTROLLER_AXIS_LEFTX_LEFT, +@@ -140,56 +139,56 @@ void GamepadConfig::setDefaultBinds () + core::stringw GamepadConfig::getBindingAsString(const PlayerAction action) const + { + #ifndef SERVER_ONLY +- std::array readable = ++ std::map readable = + {{ +- "A", // SDL_CONTROLLER_BUTTON_A +- "B", // SDL_CONTROLLER_BUTTON_B +- "X", // SDL_CONTROLLER_BUTTON_X +- "Y", // SDL_CONTROLLER_BUTTON_Y ++ { SDL_CONTROLLER_BUTTON_A, "A" }, ++ { SDL_CONTROLLER_BUTTON_B, "B" }, ++ { SDL_CONTROLLER_BUTTON_X, "X" }, ++ { SDL_CONTROLLER_BUTTON_Y, "Y" }, + // I18N: name of buttons on gamepads +- _("Back"), // SDL_CONTROLLER_BUTTON_BACK ++ { SDL_CONTROLLER_BUTTON_BACK, _("Back") }, + // I18N: name of buttons on gamepads +- _("Guide"), // SDL_CONTROLLER_BUTTON_GUIDE ++ { SDL_CONTROLLER_BUTTON_GUIDE, _("Guide") }, + // I18N: name of buttons on gamepads +- _("Start"), // SDL_CONTROLLER_BUTTON_START ++ { SDL_CONTROLLER_BUTTON_START, _("Start") }, + // I18N: name of buttons on gamepads +- _("Left thumbstick press"), // SDL_CONTROLLER_BUTTON_LEFTSTICK ++ { SDL_CONTROLLER_BUTTON_LEFTSTICK, _("Left thumbstick press") }, + // I18N: name of buttons on gamepads +- _("Right thumbstick press"), // SDL_CONTROLLER_BUTTON_RIGHTSTICK ++ { SDL_CONTROLLER_BUTTON_RIGHTSTICK, _("Right thumbstick press") }, + // I18N: name of buttons on gamepads +- _("Left shoulder"), // SDL_CONTROLLER_BUTTON_LEFTSHOULDER ++ { SDL_CONTROLLER_BUTTON_LEFTSHOULDER, _("Left shoulder") }, + // I18N: name of buttons on gamepads +- _("Right shoulder"), // SDL_CONTROLLER_BUTTON_RIGHTSHOULDER ++ { SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, _("Right shoulder") }, + // I18N: name of buttons on gamepads +- _("DPad up"), // SDL_CONTROLLER_BUTTON_DPAD_UP ++ { SDL_CONTROLLER_BUTTON_DPAD_UP, _("DPad up") }, + // I18N: name of buttons on gamepads +- _("DPad down"), // SDL_CONTROLLER_BUTTON_DPAD_DOWN ++ { SDL_CONTROLLER_BUTTON_DPAD_DOWN, _("DPad down") }, + // I18N: name of buttons on gamepads +- _("DPad left"), // SDL_CONTROLLER_BUTTON_DPAD_LEFT ++ { SDL_CONTROLLER_BUTTON_DPAD_LEFT, _("DPad left") }, + // I18N: name of buttons on gamepads +- _("DPad right"), // SDL_CONTROLLER_BUTTON_DPAD_RIGHT ++ { SDL_CONTROLLER_BUTTON_DPAD_RIGHT, _("DPad right") }, + + // Below are extensions after SDL2 header SDL_CONTROLLER_BUTTON_MAX + // I18N: name of buttons on gamepads +- _("Left thumbstick right"), // SDL_CONTROLLER_AXIS_LEFTX_RIGHT ++ { SDL_CONTROLLER_AXIS_LEFTX_RIGHT, _("Left thumbstick right") }, + // I18N: name of buttons on gamepads +- _("Left thumbstick left"), // SDL_CONTROLLER_AXIS_LEFTX_LEFT ++ { SDL_CONTROLLER_AXIS_LEFTX_LEFT, _("Left thumbstick left") }, + // I18N: name of buttons on gamepads +- _("Left thumbstick down"), // SDL_CONTROLLER_AXIS_LEFTY_DOWN ++ { SDL_CONTROLLER_AXIS_LEFTY_DOWN, _("Left thumbstick down") }, + // I18N: name of buttons on gamepads +- _("Left thumbstick up"), // SDL_CONTROLLER_AXIS_LEFTY_UP ++ { SDL_CONTROLLER_AXIS_LEFTY_UP, _("Left thumbstick up") }, + // I18N: name of buttons on gamepads +- _("Right thumbstick right"), // SDL_CONTROLLER_AXIS_RIGHTX_RIGHT ++ { SDL_CONTROLLER_AXIS_RIGHTX_RIGHT, _("Right thumbstick right") }, + // I18N: name of buttons on gamepads +- _("Right thumbstick left"), // SDL_CONTROLLER_AXIS_RIGHTX_LEFT ++ { SDL_CONTROLLER_AXIS_RIGHTX_LEFT, _("Right thumbstick left") }, + // I18N: name of buttons on gamepads +- _("Right thumbstick down"), // SDL_CONTROLLER_AXIS_RIGHTY_DOWN ++ { SDL_CONTROLLER_AXIS_RIGHTY_DOWN, _("Right thumbstick down") }, + // I18N: name of buttons on gamepads +- _("Right thumbstick up"), // SDL_CONTROLLER_AXIS_RIGHTY_UP ++ { SDL_CONTROLLER_AXIS_RIGHTY_UP, _("Right thumbstick up") }, + // I18N: name of buttons on gamepads +- _("Left trigger"), // SDL_CONTROLLER_AXIS_TRIGGERLEFT_UP ++ { SDL_CONTROLLER_AXIS_TRIGGERLEFT_UP, _("Left trigger") }, + // I18N: name of buttons on gamepads +- _("Right trigger") // SDL_CONTROLLER_AXIS_TRIGGERRIGHT_UP ++ { SDL_CONTROLLER_AXIS_TRIGGERRIGHT_UP, _("Right trigger") } + }}; + + const Binding &b = getBinding(action);