Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-action/supertuxkart/, games-action/supertuxkart/files/
Date: Fri, 30 Dec 2016 16:33:09
Message-Id: 1483108653.1209a07b7421a4e01fdab912bffea3b5ea29f486.soap@gentoo
1 commit: 1209a07b7421a4e01fdab912bffea3b5ea29f486
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Fri Dec 30 10:00:20 2016 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Fri Dec 30 14:37:33 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1209a07b
7
8 games-action/supertuxkart: Version bump to 0.9.2
9
10 Gentoo-bug: 594396, 598491, 598493
11 * EAPI=6
12 * Remove games.eclass
13 * Add Debian patches for unbundling
14 * Add GPL-2 license
15
16 Package-Manager: Portage-2.3.3, Repoman-2.3.1
17
18 games-action/supertuxkart/Manifest | 1 +
19 .../files/supertuxkart-0.9.2-fix-angelscript.patch | 27 ++++++
20 .../files/supertuxkart-0.9.2-fix-buildsystem.patch | 97 +++++++++++++++++++
21 .../supertuxkart-0.9.2-irrlicht-arch-support.patch | 49 ++++++++++
22 .../supertuxkart-0.9.2-irrlicht-as-needed.patch | 24 +++++
23 .../supertuxkart-0.9.2-irrlicht-bundled-libs.patch | 35 +++++++
24 .../supertuxkart-0.9.2-irrlicht-system-libs.patch | 105 +++++++++++++++++++++
25 .../files/supertuxkart-0.9.2-unbundle-enet.patch | 58 ++++++++++++
26 .../files/supertuxkart-0.9.2-unbundle-libs.patch | 19 ++++
27 .../supertuxkart/supertuxkart-0.9.2.ebuild | 91 ++++++++++++++++++
28 10 files changed, 506 insertions(+)
29
30 diff --git a/games-action/supertuxkart/Manifest b/games-action/supertuxkart/Manifest
31 index 99cc093..93f2de1 100644
32 --- a/games-action/supertuxkart/Manifest
33 +++ b/games-action/supertuxkart/Manifest
34 @@ -1,2 +1,3 @@
35 DIST supertuxkart-0.9.1-src.tar.xz 425822808 SHA256 c50f00a71df165fb613d20e86bea2d9d5e51ed3e27e1d436fbac3b07cf2ea149 SHA512 11ea064210ea6bc36258f08e57c6aac46739133017ad3ba97ca0edd84c818c2f72dae60bbe7cd79135be9785fb0e15c9904b151c894e1c21b881598113344cf4 WHIRLPOOL 8acd59e878b44f8e504d57687ea1bbece05d5f14b29e0c62a22183729129fb115fccb9a1a89d5e0a86881ac6487c36ea520aab835ba5efaaa3c71471fda9b15f
36 +DIST supertuxkart-0.9.2-src.tar.xz 501606188 SHA256 0b080bb098a26adb552d6fd48905bcb6b1e873ef1567457d7268d7d3aaa48282 SHA512 57f11d518736f88044d1cb73e1dfcc92f5667f3b1147ab7e54435f6bc560fe856c3650410410da5fa048bf23d0b64fc8a9887c830001e1435b0359c9163e71b0 WHIRLPOOL c534854127981821412437632fdf9ff239988199d60f8d582b59bd624dff87f5e37a5cb54020b679e9fb6d440187a5bd0e0c2eb00311e2ae8de6ba58fb1d1d82
37 DIST supertuxkart.png 4435 SHA256 99bc1801cb0514946cb0171d6d5a84484b6dc881edfa7f096b6eb5fea2f28828 SHA512 a180332f79220431922fa8b351cb476ebc5d9d1df09f20707eb3bdd7002fd264cb027b8190c73c5221050e6e8601beb6758a5809d05aedfb18f0bdb426f47eda WHIRLPOOL eef651802a927b451226fc06a682d7dea68b65b05195130ccfc7544165f26f65bda4fc9565e09d6487d02be3cf57880b0c6c257f26587c6bc6d30afc6aa5d3c2
38
39 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-fix-angelscript.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-fix-angelscript.patch
40 new file mode 100644
41 index 00000000..a2f4fb1
42 --- /dev/null
43 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-fix-angelscript.patch
44 @@ -0,0 +1,27 @@
45 +Description: Fix FTBFS on arm64, mips/mips64/mipsel, ppc64el, s390x
46 +Origin: upstream, https://github.com/supertuxkart/stk-code/commit/5e05f1178ce6bc5f3a653b55ab3dc6d016196341
47 +Bug: https://github.com/supertuxkart/stk-code/issues/2569
48 +Bug-Debian: https://bugs.debian.org/830748
49 +Last-Update: 2016-12-03
50 +
51 +--- a/lib/angelscript/projects/cmake/CMakeLists.txt
52 ++++ b/lib/angelscript/projects/cmake/CMakeLists.txt
53 +@@ -68,6 +68,7 @@ set(ANGELSCRIPT_SOURCE
54 + ../../source/as_bytecode.cpp
55 + ../../source/as_callfunc.cpp
56 + ../../source/as_callfunc_x86.cpp
57 ++ ../../source/as_callfunc_mips.cpp
58 + ../../source/as_callfunc_x64_gcc.cpp
59 + ../../source/as_callfunc_x64_msvc.cpp
60 + ../../source/as_callfunc_x64_mingw.cpp
61 +--- a/lib/angelscript/source/as_config.h
62 ++++ b/lib/angelscript/source/as_config.h
63 +@@ -844,7 +844,7 @@
64 + #define THISCALL_PASS_OBJECT_POINTER_ON_THE_STACK
65 + #define AS_X86
66 + #undef AS_NO_THISCALL_FUNCTOR_METHOD
67 +- #elif defined(__LP64__) && !defined(__arm64__)
68 ++ #elif defined(__x86_64__)
69 + #define AS_X64_GCC
70 + #undef AS_NO_THISCALL_FUNCTOR_METHOD
71 + #define HAS_128_BIT_PRIMITIVES
72
73 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-fix-buildsystem.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-fix-buildsystem.patch
74 new file mode 100644
75 index 00000000..6f1c39b
76 --- /dev/null
77 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-fix-buildsystem.patch
78 @@ -0,0 +1,97 @@
79 +* Unbundle remaining libraries: GLEW, zlib, png, jpeg
80 +* Add -DAS_DEPRECATED for Angelscript
81 +* Remove definition of debug macros
82 +* Build bundled Irrlicht with user flags
83 +
84 +--- a/CMakeLists.txt
85 ++++ b/CMakeLists.txt
86 +@@ -68,37 +68,10 @@
87 + include_directories(${ENET_INCLUDE_DIR})
88 +
89 + # Build glew library
90 ++find_package(GLEW REQUIRED)
91 ++include_directories(${GLEW_INCLUDE_DIRS})
92 + add_definitions(-DGLEW_NO_GLU)
93 +-add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
94 +-include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
95 +
96 +-if((WIN32 AND NOT MINGW) OR APPLE)
97 +- if (NOT APPLE)
98 +- # Build zlib library
99 +- add_subdirectory("${PROJECT_SOURCE_DIR}/lib/zlib")
100 +- include_directories("${PROJECT_SOURCE_DIR}/lib/zlib")
101 +-
102 +- set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/zlib" "${PROJECT_BINARY_DIR}/lib/zlib/")
103 +- set(ZLIB_LIBRARY zlibstatic)
104 +- endif()
105 +-
106 +- # Build png library
107 +- set (SKIP_INSTALL_ALL TRUE)
108 +- set (PNG_STATIC TRUE)
109 +- set (PNG_TESTS FALSE)
110 +- set (PNG_SHARED FALSE)
111 +- add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libpng")
112 +- include_directories("${PROJECT_SOURCE_DIR}/lib/libpng")
113 +-
114 +- #build jpeg library
115 +- add_subdirectory("${PROJECT_SOURCE_DIR}/lib/jpeglib")
116 +- include_directories("${PROJECT_SOURCE_DIR}/lib/jpeglib")
117 +-
118 +- set(PNG_PNG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/libpng/")
119 +- set(PNG_LIBRARY png15_static)
120 +- set(JPEG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/jpeglib/")
121 +- set(JPEG_LIBRARY jpeglib)
122 +-endif()
123 + # Build the irrlicht library
124 + add_subdirectory("${PROJECT_SOURCE_DIR}/lib/irrlicht")
125 + include_directories("${PROJECT_SOURCE_DIR}/lib/irrlicht/include")
126 +@@ -130,6 +103,7 @@
127 + find_package(Angelscript)
128 + if(ANGELSCRIPT_FOUND)
129 + include_directories(${Angelscript_INCLUDE_DIRS})
130 ++ add_definitions(-DAS_DEPRECATED)
131 + else()
132 + message(FATAL_ERROR "Angelscript not found. "
133 + "Either install angelscript or use built-in version using "
134 +@@ -245,14 +219,6 @@
135 + # VS will automatically add NDEBUG for release mode, but only _DEBUG in debug mode.
136 + # Since STK uses DEBUG, this is added for debug compilation only:
137 + set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG)
138 +-else()
139 +- # All non VS generators used create only a single compile mode, so
140 +- # compile flags can be simplye be added
141 +- if(CMAKE_BUILD_TYPE MATCHES Debug)
142 +- add_definitions(-DDEBUG)
143 +- else()
144 +- add_definitions(-DNDEBUG)
145 +- endif()
146 + endif()
147 +
148 + # TODO: remove this switch
149 +@@ -342,7 +308,7 @@
150 + bulletdynamics
151 + bulletcollision
152 + bulletmath
153 +- glew
154 ++ ${GLEW_LIBRARIES}
155 + stkirrlicht
156 + ${Angelscript_LIBRARIES}
157 + ${CURL_LIBRARIES}
158 +--- a/lib/irrlicht/CMakeLists.txt
159 ++++ b/lib/irrlicht/CMakeLists.txt
160 +@@ -20,15 +20,6 @@
161 + elseif(MINGW)
162 + add_definitions(-D_IRR_STATIC_LIB_)
163 + add_definitions(-D_CRT_SECURE_NO_WARNINGS) # Shut up about unsafe stuff
164 +-else()
165 +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fno-exceptions -fstrict-aliasing -I/usr/X11R6/include")
166 +- set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -pipe -O3 -fno-exceptions -fstrict-aliasing -I/usr/X11R6/include")
167 +- if(CMAKE_COMPILER_IS_GNUCC)
168 +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexpensive-optimizations")
169 +- endif()
170 +- if(CMAKE_COMPILER_IS_GNUCXX)
171 +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexpensive-optimizations")
172 +- endif()
173 + endif()
174 +
175 + # Xrandr
176
177 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-arch-support.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-arch-support.patch
178 new file mode 100644
179 index 00000000..ec56838
180 --- /dev/null
181 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-arch-support.patch
182 @@ -0,0 +1,49 @@
183 +From: Christoph Egger <debian@×××××××××××××××.org>
184 +Subject: [PATCH] debian/arch-support
185 +
186 +Building on non-linux architectures currently fails with unpatched
187 +irrlicht because irrlicht tries to create Joystick support using
188 +linux-specific headers. However there's infrastructure to disable
189 +Joystick support, we just need to activate that on non-linux
190 +architectures.
191 +
192 +Additionally if built on a sparc machine irrlicht assumes wrongly it's
193 +a solaris system. We fix this wrong assumption as our sparc builds are
194 +all on linux.
195 +
196 +Finally irrlicht exceeds the size constraights for -fpic requiering to
197 +build with -fPIC. As upstream doesn't do that we need to fix this for
198 +sparc and s390 builds (powerPC?).
199 +
200 +Signed-off-by: Christoph Egger <debian@×××××××××××××××.org>
201 +
202 +---
203 + lib/irrlicht/include/IrrCompileConfig.h | 10 +++++-----
204 + 1 files changed, 5 insertions(+), 5 deletions(-)
205 +
206 +--- a/lib/irrlicht/include/IrrCompileConfig.h
207 ++++ b/lib/irrlicht/include/IrrCompileConfig.h
208 +@@ -101,6 +101,10 @@
209 + #ifndef _IRR_SOLARIS_PLATFORM_
210 + #if !defined(__linux__) && !defined(__FreeBSD__)
211 + #define _IRR_LINUX_PLATFORM_
212 ++#include <endian.h>
213 ++ #if __BYTE_ORDER == __BIG_ENDIAN
214 ++ #define __BIG_ENDIAN__
215 ++ #endif
216 + #endif
217 + #endif
218 + #define _IRR_POSIX_API_
219 +@@ -406,11 +410,7 @@
220 + #undef _IRR_WCHAR_FILESYSTEM
221 + #endif
222 +
223 +-#if defined(__sparc__) || defined(__sun__)
224 +-#define __BIG_ENDIAN__
225 +-#endif
226 +-
227 +-#if defined(_IRR_SOLARIS_PLATFORM_)
228 ++#if defined(_IRR_SOLARIS_PLATFORM_) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__)
229 + #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
230 + #endif
231 +
232
233 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-as-needed.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-as-needed.patch
234 new file mode 100644
235 index 00000000..b6cb0fe
236 --- /dev/null
237 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-as-needed.patch
238 @@ -0,0 +1,24 @@
239 +From: Christoph Egger <Christoph.Egger@×××.de>
240 +Subject: [PATCH] debian/link-against-needed-libs
241 +
242 +There are quite some libraries irrlicht needs but does not link
243 +against. This patch makes irrlicht link correctly against all the
244 +needed libraries.
245 +
246 +Signed-off-by: Christoph Egger <Christoph.Egger@×××.de>
247 +
248 +---
249 + lib/irrlicht/source/Irrlicht/Makefile | 2 +-
250 + 1 files changed, 1 insertions(+), 1 deletions(-)
251 +
252 +--- a/lib/irrlicht/source/Irrlicht/Makefile
253 ++++ b/lib/irrlicht/source/Irrlicht/Makefile
254 +@@ -88,7 +88,7 @@
255 + LIB_PATH = ../../lib/$(SYSTEM)
256 + INSTALL_DIR = /usr/local/lib
257 + sharedlib install: SHARED_LIB = libIrrlicht.so
258 +-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
259 ++staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2
260 + staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
261 +
262 + #OSX specific options
263
264 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-bundled-libs.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-bundled-libs.patch
265 new file mode 100644
266 index 00000000..1a1013e
267 --- /dev/null
268 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-bundled-libs.patch
269 @@ -0,0 +1,35 @@
270 +Description: Remove embedded libraries in Irrlicht source (flagged by lintian)
271 + Since removing the subdirectories containing libjpeg/libpng/zlib/bzip2/lzma
272 + would make this patch way too large, this patch should be applied on top of
273 + rm -rf lib/jpeglib/
274 + rm -rf lib/zlib/
275 + rm -rf lib/libpng/
276 + in debian/rules (e.g. in the clean target).
277 +Forwarded: no
278 +Author: Vincent Cheng <vcheng@××××××.org>
279 +Last-Update: 2016-07-07
280 +
281 +--- a/lib/irrlicht/CMakeLists.txt
282 ++++ b/lib/irrlicht/CMakeLists.txt
283 +@@ -2,11 +2,7 @@
284 + find_package(PNG REQUIRED)
285 + find_package(JPEG REQUIRED)
286 +
287 +-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/"
288 +- "${JPEG_INCLUDE_DIR}"
289 +- "${PNG_INCLUDE_DIRS}"
290 +- "${ZLIB_INCLUDE_DIR}"
291 +- "${CMAKE_CURRENT_BINARY_DIR}/../zlib/") # For zconf.h on WIN32
292 ++include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/)
293 +
294 + find_package(OpenGL REQUIRED)
295 + include_directories(${OPENGL_INCLUDE_DIR})
296 +@@ -508,7 +504,7 @@
297 + endif()
298 +
299 + add_library(stkirrlicht STATIC ${IRRLICHT_SOURCES})
300 +-target_link_libraries(stkirrlicht ${PNG_LIBRARY} ${JPEG_LIBRARY} ${ZLIB_LIBRARY})
301 ++target_link_libraries(stkirrlicht png jpeg z)
302 +
303 + if(WIN32)
304 + target_link_libraries(stkirrlicht imm32)
305
306 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-system-libs.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-system-libs.patch
307 new file mode 100644
308 index 00000000..f82dc50
309 --- /dev/null
310 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-irrlicht-system-libs.patch
311 @@ -0,0 +1,105 @@
312 +Subject: [PATCH] debian/use-system-libs
313 +
314 +Path to build irrlicht using the system libraries for png,zlib and
315 +jpeg as well as the glext family of header files.
316 +
317 +Signed-off-by: Christoph Egger <debian@×××××××××××××××.org
318 +
319 +--- a/lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.h
320 ++++ b/lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.h
321 +@@ -23,7 +23,7 @@
322 + #include <GL/glx.h>
323 + #ifdef _IRR_OPENGL_USE_EXTPOINTER_
324 + #define GLX_GLXEXT_PROTOTYPES
325 +-#include "glxext.h"
326 ++#include <GL/glxext.h>
327 + #endif
328 + #endif
329 +
330 +--- a/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h
331 ++++ b/lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h
332 +@@ -21,7 +21,7 @@
333 + #endif
334 + #include <GL/gl.h>
335 + #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
336 +- #include "glext.h"
337 ++ #include <GL/glext.h>
338 + #endif
339 + #include "wglext.h"
340 +
341 +@@ -36,7 +36,7 @@
342 + #endif
343 + #include <OpenGL/gl.h>
344 + #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
345 +- #include "glext.h"
346 ++ #include <GL/glext.h>
347 + #endif
348 + #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)
349 + #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
350 +@@ -50,7 +50,7 @@
351 + #include <SDL/SDL_video.h>
352 + #include <SDL/SDL_opengl.h>
353 + typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
354 +- #include "glext.h"
355 ++ #include <GL/glext.h>
356 + #else
357 + #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
358 + #define GL_GLEXT_LEGACY 1
359 +--- a/lib/irrlicht/source/Irrlicht/COpenGLSLMaterialRenderer.h
360 ++++ b/lib/irrlicht/source/Irrlicht/COpenGLSLMaterialRenderer.h
361 +@@ -12,7 +12,7 @@
362 + #define WIN32_LEAN_AND_MEAN
363 + #include <windows.h>
364 + #include <GL/gl.h>
365 +- #include "glext.h"
366 ++ #include <GL/glext.h>
367 + #else
368 + #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
369 + #define GL_GLEXT_LEGACY 1
370 +@@ -25,7 +25,7 @@
371 + #include <GL/gl.h>
372 + #endif
373 + #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
374 +- #include "glext.h"
375 ++ #include <GL/glext.h>
376 + #endif
377 + #endif
378 +
379 +--- a/lib/irrlicht/source/Irrlicht/Makefile
380 ++++ b/lib/irrlicht/source/Irrlicht/Makefile
381 +@@ -43,7 +43,7 @@
382 + CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o
383 + IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)
384 + IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o
385 +-IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o lzma/LzmaDec.o
386 ++IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o
387 + IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o
388 + IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o
389 + ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o
390 +@@ -56,14 +56,14 @@
391 + EXTRAOBJ =
392 + LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \
393 + $(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \
394 +- $(IRRGUIOBJ) $(ZLIBOBJ) $(JPEGLIBOBJ) $(LIBPNGOBJ) $(LIBAESGM) \
395 +- $(BZIP2OBJ) $(EXTRAOBJ)
396 ++ $(IRRGUIOBJ) $(LIBAESGM) \
397 ++ $(EXTRAOBJ)
398 +
399 + ###############
400 + #Compiler flags
401 +-CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng
402 ++CXXINCS = -I../../include # -Izlib -Ijpeglib -Ilibpng
403 + CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1
404 +-CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
405 ++CXXFLAGS += -Wall -pipe -fno-exceptions -fstrict-aliasing
406 + ifndef NDEBUG
407 + CXXFLAGS += -g -D_DEBUG
408 + else
409 +@@ -154,6 +154,7 @@
410 + mkdir -p $(INSTALL_DIR)/../include/irrlicht
411 + cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/
412 + cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR)
413 ++ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR)
414 + cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME)
415 + cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB)
416 + # ldconfig -n $(INSTALL_DIR)
417
418 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-unbundle-enet.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-unbundle-enet.patch
419 new file mode 100644
420 index 00000000..259627a
421 --- /dev/null
422 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-unbundle-enet.patch
423 @@ -0,0 +1,58 @@
424 +Description: Build supertuxkart against system enet instead of embedded copy
425 +Forwarded: not-yet
426 +Author: Vincent Cheng <vcheng@××××××.org>
427 +Last-Update: 2016-07-17
428 +
429 +--- a/CMakeLists.txt
430 ++++ b/CMakeLists.txt
431 +@@ -63,9 +63,9 @@
432 + add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
433 + include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
434 +
435 +-# Build the ENet UDP network library
436 +-add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
437 +-include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
438 ++# ENet
439 ++find_package(ENet REQUIRED)
440 ++include_directories(${ENET_INCLUDE_DIR})
441 +
442 + # Build glew library
443 + add_definitions(-DGLEW_NO_GLU)
444 +@@ -342,11 +342,11 @@
445 + bulletdynamics
446 + bulletcollision
447 + bulletmath
448 +- enet
449 + glew
450 + stkirrlicht
451 + ${Angelscript_LIBRARIES}
452 + ${CURL_LIBRARIES}
453 ++ ${ENET_LIBRARIES}
454 + ${OGGVORBIS_LIBRARIES}
455 + ${OPENAL_LIBRARY}
456 + ${OPENGL_LIBRARIES}
457 +--- /dev/null
458 ++++ b/cmake/FindENet.cmake
459 +@@ -0,0 +1,22 @@
460 ++# - Find ENet
461 ++# Find the ENet includes and libraries
462 ++#
463 ++# Following variables are provided:
464 ++# ENET_FOUND
465 ++# True if ENet has been found
466 ++# ENET_INCLUDE_DIR
467 ++# The include directories of ENet
468 ++# ENET_LIBRARIES
469 ++# ENet library list
470 ++
471 ++
472 ++find_path(ENET_INCLUDE_DIR enet/enet.h /usr/include)
473 ++find_library(ENET_LIBRARY NAMES enet PATHS /usr/lib)
474 ++
475 ++include(FindPackageHandleStandardArgs)
476 ++find_package_handle_standard_args(ENet DEFAULT_MSG ENET_INCLUDE_DIR ENET_LIBRARY)
477 ++
478 ++# Publish variables
479 ++set(ENET_INCLUDE_DIRS ${ENET_INCLUDE_DIR})
480 ++set(ENET_LIBRARIES ${ENET_LIBRARY})
481 ++mark_as_advanced(ENET_INCLUDE_DIR ENET_LIBRARY)
482
483 diff --git a/games-action/supertuxkart/files/supertuxkart-0.9.2-unbundle-libs.patch b/games-action/supertuxkart/files/supertuxkart-0.9.2-unbundle-libs.patch
484 new file mode 100644
485 index 00000000..1ea29e1
486 --- /dev/null
487 +++ b/games-action/supertuxkart/files/supertuxkart-0.9.2-unbundle-libs.patch
488 @@ -0,0 +1,19 @@
489 +Description: Link against system copies of zlib/libpng/libjpeg/bzip2
490 +Forwarded: not-yet
491 +Author: Vincent Cheng <vcheng@××××××.org>
492 +Last-Update: 2016-07-17
493 +
494 +--- a/CMakeLists.txt
495 ++++ b/CMakeLists.txt
496 +@@ -351,6 +351,11 @@
497 + ${OPENAL_LIBRARY}
498 + ${OPENGL_LIBRARIES}
499 + ${FREETYPE_LIBRARIES}
500 ++ X11
501 ++ z
502 ++ png
503 ++ jpeg
504 ++ bz2
505 + )
506 +
507 + if(UNIX AND NOT APPLE)
508
509 diff --git a/games-action/supertuxkart/supertuxkart-0.9.2.ebuild b/games-action/supertuxkart/supertuxkart-0.9.2.ebuild
510 new file mode 100644
511 index 00000000..12910df
512 --- /dev/null
513 +++ b/games-action/supertuxkart/supertuxkart-0.9.2.ebuild
514 @@ -0,0 +1,91 @@
515 +# Copyright 1999-2016 Gentoo Foundation
516 +# Distributed under the terms of the GNU General Public License v2
517 +# $Id$
518 +
519 +EAPI=6
520 +
521 +inherit cmake-utils eutils gnome2-utils
522 +
523 +DESCRIPTION="A kart racing game starring Tux, the linux penguin (TuxKart fork)"
524 +HOMEPAGE="http://supertuxkart.sourceforge.net/"
525 +SRC_URI="mirror://sourceforge/${PN}/SuperTuxKart/${PV}/${P}-src.tar.xz
526 + mirror://gentoo/${PN}.png"
527 +
528 +LICENSE="GPL-2 GPL-3 CC-BY-SA-3.0 CC-BY-2.0 public-domain ZLIB"
529 +SLOT="0"
530 +KEYWORDS="~amd64 ~ppc ~x86"
531 +IUSE="debug fribidi wiimote"
532 +
533 +# don't unbundle irrlicht and bullet
534 +# both are modified and system versions will break the game
535 +# https://sourceforge.net/tracker/?func=detail&aid=3454889&group_id=74339&atid=540679
536 +
537 +RDEPEND="
538 + media-libs/glew:0=
539 + media-libs/libpng:0=
540 + media-libs/libvorbis
541 + media-libs/openal
542 + net-libs/enet:1.3=
543 + net-misc/curl
544 + sys-libs/zlib
545 + virtual/glu
546 + virtual/jpeg:0
547 + virtual/libintl
548 + virtual/opengl
549 + x11-libs/libX11
550 + x11-libs/libXxf86vm
551 + fribidi? ( dev-libs/fribidi )
552 + wiimote? ( net-wireless/bluez )"
553 +DEPEND="${RDEPEND}
554 + sys-devel/gettext
555 + virtual/pkgconfig"
556 +
557 +PATCHES=(
558 + "${FILESDIR}"/${PN}-0.9.2-unbundle-enet.patch
559 + "${FILESDIR}"/${PN}-0.9.2-unbundle-libs.patch
560 + "${FILESDIR}"/${PN}-0.9.2-fix-angelscript.patch
561 + "${FILESDIR}"/${PN}-0.9.2-irrlicht-arch-support.patch
562 + "${FILESDIR}"/${PN}-0.9.2-irrlicht-as-needed.patch
563 + "${FILESDIR}"/${PN}-0.9.2-irrlicht-bundled-libs.patch
564 + "${FILESDIR}"/${PN}-0.9.2-irrlicht-system-libs.patch
565 + "${FILESDIR}"/${PN}-0.9.2-fix-buildsystem.patch
566 +)
567 +
568 +src_prepare() {
569 + cmake-utils_src_prepare
570 +
571 + # remove bundled libraries, just to be sure
572 + rm -r lib/{enet,glew,jpeglib,libpng,zlib} || die
573 +}
574 +
575 +src_configure() {
576 + local mycmakeargs=(
577 + # system dev-libs/angelscript leads
578 + # to failed assert segfaults
579 + -DUSE_SYSTEM_ANGELSCRIPT=OFF
580 + -DUSE_FRIBIDI=$(usex fribidi)
581 + -DUSE_WIIUSE=$(usex wiimote)
582 + -DSTK_INSTALL_BINARY_DIR=bin
583 + -DSTK_INSTALL_DATA_DIR=share/${PN}
584 + )
585 + cmake-utils_src_configure
586 +}
587 +
588 +src_install() {
589 + cmake-utils_src_install
590 + dodoc CHANGELOG.md TODO.md
591 +
592 + doicon -s 64 "${DISTDIR}"/${PN}.png
593 +}
594 +
595 +pkg_preinst() {
596 + gnome2_icon_savelist
597 +}
598 +
599 +pkg_postinst() {
600 + gnome2_icon_cache_update
601 +}
602 +
603 +pkg_postrm() {
604 + gnome2_icon_cache_update
605 +}