summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/pioneer/README3
-rw-r--r--games/pioneer/alignment.patch22
-rw-r--r--games/pioneer/pioneer.SlackBuild13
-rw-r--r--games/pioneer/pioneer.info6
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"