summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2020-03-28 20:32:11 +0000
committerJames Le Cuirot <chewi@gentoo.org>2020-03-28 20:37:27 +0000
commitc7ada27ef73e5e8b7fc46762ad8ff903a207409e (patch)
treeedff820359f4d34987139ff8dc7a600de41f1efb
parentprofiles: Mask net-fs/ncpfs, net-misc/ipx-utils for removal (diff)
downloadgentoo-c7ada27ef73e5e8b7fc46762ad8ff903a207409e.tar.gz
gentoo-c7ada27ef73e5e8b7fc46762ad8ff903a207409e.tar.bz2
gentoo-c7ada27ef73e5e8b7fc46762ad8ff903a207409e.zip
games-action/supertuxkart: Version bump to 1.1
Many thanks to Kevin O'Shea for the patches. Closes: https://bugs.gentoo.org/706088 Package-Manager: Portage-2.3.96, Repoman-2.3.20 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
-rw-r--r--games-action/supertuxkart/Manifest1
-rw-r--r--games-action/supertuxkart/files/supertuxkart-1.1-fix-buildsystem.patch20
-rw-r--r--games-action/supertuxkart/files/supertuxkart-1.1-irrlicht-arch-support.patch47
-rw-r--r--games-action/supertuxkart/supertuxkart-1.1.ebuild91
4 files changed, 159 insertions, 0 deletions
diff --git a/games-action/supertuxkart/Manifest b/games-action/supertuxkart/Manifest
index 5a0e070b25a8..fd603cfb6c93 100644
--- a/games-action/supertuxkart/Manifest
+++ b/games-action/supertuxkart/Manifest
@@ -1,2 +1,3 @@
DIST supertuxkart-1.0-src.tar.xz 597012504 BLAKE2B ed1b851bad8696b4593c54f215b115528afc29bde237f67627e2918c4a9fab09eddc204d0c879fa85c6b10b5544dba5fa5fc1b437cb83e6d884ac717e3369c28 SHA512 182754610abd09545630fa1f7fda858ba1731bbacb078bc71597e143f9cb2a1cfcedd3038720760d0471a89b79cc3bb1eb292d38fcd53be05aad7cb17c474ca9
+DIST supertuxkart-1.1-src.tar.xz 616739152 BLAKE2B a4dd9ec0a8ee158306dc902d3de363b68e7a317800df1b36339843521019df91c0713b74bdef8dc06b40bee57285237408a17b539c7bd7298cd3ef3deaf99fda SHA512 81d5ff59bb33eba8a00547239d54cacfde25eed0c56c857712a00a62032e4cf371cdd367159eaa4bfec6d4dd5781b705e41b58a26b864aa43678cfe9926bb804
DIST supertuxkart.png 4435 BLAKE2B b48b95e1cdebe930837cc784c4c5e9a089a69077e2fcfed15fe5e8c4d649a0f8024769b2f2102bbaea3a94eb21f4b58b5d291b97493266c3c5c8d7335cf69a80 SHA512 a180332f79220431922fa8b351cb476ebc5d9d1df09f20707eb3bdd7002fd264cb027b8190c73c5221050e6e8601beb6758a5809d05aedfb18f0bdb426f47eda
diff --git a/games-action/supertuxkart/files/supertuxkart-1.1-fix-buildsystem.patch b/games-action/supertuxkart/files/supertuxkart-1.1-fix-buildsystem.patch
new file mode 100644
index 000000000000..394a1963199d
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-1.1-fix-buildsystem.patch
@@ -0,0 +1,20 @@
+diff --git a/lib/irrlicht/CMakeLists.txt b/lib/irrlicht/CMakeLists.txt
+index 92a881c81..1371fdf11 100644
+--- a/lib/irrlicht/CMakeLists.txt
++++ b/lib/irrlicht/CMakeLists.txt
+@@ -94,15 +94,6 @@
+ if(WIN32)
+ add_definitions(-D_IRR_STATIC_LIB_)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS) # Shut up about unsafe stuff
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fstrict-aliasing")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pipe -O3 -fstrict-aliasing")
+- if(CMAKE_COMPILER_IS_GNUCC)
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexpensive-optimizations")
+- endif()
+- if(CMAKE_COMPILER_IS_GNUCXX)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexpensive-optimizations")
+- endif()
+ endif()
+
+ if(USE_GLES2)
diff --git a/games-action/supertuxkart/files/supertuxkart-1.1-irrlicht-arch-support.patch b/games-action/supertuxkart/files/supertuxkart-1.1-irrlicht-arch-support.patch
new file mode 100644
index 000000000000..ad9638ff3dcf
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-1.1-irrlicht-arch-support.patch
@@ -0,0 +1,47 @@
+From: Christoph Egger <debian@christoph-egger.org>
+Subject: [PATCH] debian/arch-support
+
+Building on non-linux architectures currently fails with unpatched
+irrlicht because irrlicht tries to create Joystick support using
+linux-specific headers. However there's infrastructure to disable
+Joystick support, we just need to activate that on non-linux
+architectures.
+
+Additionally if built on a sparc machine irrlicht assumes wrongly it's
+a solaris system. We fix this wrong assumption as our sparc builds are
+all on linux.
+
+Finally irrlicht exceeds the size constraights for -fpic requiering to
+build with -fPIC. As upstream doesn't do that we need to fix this for
+sparc and s390 builds (powerPC?).
+
+Signed-off-by: Christoph Egger <debian@christoph-egger.org>
+
+---
+ lib/irrlicht/include/IrrCompileConfig.h | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+--- a/lib/irrlicht/include/IrrCompileConfig.h
++++ b/lib/irrlicht/include/IrrCompileConfig.h
+@@ -110,4 +110,8 @@
+ #ifndef _IRR_SOLARIS_PLATFORM_
+ #define _IRR_LINUX_PLATFORM_
++#include <endian.h>
++ #if __BYTE_ORDER == __BIG_ENDIAN
++ #define __BIG_ENDIAN__
++ #endif
+ #endif
+ #define _IRR_POSIX_API_
+@@ -465,11 +465,7 @@
+ #undef _IRR_WCHAR_FILESYSTEM
+ #endif
+
+-#if defined(__sparc__) || defined(__sun__)
+-#define __BIG_ENDIAN__
+-#endif
+-
+-#if defined(_IRR_SOLARIS_PLATFORM_)
++#if defined(_IRR_SOLARIS_PLATFORM_) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__)
+ #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
+ #endif
+
diff --git a/games-action/supertuxkart/supertuxkart-1.1.ebuild b/games-action/supertuxkart/supertuxkart-1.1.ebuild
new file mode 100644
index 000000000000..5701c73bab72
--- /dev/null
+++ b/games-action/supertuxkart/supertuxkart-1.1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake desktop xdg
+
+DESCRIPTION="A kart racing game starring Tux, the linux penguin (TuxKart fork)"
+HOMEPAGE="https://supertuxkart.net/"
+SRC_URI="mirror://sourceforge/${PN}/SuperTuxKart/${PV}/${P}-src.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 ~x86"
+IUSE="debug fribidi libressl nettle recorder 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-libs/angelscript:=
+ dev-libs/fribidi
+ media-libs/freetype:2
+ media-libs/glew:0=
+ media-libs/libpng:0=
+ media-libs/libvorbis
+ media-libs/openal
+ net-libs/enet:1.3=
+ net-misc/curl
+ sys-libs/zlib
+ virtual/glu
+ virtual/jpeg:0
+ virtual/libintl
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ nettle? ( dev-libs/nettle:= )
+ !nettle? (
+ libressl? ( dev-libs/libressl:= )
+ !libressl? ( >=dev-libs/openssl-1.0.1d:0= )
+ )
+ recorder? ( media-libs/libopenglrecorder )
+ wiimote? ( net-wireless/bluez )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${P}-src"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1-irrlicht-arch-support.patch
+ "${FILESDIR}"/${PN}-0.9.3-irrlicht-system-libs.patch
+ "${FILESDIR}"/${PN}-1.1-fix-buildsystem.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # remove bundled libraries, just to be sure
+ rm -r lib/{angelscript,enet,glew,jpeglib,libpng,zlib} || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SYSTEM_ANGELSCRIPT=ON
+ -DUSE_SYSTEM_ENET=ON
+ -DUSE_SYSTEM_GLEW=ON
+ -DUSE_SYSTEM_SQUISH=OFF
+ -DUSE_SYSTEM_WIIUSE=OFF
+ -DUSE_IPV6=OFF # not supported by system enet
+ -DOpenGL_GL_PREFERENCE=GLVND
+ -DUSE_CRYPTO_OPENSSL=$(usex nettle no yes)
+ -DENABLE_WAYLAND_DEVICE=OFF
+ -DBUILD_RECORDER=$(usex recorder)
+ -DUSE_WIIUSE=$(usex wiimote)
+ -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
+}