commit:     288360dc7ce2f968a2f12099edeace3f3ed1a705
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  2 20:59:21 2021 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Jan  2 20:59:21 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=288360dc

games-action/supertuxkart: Fix build with latest SDL2

Closes: https://bugs.gentoo.org/761814
Package-Manager: Portage-3.0.12, Repoman-3.0.1
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 .../files/supertuxkart-1.2-new-sdl.patch           | 106 +++++++++++++++++++++
 games-action/supertuxkart/supertuxkart-1.2.ebuild  |   3 +-
 2 files changed, 108 insertions(+), 1 deletion(-)

diff --git a/games-action/supertuxkart/files/supertuxkart-1.2-new-sdl.patch 
b/games-action/supertuxkart/files/supertuxkart-1.2-new-sdl.patch
new file mode 100644
index 00000000000..973c75d010f
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-1.2-new-sdl.patch
@@ -0,0 +1,106 @@
+From 61833c9c26da5520f2eaa02f2458971ba07f2aad Mon Sep 17 00:00:00 2001
+From: Benau <[email protected]>
+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
+--- a/src/input/gamepad_config.cpp
++++ b/src/input/gamepad_config.cpp
+@@ -32,8 +32,7 @@
+ #include "input/sdl_controller.hpp"
+ #include <array>
+ 
+-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<core::stringw, 
SDL_CONTROLLER_AXIS_WITH_DIRECTION_AND_BUTTON_MAX> readable =
++    std::map<unsigned, core::stringw> 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);

diff --git a/games-action/supertuxkart/supertuxkart-1.2.ebuild 
b/games-action/supertuxkart/supertuxkart-1.2.ebuild
index 5e9aa59fdef..fc674824ebb 100644
--- a/games-action/supertuxkart/supertuxkart-1.2.ebuild
+++ b/games-action/supertuxkart/supertuxkart-1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -57,6 +57,7 @@ S="${WORKDIR}/${MY_P}"
 PATCHES=(
        "${FILESDIR}"/${PN}-1.1-irrlicht-arch-support.patch
        "${FILESDIR}"/${PN}-1.2-irrlicht-system-libs.patch
+       "${FILESDIR}"/${P}-new-sdl.patch
 )
 
 src_prepare() {

Reply via email to