commit:     c7ada27ef73e5e8b7fc46762ad8ff903a207409e
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 28 20:32:11 2020 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 20:37:27 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7ada27e

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 <AT> gentoo.org>

 games-action/supertuxkart/Manifest                 |  1 +
 .../files/supertuxkart-1.1-fix-buildsystem.patch   | 20 +++++
 .../supertuxkart-1.1-irrlicht-arch-support.patch   | 47 +++++++++++
 games-action/supertuxkart/supertuxkart-1.1.ebuild  | 91 ++++++++++++++++++++++
 4 files changed, 159 insertions(+)

diff --git a/games-action/supertuxkart/Manifest 
b/games-action/supertuxkart/Manifest
index 5a0e070b25a..fd603cfb6c9 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 00000000000..394a1963199
--- /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 00000000000..ad9638ff3dc
--- /dev/null
+++ 
b/games-action/supertuxkart/files/supertuxkart-1.1-irrlicht-arch-support.patch
@@ -0,0 +1,47 @@
+From: Christoph Egger <[email protected]>
+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 <[email protected]>
+
+---
+ 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 00000000000..5701c73bab7
--- /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
+}

Reply via email to