summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-27 04:39:09 +0000
committerSam James <sam@gentoo.org>2023-01-27 05:23:32 +0000
commitdacea07651fb867ea3a0e40d069ddc52cc4a0c34 (patch)
treea8d66b6e3f9922b9de4923ed35b93bfe3c40a6b8 /games-action/supertuxkart
parentdev-util/android-tools: fix build w/ gcc 13 (diff)
downloadgentoo-dacea07651fb867ea3a0e40d069ddc52cc4a0c34.tar.gz
gentoo-dacea07651fb867ea3a0e40d069ddc52cc4a0c34.tar.bz2
gentoo-dacea07651fb867ea3a0e40d069ddc52cc4a0c34.zip
games-action/supertuxkart: add 1.4
Closes: https://bugs.gentoo.org/891117 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-action/supertuxkart')
-rw-r--r--games-action/supertuxkart/Manifest1
-rw-r--r--games-action/supertuxkart/files/supertuxkart-1.4-gcc-13.patch122
-rw-r--r--games-action/supertuxkart/metadata.xml1
-rw-r--r--games-action/supertuxkart/supertuxkart-1.4.ebuild83
4 files changed, 207 insertions, 0 deletions
diff --git a/games-action/supertuxkart/Manifest b/games-action/supertuxkart/Manifest
index df717f644ffd..f6deb1b652f9 100644
--- a/games-action/supertuxkart/Manifest
+++ b/games-action/supertuxkart/Manifest
@@ -1,2 +1,3 @@
DIST SuperTuxKart-1.3-src.tar.xz 627753500 BLAKE2B 3ffc86edf80adb27cd17a6ba796fb14d0660a1c14ff21c7908e5f965609c6f6a6b40270a21690cd1318d1003e07d90b4180c292252b1731d4cd6292fe12e6086 SHA512 42664390c844ebca0be9b2f2aeb3c9197c0c79a7c604707b32e81ef41aec10fa36f5950f06e1540ea6f75f6c7f8a8f7f80aeda48de3d101d991420f5b20530ed
+DIST SuperTuxKart-1.4-src.tar.xz 650010456 BLAKE2B dc85c77cdf8b8f7377b5771eb3b3edbe20f6949c99f710ca70506c09152e7a846b3d3239f185d23c9fdf0477da417bacc644793b3407aed1e68fc41ced41a71e SHA512 e88f3fb5ccdb38d0ef75e92d73b43c5cc7a1f6c76ac9502033df099a00d6dc3e86b2c5442b806237d2420c44ada7dd23a2c90ecf94785a44d2348c933770a5ab
DIST supertuxkart.png 4435 BLAKE2B b48b95e1cdebe930837cc784c4c5e9a089a69077e2fcfed15fe5e8c4d649a0f8024769b2f2102bbaea3a94eb21f4b58b5d291b97493266c3c5c8d7335cf69a80 SHA512 a180332f79220431922fa8b351cb476ebc5d9d1df09f20707eb3bdd7002fd264cb027b8190c73c5221050e6e8601beb6758a5809d05aedfb18f0bdb426f47eda
diff --git a/games-action/supertuxkart/files/supertuxkart-1.4-gcc-13.patch b/games-action/supertuxkart/files/supertuxkart-1.4-gcc-13.patch
new file mode 100644
index 000000000000..bacd046a4771
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-1.4-gcc-13.patch
@@ -0,0 +1,122 @@
+https://github.com/supertuxkart/stk-code/commit/0163e3fa88b72634c3ddff5304c9086b649f53b1
+
+From 0163e3fa88b72634c3ddff5304c9086b649f53b1 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Thu, 26 Jan 2023 16:35:54 +0100
+Subject: [PATCH] Add missing includes to fix the build with gcc 13
+
+Like other versions before, gcc 13 moved some includes around and as a
+result <stdexcept> and <cstdio> are no longer transitively included.
+Explicitly include them for std::runtime_error and snprintf.
+--- a/lib/graphics_engine/include/vk_mem_alloc.h
++++ b/lib/graphics_engine/include/vk_mem_alloc.h
+@@ -2563,6 +2563,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString(
+ #undef VMA_IMPLEMENTATION
+
+ #include <cstdint>
++#include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
+ #include <utility>
+--- a/lib/graphics_engine/src/ge_spm_buffer.cpp
++++ b/lib/graphics_engine/src/ge_spm_buffer.cpp
+@@ -5,6 +5,7 @@
+ #include "ge_vulkan_features.hpp"
+
+ #include <algorithm>
++#include <stdexcept>
+
+ #include "mini_glm.hpp"
+
+--- a/lib/graphics_engine/src/ge_vulkan_array_texture.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_array_texture.cpp
+@@ -12,6 +12,7 @@
+
+ #include <IImageLoader.h>
+ #include <cassert>
++#include <stdexcept>
+
+ namespace GE
+ {
+--- a/lib/graphics_engine/src/ge_vulkan_command_loader.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_command_loader.cpp
+@@ -8,6 +8,7 @@
+ #include <deque>
+ #include <memory>
+ #include <mutex>
++#include <stdexcept>
+ #include <thread>
+
+ #include "../source/Irrlicht/os.h"
+--- a/lib/graphics_engine/src/ge_vulkan_depth_texture.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_depth_texture.cpp
+@@ -3,6 +3,8 @@
+ #include "ge_main.hpp"
+ #include "ge_vulkan_driver.hpp"
+
++#include <stdexcept>
++
+ namespace GE
+ {
+ GEVulkanDepthTexture::GEVulkanDepthTexture(GEVulkanDriver* vk,
+--- a/lib/graphics_engine/src/ge_vulkan_draw_call.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_draw_call.cpp
+@@ -25,6 +25,7 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <limits>
++#include <stdexcept>
+
+ #include "../source/Irrlicht/os.h"
+ #include "quaternion.h"
+--- a/lib/graphics_engine/src/ge_vulkan_fbo_texture.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_fbo_texture.cpp
+@@ -6,6 +6,7 @@
+
+ #include <array>
+ #include <exception>
++#include <stdexcept>
+
+ namespace GE
+ {
+--- a/lib/graphics_engine/src/ge_vulkan_mesh_cache.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_mesh_cache.cpp
+@@ -10,6 +10,7 @@
+
+ #include <algorithm>
+ #include <cassert>
++#include <stdexcept>
+ #include <vector>
+
+ namespace GE
+--- a/lib/graphics_engine/src/ge_vulkan_skybox_renderer.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_skybox_renderer.cpp
+@@ -11,6 +11,7 @@
+
+ #include <array>
+ #include <cstdint>
++#include <stdexcept>
+ #include <unordered_map>
+
+ namespace GE
+--- a/lib/graphics_engine/src/ge_vulkan_texture.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_texture.cpp
+@@ -21,6 +21,7 @@ extern "C"
+ #include <IAttributes.h>
+ #include <IImageLoader.h>
+ #include <limits>
++#include <stdexcept>
+
+ namespace GE
+ {
+--- a/lib/graphics_engine/src/ge_vulkan_texture_descriptor.cpp
++++ b/lib/graphics_engine/src/ge_vulkan_texture_descriptor.cpp
+@@ -6,6 +6,7 @@
+
+ #include <algorithm>
+ #include <exception>
++#include <stdexcept>
+
+ namespace GE
+ {
+
diff --git a/games-action/supertuxkart/metadata.xml b/games-action/supertuxkart/metadata.xml
index 28d5e6b38a19..2e74607fa408 100644
--- a/games-action/supertuxkart/metadata.xml
+++ b/games-action/supertuxkart/metadata.xml
@@ -9,6 +9,7 @@
<flag name="nettle">Use <pkg>dev-libs/nettle</pkg> crypto backend</flag>
<flag name="recorder">Enable recording with <pkg>media-libs/libopenglrecorder</pkg></flag>
<flag name="sqlite">Record IP bans, statistics in server mode with <pkg>dev-db/sqlite</pkg></flag>
+ <flag name="vulkan">Enable support for Vulkan</flag>
<flag name="wiimote">Support for wiimote input devices</flag>
</use>
<upstream>
diff --git a/games-action/supertuxkart/supertuxkart-1.4.ebuild b/games-action/supertuxkart/supertuxkart-1.4.ebuild
new file mode 100644
index 000000000000..495e18a9ae69
--- /dev/null
+++ b/games-action/supertuxkart/supertuxkart-1.4.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop xdg
+
+MY_P="SuperTuxKart-${PV}-src"
+DESCRIPTION="A kart racing game starring Tux, the linux penguin (TuxKart fork)"
+HOMEPAGE="https://supertuxkart.net/"
+SRC_URI="
+ https://github.com/${PN}/stk-code/releases/download/${PV}/${MY_P}.tar.xz
+ mirror://gentoo/${PN}.png
+"
+
+LICENSE="GPL-2 GPL-3 CC-BY-SA-3.0 CC-BY-SA-4.0 CC0-1.0 public-domain ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="debug nettle recorder sqlite vulkan wiimote"
+
+# Don't unbundle irrlicht and bullet
+# both are modified and system versions will break the game
+# https://sourceforge.net/p/irrlicht/feature-requests/138/
+RDEPEND="
+ dev-cpp/libmcpp
+ dev-libs/angelscript:=
+ media-libs/freetype:2
+ media-libs/harfbuzz:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/libsdl2[opengl,video]
+ media-libs/libvorbis
+ media-libs/openal
+ net-libs/enet:1.3=
+ net-misc/curl
+ sys-libs/zlib
+ virtual/libintl
+ nettle? ( dev-libs/nettle:= )
+ !nettle? ( >=dev-libs/openssl-1.0.1d:= )
+ recorder? ( media-libs/libopenglrecorder )
+ sqlite? ( dev-db/sqlite:3 )
+ vulkan? ( media-libs/shaderc )
+ wiimote? ( net-wireless/bluez )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1-irrlicht-arch-support.patch
+ "${FILESDIR}"/${PN}-1.3-irrlicht-system-libs.patch
+ "${FILESDIR}"/${P}-gcc-13.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SQLITE3=$(usex sqlite)
+ -DUSE_SYSTEM_ANGELSCRIPT=ON
+ -DUSE_SYSTEM_ENET=ON
+ -DUSE_SYSTEM_SQUISH=OFF
+ -DUSE_SYSTEM_WIIUSE=OFF
+ -DUSE_IPV6=OFF # not supported by system enet
+ -DUSE_CRYPTO_OPENSSL=$(usex nettle no yes)
+ -DBUILD_RECORDER=$(usex recorder)
+ -DUSE_WIIUSE=$(usex wiimote)
+ -DNO_SHADERC=$(usex !vulkan)
+ -DSTK_INSTALL_BINARY_DIR=bin
+ -DSTK_INSTALL_DATA_DIR=share/${PN}
+ -DBUILD_SHARED_LIBS=OFF # build bundled libsquish as static library
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc CHANGELOG.md
+
+ doicon -s 64 "${DISTDIR}"/${PN}.png
+}