[v3,1/3] package/supertux: use the bundled version of physfs

Submitted by Romain Naour on July 13, 2017, 1:04 p.m.


Message ID 20170713130445.28410-1-romain.naour@gmail.com
State New
Headers show

Commit Message

Romain Naour July 13, 2017, 1:04 p.m.
In order to add supertux package, a physfs package was introduced
using the same version (2.1.x) than the one bundled in supertux
sources. However this version is not released yet and it's still under

The 2.1.x version introduce API changes that may break other packages
using the latest stable version of physfs (2.0.x).

Also, there is an issue (segfault) with physfs 2.1.x while extracting
a zip archive. This issue is fixed in 2.0.x branch but not in 2.1.x
branch since physfs 2.1.x now use minizip which doesn't provide
inflateCopy() used by the bugfix [1].

This doesn't affect supertux itself, so we can safely
use the bundled version.

[1] https://hg.icculus.org/icculus/physfs/rev/090cb9c74b87

Signed-off-by: Romain Naour <romain.naour@gmail.com>
 package/supertux/Config.in   |  1 -
 package/supertux/supertux.mk | 12 +++++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

Patch hide | download patch | download mbox

diff --git a/package/supertux/Config.in b/package/supertux/Config.in
index 684c2cc..38e4a98 100644
--- a/package/supertux/Config.in
+++ b/package/supertux/Config.in
@@ -19,7 +19,6 @@  config BR2_PACKAGE_SUPERTUX
 	select BR2_PACKAGE_SDL2
diff --git a/package/supertux/supertux.mk b/package/supertux/supertux.mk
index e397441..0caceb1 100644
--- a/package/supertux/supertux.mk
+++ b/package/supertux/supertux.mk
@@ -10,13 +10,14 @@  SUPERTUX_SOURCE = SuperTux-v$(SUPERTUX_VERSION)-Source.tar.gz
 # Supertux itself is GPL-3.0+, but it bundles a few libraries with different
 # licenses (sexp-cpp, squirrel, tinygettext) which are linked statically.
-SUPERTUX_LICENSE = GPL-3.0+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, GPL-2.0+ (images music sounds)
+SUPERTUX_LICENSE = GPL-3.0+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, GPL-2.0+ (images music sounds) \
+	Zlib (physfs)
 # Use bundled squirrel, tinygettext sexp-cpp packages which are hardcoded in
 # the CMake build system.
 SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \
-	libogg libvorbis openal physfs sdl2 sdl2_image
+	libogg libvorbis openal sdl2 sdl2_image
 # ENABLE_BOOST_STATIC_LIBS=OFF: use boost shared libraries since supertux
 # depends on !BR2_STATIC_LIBS and boost provide only shared libraries with
@@ -24,8 +25,9 @@  SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \
 # ENABLE_OPENGL=ON: Can be disabled but will make SuperTux unplayable slow.
 # GLBINDING_ENABLED=OFF: use GLEW (default) instead of glbinding.
 # Install the game directly in /usr/bin and game data in /usr/share/supertux2.
-# Force using physfs.so from staging since the check on PHYSFS_getPrefDir symbol
-# in physfs.h (CHECK_SYMBOL_EXISTS) doesn't work.
+# Force using the bundled version of physfs since it use a non released version
+# of physfs (2.1.x) which is incompatible with the latest released version (2.0.x)
+# due to API changes.
@@ -33,7 +35,7 @@  SUPERTUX_CONF_OPTS += \
 	-DINSTALL_SUBDIR_SHARE="share/supertux2" \
 # Avoid incompatible posix_memalign declaration on x86 and x86_64 with
 # musl.