supertuxkart: new package
PATCH 1/1 supertuxkart: new package
--- 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
package/Config.in +1 -0
@@ -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)"
package/supertuxkart/Config.in new file +29 -0
@@ -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 + 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 + 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) + +comment "supertuxkart needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGL
package/supertuxkart/supertuxkart.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 c50f00a71df165fb613d20e86bea2d9d5e51ed3e27e1d436fbac3b07cf2ea149 supertuxkart-0.9.1-src.tar.xz
package/supertuxkart/supertuxkart.mk new file +24 -0
@@ -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 + +# 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 +SUPERTUXKART_CONF_OPTS += -DUSE_WIIUSE=OFF + +$(eval $(cmake-package))
Signature · 1 line
2.7.0
PATCH 1/1 supertuxkart: new package
Quoted 29 lines · Ezequiel Garcia
Signed-off-by Ezequiel Garcia <[email protected]>--- 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.mkpackage/Config.in +1
-0@@ -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)"package/supertuxkart/Config.in new file +0
-0
package/supertuxkart/Config.in line 6
Quoted 6 lines
package/supertuxkart/Config.in new file +6
-0@@ -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...
package/supertuxkart/Config.in line 14
Quoted 8 lines
package/supertuxkart/Config.in new file +8
-0+ 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
package/supertuxkart/Config.in line 26
Quoted 12 lines
package/supertuxkart/Config.in new file +12
-0+ 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.
Quoted 21 lines
package/supertuxkart/Config.in new file +3
-0+ +comment "supertuxkart needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGLpackage/supertuxkart/supertuxkart.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 c50f00a71df165fb613d20e86bea2d9d5e51ed3e27e1d436fbac3b07cf2ea149 supertuxkart-0.9.1-src.tar.xzpackage/supertuxkart/supertuxkart.mk new file +4
-0@@ -0,0 +1,24 @@ +################################################################################ +# +# supertuxkart +#
package/supertuxkart/supertuxkart.mk line 14
Quoted 10 lines
package/supertuxkart/supertuxkart.mk new file +10
-0+################################################################################ + +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 don't see why libglu is needed.
I also see a dependency on freetype.
package/supertuxkart/supertuxkart.mk line 21
Quoted 7 lines
package/supertuxkart/supertuxkart.mk new file +7
-0+ +# 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.
package/supertuxkart/supertuxkart.mk line 24
Quoted 4 lines
package/supertuxkart/supertuxkart.mk new file +3
-0+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.
It would also be nice if CMakeLists could be updated to use the system glew
instead of the bundled one.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 supertuxkart: new package
Arnout,
Thanks a lot for your feedback, and sorry for the delay. I did this during vacations... and then vacations was over :/
Quoted 43 lines · Arnout Vandecappelle
Quoted 32 lines · Ezequiel Garcia
Signed-off-by Ezequiel Garcia <[email protected]>--- 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.mkpackage/Config.in +1
-0@@ -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)"package/supertuxkart/Config.in new file +0
-0package/supertuxkart/Config.in line 6
Quoted 6 lines
package/supertuxkart/Config.in new file +6
-0@@ -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_UTILSNeeds:
Quoted 1 line
depends on
BR2_USE_WCHAR# libglib2
Don't see the libglib2 dependency. Where is it?
Is it because of fribidi? In that case, should we really depend on it?
Quoted 1 line
depends on
BR2_TOOLCHAIN_HAS_THREADS# dbus, libglib2
Ditto: dbus?
Quoted 3 lines
depends on !BR2_STATIC_LIBS # uses dlfcn
depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version depends onBR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
Why 3.4 ?
Quoted 1 line
# wordexp support not in our uClibc configuration
wordexp?
Quoted 67 lines
depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends onBR2_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...package/supertuxkart/Config.in line 14
Quoted 8 lines
package/supertuxkart/Config.in new file +8
-0+ 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_OPENALNeeds:
depends on
BR2_INSTALL_LIBSTDCPPdepends onBR2_TOOLCHAIN_HAS_THREADS_NPTLdepends onBR2_PACKAGE_OPENAL_ARCH_SUPPORTSpackage/supertuxkart/Config.in line 26
Quoted 12 lines
package/supertuxkart/Config.in new file +12
-0+ 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.
Quoted 26 lines
package/supertuxkart/Config.in new file +3
-0+ +comment "supertuxkart needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGLpackage/supertuxkart/supertuxkart.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 c50f00a71df165fb613d20e86bea2d9d5e51ed3e27e1d436fbac3b07cf2ea149supertuxkart-0.9.1-src.tar.xz
package/supertuxkart/supertuxkart.mk new file +4
-0@@ -0,0 +1,24 @@ +################################################################################ +# +# supertuxkart +#
Quoted 17 lines
Quoted 10 lines
package/supertuxkart/supertuxkart.mk new file +5
-0+################################################################################ + +SUPERTUXKART_VERSION = 0.9.1 +SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz +SUPERTUXKART_SITE =http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION)
package/supertuxkart/supertuxkart.mk new file +4
-0+SUPERTUXKART_LICENSE = GPLv3 +SUPERTUXKART_LICENSE_FILES = COPYING + +SUPERTUXKART_DEPENDENCIES += bluez5_utils jpeg libcurl libfribidi libglQuoted 2 lines
libglu libpng \
+ libogg libvorbis openalxlib_libXrandrzlibFrom the CMakeLists, it looks like fribidi and Xrandr are optional
(controlled byUSE_FRIBIDIandUSE_XRANDR).
OK.
Quoted 2 lines
I don't see why libglu is needed.
I don't know much about glu, I just saw this stuff:
$ grep -r glu . ./lib/glew/include/GL/glew.h:/* <glu.h> */ ./lib/glew/include/GL/glew.h:# include <OpenGL/glu.h> ./lib/glew/include/GL/glew.h:# include <GL/glu.h> ./lib/glew/CMakeFiles/glew.dir/C.includecache:OpenGL/glu.h ./lib/glew/CMakeFiles/glew.dir/C.includecache:GL/glu.h [..] ./INSTALL.md:libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev libfribidi-dev libbluetooth-dev libxrandr-dev
Quoted 2 lines
I also see a dependency on freetype.
Where?
Quoted 12 lines
package/supertuxkart/supertuxkart.mk line 21
Quoted 8 lines
package/supertuxkart/supertuxkart.mk new file +7
-0+ +# 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 supportWhy?
No reason.
Quoted 5 lines
Actually, it looks like bluez is only needed for wiimote support, so you
could probably enable this conditionally depending onBR2_PACKAGE_BLUEZ5_UTILSand avoid the complicated dependencies in Config.in.
OK.
Quoted 9 lines
package/supertuxkart/supertuxkart.mk line 24
Quoted 5 lines
package/supertuxkart/supertuxkart.mk new file +3
-0+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, I see.
Quoted 3 lines
It would also be nice if CMakeLists could be updated to use the system glew
instead of the bundled one.
Why? If the package bundles a glew, why not using it?
Signature · 2 lines
Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar
PATCH 1/1 supertuxkart: new package
Quoted 7 lines · Ezequiel Garcia
Arnout,
Thanks a lot for your feedback, and sorry for the delay. I did this during vacations... and then vacations was over :/
Quoted 1 line · Arnout Vandecappelle
On 04/12/16 07:33, Ezequiel Garcia wrote:
[snip]
Quoted 8 lines
Quoted 6 lines
Quoted 1 line
+ select
BR2_PACKAGE_BLUEZ5_UTILSNeeds:
depends on
BR2_USE_WCHAR# libglib2Don't see the libglib2 dependency. Where is it?
bluez5_utils selects libglib2 and dbus. I should have written:
depends on BR2_USE_WCHAR # bluez5_utils <- libglib2
but I just copied the lines from bluez5_utils...
Quoted 5 lines
Is it because of fribidi? In that case, should we really depend on it?
Quoted 1 line
depends on
BR2_TOOLCHAIN_HAS_THREADS# dbus, libglib2
Quoted 7 lines
Ditto: dbus?
Quoted 3 lines
depends on !BR2_STATIC_LIBS # uses dlfcn
depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version depends onBR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4Why 3.4 ?
All inherited from bluez5_utils.
Quoted 28 lines
Quoted 2 lines
# wordexp support not in our uClibc configurationwordexp?
Quoted 23 lines
depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends onBR2_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...package/supertuxkart/Config.in line 14
Quoted 8 lines
package/supertuxkart/Config.in new file +8
-0+ 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_OPENALNeeds:
depends on
BR2_INSTALL_LIBSTDCPPdepends onBR2_TOOLCHAIN_HAS_THREADS_NPTLdepends onBR2_PACKAGE_OPENAL_ARCH_SUPPORTS
Same story here: these lines should have a '# openal' after them.
Quoted 17 lines
Quoted 17 lines
package/supertuxkart/Config.in line 26
Quoted 13 lines
package/supertuxkart/Config.in new file +12
-0+ 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.
[snip]
Quoted 32 lines
Quoted 9 lines
Quoted 9 lines
package/supertuxkart/supertuxkart.mk new file +4
-0@@ -0,0 +1,24 @@ +################################################################################ +# +# supertuxkart +#Quoted 17 lines
Quoted 10 lines
package/supertuxkart/supertuxkart.mk new file +5
-0+################################################################################ + +SUPERTUXKART_VERSION = 0.9.1 +SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz +SUPERTUXKART_SITE =http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION)
package/supertuxkart/supertuxkart.mk new file +4
-0+SUPERTUXKART_LICENSE = GPLv3 +SUPERTUXKART_LICENSE_FILES = COPYING + +SUPERTUXKART_DEPENDENCIES += bluez5_utils jpeg libcurl libfribidi libglQuoted 2 lines
libglu libpng \
+ libogg libvorbis openalxlib_libXrandrzlibFrom the CMakeLists, it looks like fribidi and Xrandr are optional
(controlled byUSE_FRIBIDIandUSE_XRANDR).OK.
Quoted 2 lines
I don't see why libglu is needed.
Quoted 8 lines
I don't know much about glu, I just saw this stuff:
$ grep -r glu . ./lib/glew/include/GL/glew.h:/* <glu.h> */ ./lib/glew/include/GL/glew.h:# include <OpenGL/glu.h> ./lib/glew/include/GL/glew.h:# include <GL/glu.h> ./lib/glew/CMakeFiles/glew.dir/C.includecache:OpenGL/glu.h ./lib/glew/CMakeFiles/glew.dir/C.includecache:GL/glu.h
OK.
Quoted 8 lines
[..]
./INSTALL.md:libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev libfribidi-dev libbluetooth-dev libxrandr-devQuoted 2 lines
I also see a dependency on freetype.
Where?
I should have written: an _optional_ dependency on freetype. CMakeLists.txt
contains find_package(Freetype)
Quoted 34 lines
Quoted 13 lines
package/supertuxkart/supertuxkart.mk line 21
Quoted 9 lines
package/supertuxkart/supertuxkart.mk new file +7
-0+ +# 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 supportWhy?
No reason.
Quoted 5 lines
Actually, it looks like bluez is only needed for wiimote support, so you
could probably enable this conditionally depending onBR2_PACKAGE_BLUEZ5_UTILSand avoid the complicated dependencies in Config.in.OK.
Quoted 9 lines
package/supertuxkart/supertuxkart.mk line 24
Quoted 5 lines
package/supertuxkart/supertuxkart.mk new file +3
-0+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.
Quoted 7 lines
Hm, I see.
Quoted 3 lines
It would also be nice if CMakeLists could be updated to use the system glew
instead of the bundled one.Why? If the package bundles a glew, why not using it?
We avoid bundled libraries for several reasons:
- size: if libglew is selected for another reason, we will have it twice;
- security: if a (security) bug is fixed in libglew and supertuxkart doesn't update their libglew, it remains unfixed.
- build consistency: if we need to patch libglew to make it build e.g. for some arch or libc, we have to produce the same patch again for supertuxkart.
See e.g. [1] for extensive explanation why bundling is bad.
However, it's possible that supertuxkart has made project-specific
modifications to libglew, in this case unbundling is difficult. I see that at least it is an older version than what we have.
Regards,
Arnout
[1] https://fedoraproject.org/wiki/Bundled_Libraries?rd=Packaging:Bundled_Libraries
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 supertuxkart: new package
On 9 May 2016 at 20:16, Arnout Vandecappelle <[email protected]> wrote:
[..]
Quoted 3 lines
Quoted 1 line
Why? If the package bundles a glew, why not using it?
As a matter of fact, they bunde jpeglib, libpng, zlib and a few more as well.
Quoted 2 lines
We avoid bundled libraries for several reasons:
Sure, I understand why bundling is a shitty idea. My point is:
it was not OUR idea, but something that comes from upstream.
I haven't checked, but given they bundle their own Irrlicht engine (and even they modified it enough to call it Antarctica now), it seems they know what they are doing.
Or another possible explanation is that they are lazy, and wanted to bundle to make installation easier (in some non-Linux OS?).
Whatever the reasons, I don't want to spend time modifying a package in a way that won't be accepted upstream.
[..]
Quoted 5 lines
However, it's possible that supertuxkart has made project-specific
modifications to libglew, in this case unbundling is difficult. I see that at least it is an older version than what we have.
Exactly my point. And even if they haven't made modifications to some of the bundled packages, I really don't want to spend time doing a change that is not in the upstream roadmap.
Signature · 2 lines
Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar
PATCH 1/1 supertuxkart: new package
Quoted 7 lines · Ezequiel Garcia
On 9 May 2016 at 20:16, Arnout Vandecappelle <[email protected]> wrote:
[..]Quoted 3 lines
Quoted 1 line
Why? If the package bundles a glew, why not using it?
As a matter of fact, they bunde jpeglib, libpng, zlib and a few more as well.
jpeglib, libpng and zlib are AFAICS only used on Windows and Mac. For us, it's
using the installed ones. You even added those dependencies :-)
Quoted 19 lines
Quoted 3 lines
We avoid bundled libraries for several reasons:
Sure, I understand why bundling is a shitty idea. My point is:
it was not OUR idea, but something that comes from upstream.I haven't checked, but given they bundle their own Irrlicht engine (and even they modified it enough to call it Antarctica now), it seems they know what they are doing.
Or another possible explanation is that they are lazy, and wanted to bundle to make installation easier (in some non-Linux OS?).
Whatever the reasons, I don't want to spend time modifying a package in a way that won't be accepted upstream.
[..]
Quoted 1 line
Quoted 8 lines
Quoted 4 lines
However, it's possible that supertuxkart has made project-specific
modifications to libglew, in this case unbundling is difficult. I see that at least it is an older version than what we have.Exactly my point. And even if they haven't made modifications to some of the bundled packages, I really don't want to spend time doing a change that is not in the upstream roadmap.
Fair enough, the bundling is probably not bad enough to block this package.
Perhaps then add a comment in the .mk file, near the dependencies list, that
it has bundled modified versions of libglew and irrlicht. Actually we don't have irrlicht (yet) so for that it doesn't matter much :-)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 supertuxkart: new package
In reply to Arnout VandecappelleArnout,
Quoted 116 lines · Arnout Vandecappelle
Quoted 32 lines · Ezequiel Garcia
Signed-off-by Ezequiel Garcia <[email protected]>--- 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.mkpackage/Config.in +1
-0@@ -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)"package/supertuxkart/Config.in new file +0
-0package/supertuxkart/Config.in line 6
Quoted 6 lines
package/supertuxkart/Config.in new file +6
-0@@ -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_UTILSNeeds:
depends on
BR2_USE_WCHAR# libglib2
depends onBR2_TOOLCHAIN_HAS_THREADS# dbus, libglib2 depends on !BR2_STATIC_LIBS # uses dlfcn
depends on !BR2_PACKAGE_BLUEZ_UTILS # conflicts with 4.x version depends onBR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
# wordexp support not in our uClibc configuration depends on !BR2_TOOLCHAIN_USES_UCLIBC
depends onBR2_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...package/supertuxkart/Config.in line 14
Quoted 8 lines
package/supertuxkart/Config.in new file +8
-0+ 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_OPENALNeeds:
depends on
BR2_INSTALL_LIBSTDCPPdepends onBR2_TOOLCHAIN_HAS_THREADS_NPTLdepends onBR2_PACKAGE_OPENAL_ARCH_SUPPORTSpackage/supertuxkart/Config.in line 26
Quoted 12 lines
package/supertuxkart/Config.in new file +12
-0+ 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.
Quoted 26 lines
package/supertuxkart/Config.in new file +3
-0+ +comment "supertuxkart needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGLpackage/supertuxkart/supertuxkart.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 c50f00a71df165fb613d20e86bea2d9d5e51ed3e27e1d436fbac3b07cf2ea149supertuxkart-0.9.1-src.tar.xz
package/supertuxkart/supertuxkart.mk new file +4
-0@@ -0,0 +1,24 @@ +################################################################################ +# +# supertuxkart +#
Quoted 17 lines
Quoted 10 lines
package/supertuxkart/supertuxkart.mk new file +5
-0+################################################################################ + +SUPERTUXKART_VERSION = 0.9.1 +SUPERTUXKART_SOURCE = supertuxkart-$(SUPERTUXKART_VERSION)-src.tar.xz +SUPERTUXKART_SITE =http://downloads.sourceforge.net/project/supertuxkart/SuperTuxKart/$(SUPERTUXKART_VERSION)
package/supertuxkart/supertuxkart.mk new file +4
-0+SUPERTUXKART_LICENSE = GPLv3 +SUPERTUXKART_LICENSE_FILES = COPYING + +SUPERTUXKART_DEPENDENCIES += bluez5_utils jpeg libcurl libfribidi libglQuoted 2 lines
libglu libpng \
+ libogg libvorbis openalxlib_libXrandrzlibFrom the CMakeLists, it looks like fribidi and Xrandr are optional
(controlled byUSE_FRIBIDIandUSE_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.
Quoted 3 lines
I also see a dependency on freetype.
Added as optional dependency.
Quoted 12 lines
package/supertuxkart/supertuxkart.mk line 21
Quoted 8 lines
package/supertuxkart/supertuxkart.mk new file +7
-0+ +# 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 supportWhy?
Quoted 5 lines
Actually, it looks like bluez is only needed for wiimote support, so you
could probably enable this conditionally depending onBR2_PACKAGE_BLUEZ5_UTILSand avoid the complicated dependencies in Config.in.
Right, so I made bluez5_utils optional and simplified the above dependencies.
Quoted 9 lines
package/supertuxkart/supertuxkart.mk line 24
Quoted 5 lines
package/supertuxkart/supertuxkart.mk new file +3
-0+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.
Signature · 2 lines
Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar