diff options
-rw-r--r-- | games/pioneer/README | 3 | ||||
-rw-r--r-- | games/pioneer/alignment.patch | 22 | ||||
-rw-r--r-- | games/pioneer/pioneer.SlackBuild | 13 | ||||
-rw-r--r-- | games/pioneer/pioneer.info | 6 |
4 files changed, 34 insertions, 10 deletions
diff --git a/games/pioneer/README b/games/pioneer/README index 503019598a..8fdc2c947c 100644 --- a/games/pioneer/README +++ b/games/pioneer/README @@ -8,6 +8,9 @@ try your hand at piracy, make your fortune trading between systems, or do missions for the various factions fighting for power, freedom or self-determination. +WARNING: If pioneer is already installed, uninstall it before compiling +or important game data may be missing and pioneer will fail to start. + OpenGL core profile version 3.1 or newer is a runtime dependency, to determine what version of OpenGL is installed use: diff --git a/games/pioneer/alignment.patch b/games/pioneer/alignment.patch new file mode 100644 index 0000000000..10ad31ed08 --- /dev/null +++ b/games/pioneer/alignment.patch @@ -0,0 +1,22 @@ +--- a/src/scenegraph/Serializer.orig.h 2019-10-09 13:49:04.000000000 +0200 ++++ b/src/scenegraph/Serializer.h 2019-10-09 18:47:05.238671730 +0200 +@@ -23,14 +23,14 @@ + // where possible, prefer serializing state information via JSON instead. + namespace Serializer { + static_assert((sizeof(Uint32) == 4 && alignof(Uint32) == 4), "Int32 is sized differently on this platform and will not serialize properly."); +- static_assert((sizeof(Uint64) == 8 && alignof(Uint64) == 8), "Int64 is sized differently on this platform and will not serialize properly."); ++ static_assert((sizeof(Uint64) == 8 && alignof(Uint64) <= 8), "Int64 is sized differently on this platform and will not serialize properly."); + static_assert((sizeof(Color) == 4 && alignof(Color) == 1), "Color is padded differently on this platform and will not serialize properly."); + static_assert((sizeof(vector2f) == 8 && alignof(vector2f) == 4), "Vector2f is padded differently on this platform and will not serialize properly."); +- static_assert((sizeof(vector2d) == 16 && alignof(vector2d) == 8), "Vector2d is padded differently on this platform and will not serialize properly."); ++ static_assert((sizeof(vector2d) == 16 && alignof(vector2d) <= 8), "Vector2d is padded differently on this platform and will not serialize properly."); + static_assert((sizeof(vector3f) == 12 && alignof(vector3f) == 4), "Vector3f is padded differently on this platform and will not serialize properly."); +- static_assert((sizeof(vector3d) == 24 && alignof(vector3d) == 8), "Vector3d is padded differently on this platform and will not serialize properly."); ++ static_assert((sizeof(vector3d) == 24 && alignof(vector3d) <= 8), "Vector3d is padded differently on this platform and will not serialize properly."); + static_assert((sizeof(Quaternionf) == 16 && alignof(Quaternionf) == 4), "Quaternionf is padded differently on this platform and will not serialize properly."); +- static_assert((sizeof(Aabb) == 56 && alignof(Aabb) == 8), "Aabb is padded differently on this platform and will not serialize properly."); ++ static_assert((sizeof(Aabb) == 56 && alignof(Aabb) <= 8), "Aabb is padded differently on this platform and will not serialize properly."); + + class Writer { + public: + diff --git a/games/pioneer/pioneer.SlackBuild b/games/pioneer/pioneer.SlackBuild index ab07afcbcf..989befe21a 100644 --- a/games/pioneer/pioneer.SlackBuild +++ b/games/pioneer/pioneer.SlackBuild @@ -24,7 +24,7 @@ PRGNAM=pioneer SRCNAM=$(printf %s $PRGNAM | tr [a-z] [A-Z]) -VERSION=${VERSION:-20190203} +VERSION=${VERSION:-20191009} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -83,8 +83,10 @@ LUA=OFF pkg-config --exists glew && GLEW=ON pkg-config --exists lua5.2 && LUA=ON -# pioneer installs the game data directly to the system if -# using any other directory than /usr/share/pioneer. +# Workaround 32-bit build failure +# https://github.com/pioneerspacesim/pioneer/issues/4691 +patch -p1 < $CWD/alignment.patch + mkdir -p build cd build cmake \ @@ -92,7 +94,7 @@ cd build -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_BINDIR=games \ - -DPIONEER_DATA_DIR=/usr/share/$PRGNAM \ + -DPIONEER_DATA_DIR=/usr/share/games/$PRGNAM \ -DUSE_SYSTEM_LIBGLEW=$GLEW \ -DUSE_SYSTEM_LIBLUA=$LUA \ -DCMAKE_BUILD_TYPE=$RELEASE .. @@ -100,9 +102,6 @@ cd build make install DESTDIR=$PKG cd .. -# Remove empty .gitignore files -find $PKG -name '.gitignore' -exec rm -f {} \; - if [ "$DEBUG" = 0 ]; then find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true diff --git a/games/pioneer/pioneer.info b/games/pioneer/pioneer.info index 8268860a84..c881800c5a 100644 --- a/games/pioneer/pioneer.info +++ b/games/pioneer/pioneer.info @@ -1,8 +1,8 @@ PRGNAM="pioneer" -VERSION="20190203" +VERSION="20191009" HOMEPAGE="https://pioneerspacesim.net/" -DOWNLOAD="https://github.com/pioneerspacesim/pioneer/archive/20190203/pioneer-20190203.tar.gz" -MD5SUM="3c90e65a937d8741d85ef6b23d8c2c3e" +DOWNLOAD="https://github.com/pioneerspacesim/pioneer/archive/20191009/pioneer-20191009.tar.gz" +MD5SUM="e42818a2ce2a90c2c98896eb24eb0062" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="SDL2_image assimp" |