summaryrefslogtreecommitdiffstats
path: root/games/solarus
diff options
context:
space:
mode:
Diffstat (limited to 'games/solarus')
-rw-r--r--games/solarus/README12
-rw-r--r--games/solarus/cmake.patch25
-rw-r--r--games/solarus/fullscreen.patch30
-rw-r--r--games/solarus/solarus.SlackBuild31
-rw-r--r--games/solarus/solarus.info8
5 files changed, 87 insertions, 19 deletions
diff --git a/games/solarus/README b/games/solarus/README
index f54102fae4..8aa8852ed8 100644
--- a/games/solarus/README
+++ b/games/solarus/README
@@ -1,13 +1,7 @@
Solarus is a free and open-source game engine, licensed under GPL v3.
It is written from scratch in C++ and uses SDL2 (it's not an emulator).
-Development began in 2006. The goal of the engine is to allow people to
-create their own Action-RPG games (also called Zelda-like games). It is
-totally independent from Nintendo.
+Development began in 2006. The goal of the engine is to allow people
+to create their own Action-RPG games (also called Zelda-like games). It
+is totally independent from Nintendo.
Solarus will require game data like zsdx.
-
-Optional Dependency
-
-qt5 is an optional dependency for the GUI frontend.
-
-qt5 is *required* if you are going to build solarus-quest-editor.
diff --git a/games/solarus/cmake.patch b/games/solarus/cmake.patch
new file mode 100644
index 0000000000..1661f39485
--- /dev/null
+++ b/games/solarus/cmake.patch
@@ -0,0 +1,25 @@
+From 17f2f33d8733aa7dcb5e52fc9043447758a74869 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Fri, 4 Sep 2020 09:21:45 -0700
+Subject: [PATCH] cmake: Fix compatibility with cmake 3.5.2.
+
+cmake 3.5.2 does not have VERSION_GREATER_EQUAL or VERSION_LESS_EQUAL.
+---
+ cmake/modules/FindGLM.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/modules/FindGLM.cmake b/cmake/modules/FindGLM.cmake
+index 32ce5058d..e3905b6c3 100644
+--- a/cmake/modules/FindGLM.cmake
++++ b/cmake/modules/FindGLM.cmake
+@@ -52,6 +52,6 @@ find_package_handle_standard_args(GLM
+ )
+
+ # Enable GLM experimental extensions for GLM 0.9.9.0 to 0.9.9.3
+-if(GLM_VERSION_STRING VERSION_GREATER_EQUAL 0.9.9.0 AND GLM_VERSION_STRING VERSION_LESS_EQUAL 0.9.9.3)
++if((GLM_VERSION_STRING VERSION_EQUAL 0.9.9.0 OR GLM_VERSION_STRING VERSION_GREATER 0.9.9.0) AND (GLM_VERSION_STRING VERSION_EQUAL 0.9.9.3 OR GLM_VERSION_STRING VERSION_LESS 0.9.9.3))
+ add_definitions(-DGLM_ENABLE_EXPERIMENTAL)
+ endif()
+--
+2.25.0
+
diff --git a/games/solarus/fullscreen.patch b/games/solarus/fullscreen.patch
new file mode 100644
index 0000000000..efc4d6a4c9
--- /dev/null
+++ b/games/solarus/fullscreen.patch
@@ -0,0 +1,30 @@
+From cf67a03567030893993dc2d75a2a515cada371a4 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Fri, 23 Oct 2020 09:50:33 -0700
+Subject: [PATCH] Workaround SDL_WINDOW_FULLSCREEN_DESKTOP issues.
+
+With some window managers the fullscreen for solarus will be
+lost when changing workspaces.
+
+Setting SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=0 in the environment
+works around this issue, but its more convenient doing it
+directly in solarus.
+---
+ src/graphics/Video.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/graphics/Video.cpp b/src/graphics/Video.cpp
+index b88cdc884..dd41bf20c 100644
+--- a/src/graphics/Video.cpp
++++ b/src/graphics/Video.cpp
+@@ -674,6 +674,7 @@ void set_default_video_mode() {
+ Debug::check_assertion(context.default_video_mode != nullptr,
+ "Default video mode was not initialized");
+
++ SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "0");
+ set_fullscreen(false);
+ set_video_mode(*context.default_video_mode);
+ }
+--
+GitLab
+
diff --git a/games/solarus/solarus.SlackBuild b/games/solarus/solarus.SlackBuild
index dac61ebeb8..8db923eba3 100644
--- a/games/solarus/solarus.SlackBuild
+++ b/games/solarus/solarus.SlackBuild
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for solarus
-# Copyright 2015-2019 Hunter Sezen California, USA
+# Copyright 2015-2020 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +22,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=solarus
-VERSION=${VERSION:-1.6.0}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-1.6.4}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -35,7 +38,14 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -75,6 +85,14 @@ else
GUI=OFF
fi
+# cmake: Fix compatiblity with cmake-3.5.2.
+# https://gitlab.com/solarus-games/solarus/-/merge_requests/1353
+patch -p1 < $CWD/cmake.patch
+
+# Workaround SDL_WINDOW_FULLSCREEN_DESKTOP issues.
+# https://gitlab.com/solarus-games/solarus/-/merge_requests/1355
+patch -p1 -i $CWD/fullscreen.patch
+
mkdir -p build
cd build
cmake \
@@ -86,6 +104,7 @@ cd build
-DSOLARUS_LIBRARY_INSTALL_DESTINATION:PATH=lib${LIBDIRSUFFIX} \
-DSOLARUS_DEFAULT_QUEST=/usr/share/games/$PRGNAM/zsdx \
-DSOLARUS_GUI=$GUI \
+ -DCMAKE_SKIP_RPATH=TRUE \
-DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
@@ -107,4 +126,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/games/solarus/solarus.info b/games/solarus/solarus.info
index 380e103910..8d443ad982 100644
--- a/games/solarus/solarus.info
+++ b/games/solarus/solarus.info
@@ -1,10 +1,10 @@
PRGNAM="solarus"
-VERSION="1.6.0"
+VERSION="1.6.4"
HOMEPAGE="https://www.solarus-games.org/"
-DOWNLOAD="https://gitlab.com/solarus-games/solarus/-/archive/v1.6.0/solarus-v1.6.0.tar.gz"
-MD5SUM="c5ecc1254d61a2af4b85c15259e95a76"
+DOWNLOAD="https://gitlab.com/solarus-games/solarus/-/archive/v1.6.4/solarus-v1.6.4.tar.gz"
+MD5SUM="d06a3258910cb113d28e1349ca437125"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="OpenAL SDL2_image SDL2_ttf libmodplug luajit physfs"
+REQUIRES="glm libmodplug luajit physfs"
MAINTAINER="Hunter Sezen"
EMAIL="orbea@riseup.net"