[Buildroot] [PATCH] supertuxkart: new package
Ezequiel Garcia
ezequiel at vanguardiasur.com.ar
Fri May 13 15:59:33 UTC 2016
Arnout,
On 12 April 2016 at 20:12, Arnout Vandecappelle <arnout at mind.be> wrote:
> On 04/12/16 07:33, Ezequiel Garcia wrote:
>>
>> Signed-off-by: Ezequiel Garcia <ezequiel at vanguardiasur.com.ar>
>> ---
>> package/Config.in | 1 +
>> package/supertuxkart/Config.in | 29
>> +++++++++++++++++++++++++++++
>> package/supertuxkart/supertuxkart.hash | 2 ++
>> package/supertuxkart/supertuxkart.mk | 24 ++++++++++++++++++++++++
>> 4 files changed, 56 insertions(+)
>> create mode 100644 package/supertuxkart/Config.in
>> create mode 100644 package/supertuxkart/supertuxkart.hash
>> create mode 100644 package/supertuxkart/supertuxkart.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 64822bf5f6fa..8438bca33195 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -232,6 +232,7 @@ menu "Games"
>> source "package/prboom/Config.in"
>> source "package/rubix/Config.in"
>> source "package/sl/Config.in"
>> + source "package/supertuxkart/Config.in"
>> endmenu
>>
>> menu "Graphic libraries and applications (graphic/text)"
>> diff --git a/package/supertuxkart/Config.in
>> b/package/supertuxkart/Config.in
>> new file mode 100644
>> index 000000000000..4e9f5bb09ac6
>> --- /dev/null
>> +++ b/package/supertuxkart/Config.in
>> @@ -0,0 +1,29 @@
>> +config BR2_PACKAGE_SUPERTUXKART
>> + bool "supertuxkart"
>> + depends on BR2_USE_MMU # fork()
>> + depends on BR2_PACKAGE_HAS_LIBGL
>> + depends on BR2_PACKAGE_XORG7
>> + select BR2_PACKAGE_BLUEZ5_UTILS
>
>
> Needs:
>
> depends on BR2_USE_WCHAR # libglib2
> depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
> depends on !BR2_STATIC_LIBS # uses dlfcn
> depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version
> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
> # wordexp support not in our uClibc configuration
> depends on !BR2_TOOLCHAIN_USES_UCLIBC
> depends on BR2_TOOLCHAIN_HAS_SYNC_4
>
> (though wchar and threads are already covered by Xorg)
>
> Unless of course it can also work with bluez4. In that case the
> dependencies get pretty complicated...
>
>> + select BR2_PACKAGE_JPEG
>> + select BR2_PACKAGE_LIBCURL
>> + select BR2_PACKAGE_LIBFRIBIDI
>> + select BR2_PACKAGE_LIBGLU
>> + select BR2_PACKAGE_LIBOGG
>> + select BR2_PACKAGE_LIBPNG
>> + select BR2_PACKAGE_LIBVORBIS
>> + select BR2_PACKAGE_OPENAL
>
>
> Needs:
>
> depends on BR2_INSTALL_LIBSTDCPP
> depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
>
>> + select BR2_PACKAGE_XLIB_LIBXRANDR
>> + select BR2_PACKAGE_ZLIB
>> + help
>> + Karts. Nitro. Action! SuperTuxKart is a free 3D arcade kart
>> + racer with multiple karts, tracks and modes you can play.
>> + Beat the evil Nolok by any means necessary, and make the
>> + mascot kingdom safe once again!
>> +
>> + http://supertuxkart.sourceforge.net/Main_Page
>> +
>> +comment "supertuxkart needs a toolchain w/ threads, C++"
>> + depends on !(BR2_INSTALL_LIBSTDCPP || BR2_TOOLCHAIN_HAS_THREADS)
>
>
> This needs to be updated with all the dependencies above.
>
>
>> +
>> +comment "supertuxkart needs an OpenGL backend"
>> + depends on !BR2_PACKAGE_HAS_LIBGL
>> diff --git a/package/supertuxkart/supertuxkart.hash
>> b/package/supertuxkart/supertuxkart.hash
>> new file mode 100644
>> index 000000000000..d8e7ac30f6d1
>> --- /dev/null
>> +++ b/package/supertuxkart/supertuxkart.hash
>> @@ -0,0 +1,2 @@
>> +# Locally computed
>> +sha256 c50f00a71df165fb613d20e86bea2d9d5e51ed3e27e1d436fbac3b07cf2ea149
>> supertuxkart-0.9.1-src.tar.xz
>> diff --git a/package/supertuxkart/supertuxkart.mk
>> b/package/supertuxkart/supertuxkart.mk
>> new file mode 100644
>> index 000000000000..e1c67b4e14f4
>> --- /dev/null
>> +++ b/package/supertuxkart/supertuxkart.mk
>> @@ -0,0 +1,24 @@
>>
>> +################################################################################
>> +#
>> +# supertuxkart
>> +#
>>
>> +################################################################################
>> +
>> +SUPERTUXKART_VERSION = 0.9.1
>> +SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz
>> +SUPERTUXKART_SITE =
>> http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION)
>> +SUPERTUXKART_LICENSE = GPLv3
>> +SUPERTUXKART_LICENSE_FILES = COPYING
>> +
>> +SUPERTUXKART_DEPENDENCIES += bluez5_utils jpeg libcurl libfribidi libgl
>> libglu libpng \
>> + libogg libvorbis openal xlib_libXrandr zlib
>
>
> From the CMakeLists, it looks like fribidi and Xrandr are optional
> (controlled by USE_FRIBIDI and USE_XRANDR).
>
I made fribidi optional, but kept libXrandr. The reason for keeping it, is that
it requires either libXrandr, or libXxf86vm.
if(USE_XRANDR)
find_package(Xrandr REQUIRED)
if(NOT XRANDR_FOUND)
message(FATAL_ERROR "XRANDR not found.")
endif()
else()
find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
endif()
I figured given it's messy to have a conditional select, and since the default
is libXrandr, I thought we could just stick with it.
>
> I also see a dependency on freetype.
>
Added as optional dependency.
>
>> +
>> +# Since supertuxkart is not installing libstkirrlicht.so,
>> +# and given we don't really need that library to be shared
>> +# we turn off shared libs here.
>> +SUPERTUXKART_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF
>> +
>> +# Disable Wiimote support
>
>
> Why?
>
> Actually, it looks like bluez is only needed for wiimote support, so you
> could probably enable this conditionally depending on
> BR2_PACKAGE_BLUEZ5_UTILS and avoid the complicated dependencies in
> Config.in.
>
Right, so I made bluez5_utils optional and simplified the above dependencies.
>
>> +SUPERTUXKART_CONF_OPTS += -DUSE_WIIUSE=OFF
>> +
>> +$(eval $(cmake-package))
>>
>
> It looks like irrlicht adds -I/usr/X11R6/include - this will have to be
> patched away.
>
Hm.. yes, it can go away. I have no idea if this is supposed to go upstream
or not.
--
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar
More information about the buildroot
mailing list