summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Iooss2018-06-02 18:32:57 +0200
committerNicolas Iooss2018-06-02 18:32:57 +0200
commit04cf8334533d1f8d492e7cbf6d6fbb0a3bb3ee5e (patch)
tree972e51f2964fca1aaafac94ca63dbc723a976adb
parentc31dcb1865656b03a0e6bf83e0950b7c34352aa7 (diff)
downloadaur-04cf8334533d1f8d492e7cbf6d6fbb0a3bb3ee5e.tar.gz
funguloids 1.06.4-11 update: OGRE 1.11.0 and OIS 1.4 compatibility
-rw-r--r--.SRCINFO10
-rw-r--r--PKGBUILD44
-rw-r--r--funguloids-ogre-1.11.0.patch93
-rw-r--r--funguloids-ois-1.4.patch33
4 files changed, 173 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3a65dd7464bd..d9353bc56b86 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,15 +1,15 @@
pkgbase = funguloids
pkgdesc = 3D game about collecting mushrooms in outerspace
pkgver = 1.06.4
- pkgrel = 10
+ pkgrel = 11
url = http://funguloids.sourceforge.net/
arch = i686
arch = x86_64
license = GPL
makedepends = python
depends = boost
- depends = ogre
- depends = ois
+ depends = ogre>=1.10
+ depends = ois>=0.7
depends = freealut
depends = lua51
depends = libogg
@@ -31,6 +31,8 @@ pkgbase = funguloids
source = funguloids-ogre-1.9.0.patch
source = funguloids-ogre-1.10.4.patch
source = funguloids-ogre-1.10.8.patch
+ source = funguloids-ois-1.4.patch
+ source = funguloids-ogre-1.11.0.patch
sha256sums = e9c9074a5d2de11690484a7e8eef7de9dd7d360ea72185ea35c54976646ef5cf
sha256sums = ceaf1c19d5ed694ff3832320ef6b6b268f73cbf16bc5998c15de47c77298885a
sha256sums = 753a8ac858ff21e81f2a3466092e297703d081689ceaa1159fe6cb42d97d06a6
@@ -47,6 +49,8 @@ pkgbase = funguloids
sha256sums = a007990ef35c249fe4440938553737d14f2dd8377407ee97fecdc6f17b1136ec
sha256sums = d00b04968aaaee97babd99ecca46cc22d567694fdcc341a5ff4124af9b08be95
sha256sums = 6d356bf604073f9314ec581439ad4e6d3d4ea00592e6340f6316c61af48bd863
+ sha256sums = ec9722d796781852bbeeb39d7a8b2493067c15180a8fd807cae2097aedc17074
+ sha256sums = 2bb7a71375256d89e6851bea025ac96a917b90c4299f04af8ef1f6837ef97ead
pkgname = funguloids
diff --git a/PKGBUILD b/PKGBUILD
index 7eb74d5bca99..728ded820166 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,16 +1,18 @@
# Maintainer: Nicolas Iooss <nicolas.iooss_aur at m4x.org>
# Contributor: Dany Martineau <dany.luc.martineau at gmail.com>
+#
+# This PKGBUILD is maintained on https://github.com/fishilico/funguloids
pkgname=funguloids
pkgver=1.06.4
_realver=1.06-4
-pkgrel=10
+pkgrel=11
pkgdesc="3D game about collecting mushrooms in outerspace"
arch=('i686' 'x86_64')
url="http://funguloids.sourceforge.net/"
license=('GPL')
makedepends=('python')
-depends=('boost' 'ogre' 'ois' 'freealut' 'lua51' 'libogg' 'libvorbis' 'libmad')
+depends=('boost' 'ogre>=1.10' 'ois>=0.7' 'freealut' 'lua51' 'libogg' 'libvorbis' 'libmad')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-linux-${_realver}.tar.bz2
funguloids.desktop
funguloids-alc_error.patch
@@ -25,7 +27,9 @@ source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-linux-${_realver}
funguloids-boost-system.patch
funguloids-ogre-1.9.0.patch
funguloids-ogre-1.10.4.patch
- funguloids-ogre-1.10.8.patch)
+ funguloids-ogre-1.10.8.patch
+ funguloids-ois-1.4.patch
+ funguloids-ogre-1.11.0.patch)
sha256sums=('e9c9074a5d2de11690484a7e8eef7de9dd7d360ea72185ea35c54976646ef5cf'
'ceaf1c19d5ed694ff3832320ef6b6b268f73cbf16bc5998c15de47c77298885a'
'753a8ac858ff21e81f2a3466092e297703d081689ceaa1159fe6cb42d97d06a6'
@@ -41,7 +45,9 @@ sha256sums=('e9c9074a5d2de11690484a7e8eef7de9dd7d360ea72185ea35c54976646ef5cf'
'e17a559558d49e493f3f19ae6baa147c64fb37497fb384d31e0d3bc7ae484df1'
'a007990ef35c249fe4440938553737d14f2dd8377407ee97fecdc6f17b1136ec'
'd00b04968aaaee97babd99ecca46cc22d567694fdcc341a5ff4124af9b08be95'
- '6d356bf604073f9314ec581439ad4e6d3d4ea00592e6340f6316c61af48bd863')
+ '6d356bf604073f9314ec581439ad4e6d3d4ea00592e6340f6316c61af48bd863'
+ 'ec9722d796781852bbeeb39d7a8b2493067c15180a8fd807cae2097aedc17074'
+ '2bb7a71375256d89e6851bea025ac96a917b90c4299f04af8ef1f6837ef97ead')
prepare() {
cd "${srcdir}/${pkgname}"
@@ -62,6 +68,8 @@ prepare() {
patch -p1 < ../funguloids-ogre-1.9.0.patch
patch -p1 < ../funguloids-ogre-1.10.4.patch
patch -p1 < ../funguloids-ogre-1.10.8.patch
+ patch -p1 < ../funguloids-ois-1.4.patch
+ patch -p1 < ../funguloids-ogre-1.11.0.patch
sed -i -e 's;cp bootstrap.mpk "@gameinstalldir@";cp bootstrap.mpk "$(DESTDIR)@gameinstalldir@";' -e 's;funguloids.mpk "@gameinstalldir@";funguloids.mpk "$(DESTDIR)@gameinstalldir@";' bin/Makefile.in
sed -i -e 's;cp MarylandInMay.ogg "@musicinstalldir@";cp MarylandInMay.ogg "$(DESTDIR)@musicinstalldir@";' bin/music/Makefile.in
@@ -73,6 +81,34 @@ prepare() {
sed -ri '/^[A-Z]/ s/(.*)/overlay \1/' _bootstrap/*.overlay _gamedata/*.overlay
sed -ri '/^[A-Z]/ s/(.*)/particle_system \1/' _gamedata/*.particle
sed -ri 's/^(\t\t\t)(texture_unit) 1/\1\2\n\1{\n\1}\n\1\2/' _gamedata/materials.material
+
+ # OGRE 1.11.0 compatibility
+ # Error: ScriptCompiler - unexpected token in Vera.fontdef(1): 'VeraBold'. If this is a legacy script you must prepend the type (e.g. font, overlay).
+ sed -ri '/^[A-Z]/ s/(.*)/font \1/' _bootstrap/Vera.fontdef _gamedata/menufont.fontdef
+ # Warning: the syntax 'element type(name)' is deprecated use 'overlay_element name type' at OgreDebugPanel.overlay:6
+ sed -ri 's/^(\s*)(container|element) ([a-zA-Z0-9]+)\(([a-zA-Z0-9/]+)\)\s*$/\1overlay_element \4 \3/' _bootstrap/*.overlay _gamedata/*.overlay
+ # Error: ScriptCompiler - invalid parameters in materials.material(1413): 'cubic_texture .. combinedUVW' is deprecated. Use 'texture .. cubic' instead.
+ sed -ri 's/^(\s*)cubic_texture (\S+) combinedUVW(\s*)$/\1texture \2 cubic \3/' _gamedata/materials.material
+ # Warning: Overlay: caption value must be enclosed by quotes
+ sed -ri 's/^(\s*caption) ([^"]+)$/\1 "\2"/' _bootstrap/*.overlay _gamedata/*.overlay
+ # An exception has occured: InvalidStateException: no matching " found for " at line 9 in ScriptLexer::tokenize
+ sed -ri 's/^(\s*)glyph " /\1glyph u34 /' _gamedata/menufont.fontdef
+ sed -ri 's/^(\s*)glyph \$ /\1glyph u36 /' _gamedata/menufont.fontdef
+ sed -ri 's/^(\s*)glyph : /\1glyph u58 /' _gamedata/menufont.fontdef
+ sed -ri 's/^(\s*)glyph \{ /\1glyph u123 /' _gamedata/menufont.fontdef
+ sed -ri 's/^(\s*)glyph \} /\1glyph u125 /' _gamedata/menufont.fontdef
+ # Warning: Plane.mesh is an older format ([MeshSerializer_v1.8]); you should upgrade it as soon as possible using the OgreMeshUpgrade tool.
+ OgreMeshUpgrader _gamedata/Asteroid1.mesh
+ OgreMeshUpgrader _gamedata/Asteroid2.mesh
+ OgreMeshUpgrader _gamedata/Asteroid3.mesh
+ OgreMeshUpgrader _gamedata/Base.mesh
+ OgreMeshUpgrader _gamedata/Drop.mesh
+ OgreMeshUpgrader _gamedata/Mushroom.mesh
+ OgreMeshUpgrader _gamedata/Plane.mesh
+ OgreMeshUpgrader _gamedata/Tentacle.mesh
+ OgreMeshUpgrader _gamedata/Whirler.mesh
+ OgreMeshUpgrader _gamedata/WormBall.mesh
+
../mpak.py -c -f bin/bootstrap.mpk _bootstrap/*
../mpak.py -c -f bin/funguloids.mpk _gamedata/*
rm -rf _bootstrap _gamedata
diff --git a/funguloids-ogre-1.11.0.patch b/funguloids-ogre-1.11.0.patch
new file mode 100644
index 000000000000..fae13bd66ba6
--- /dev/null
+++ b/funguloids-ogre-1.11.0.patch
@@ -0,0 +1,93 @@
+From: Nicolas Iooss
+Date: Sat, 2 Jun 2018 15:50:31 +0200
+Subject: Fix compilation issues with OGRE 1.11.0
+
+* Add OGRE-Bites to configure.ac and src/Makefile.am as it is now its own component
+* Drop OgreStableHeaders.h as it no longer exists
+* Fix use of deprecated API createSceneManager
+* Load FreeImage plugin as it is now a plugin
+diff --git a/bin/plugins.cfg.in b/bin/plugins.cfg.in
+index 88d28937023d..641d57085b1c 100644
+--- a/bin/plugins.cfg.in
++++ b/bin/plugins.cfg.in
+@@ -4,6 +4,7 @@
+ PluginFolder=%%ogreplugindir%%
+
+ # Define plugins
++Plugin=Codec_FreeImage
+ Plugin=RenderSystem_GL
+ Plugin=Plugin_ParticleFX
+ Plugin=Plugin_OctreeSceneManager
+diff --git a/configure.ac b/configure.ac
+index b1fcdcb380ec..cd6c8ef2eacc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,11 +31,15 @@ AC_HEADER_STDC
+ AC_CHECK_HEADERS([stdlib.h string.h sys/param.h wchar.h])
+
+ # OGRE ----------------------------------------------------
+-PKG_CHECK_MODULES(OGRE, [OGRE >= 1.9.0])
++PKG_CHECK_MODULES(OGRE, [OGRE >= 1.10.0])
+ AC_SUBST(OGRE_CFLAGS)
+ AC_SUBST(OGRE_LIBS)
+
+-PKG_CHECK_MODULES(OGRE_OVERLAY, [OGRE-Overlay >= 1.9.0])
++PKG_CHECK_MODULES(OGRE_BITES, [OGRE-Bites >= 1.10.0])
++AC_SUBST([OGRE_BITES_CFLAGS])
++AC_SUBST([OGRE_BITES_LIBS])
++
++PKG_CHECK_MODULES(OGRE_OVERLAY, [OGRE-Overlay >= 1.10.0])
+ AC_SUBST([OGRE_OVERLAY_CFLAGS])
+ AC_SUBST([OGRE_OVERLAY_LIBS])
+
+diff --git a/include/ogreapp.h b/include/ogreapp.h
+index a62cc4919ad2..5c85922b5640 100644
+--- a/include/ogreapp.h
++++ b/include/ogreapp.h
+@@ -83,7 +83,7 @@ protected:
+
+ // Create the scene manager
+ virtual void createSceneManager() {
+- mSceneMgr = mRoot->createSceneManager(ST_GENERIC);
++ mSceneMgr = mRoot->createSceneManager();
+ }
+
+ // Create the frame listener
+diff --git a/include/ogrelistener.h b/include/ogrelistener.h
+index e589f7e02b20..685ab04ef785 100644
+--- a/include/ogrelistener.h
++++ b/include/ogrelistener.h
+@@ -30,6 +30,7 @@
+ #include <OgreStringConverter.h>
+ #include <OgreException.h>
+ #include <OgreOverlay.h>
++#include <OgreWindowEventUtilities.h>
+
+ #include "input.h"
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 03b09ab3aa2e..644b00df1247 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,7 +1,7 @@
+ bininstall_PROGRAMS = funguloids
+ funguloids_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/SimpleIni
+-funguloids_LDADD = @OIS_LIBS@ @OGRE_LIBS@ @OGRE_OVERLAY_LIBS@ @LUA_LIBS@
+-funguloids_CXXFLAGS = @OIS_CFLAGS@ @OGRE_CFLAGS@ @OGRE_OVERLAY_CFLAGS@ @LUA_CFLAGS@
++funguloids_LDADD = @OIS_LIBS@ @OGRE_LIBS@ @OGRE_BITES_LIBS@ @OGRE_OVERLAY_LIBS@ @LUA_LIBS@
++funguloids_CXXFLAGS = @OIS_CFLAGS@ @OGRE_CFLAGS@ @OGRE_BITES_CFLAGS@ @OGRE_OVERLAY_CFLAGS@ @LUA_CFLAGS@
+
+ funguloids_SOURCES = asteroid.cpp \
+ ballworm.cpp \
+diff --git a/src/mpakogre.cpp b/src/mpakogre.cpp
+index 83e02b40346b..ab63bd6201e3 100644
+--- a/src/mpakogre.cpp
++++ b/src/mpakogre.cpp
+@@ -23,7 +23,6 @@
+ //
+ //***************************************************************************/
+
+-#include <OgreStableHeaders.h>
+ #include <OgreLogManager.h>
+ #include <OgreException.h>
+ #include <OgreStringVector.h>
diff --git a/funguloids-ois-1.4.patch b/funguloids-ois-1.4.patch
new file mode 100644
index 000000000000..232500ed1ec0
--- /dev/null
+++ b/funguloids-ois-1.4.patch
@@ -0,0 +1,33 @@
+From: Nicolas Iooss
+Date: Sat, 2 Jun 2018 15:51:40 +0200
+Subject: Fix compilation issues with OIS 1.4
+
+On Arch Linux, ois 1.4 moved the header files from /usr/include/OIS to
+/usr/include/ois. As pkg-config gives the right directory, use it
+implicitely instead of hard-coding it:
+
+ $ pkg-config --cflags OIS
+ -I/usr/include/oisdiff --git a/include/input.h b/include/input.h
+
+diff --git a/include/input.h b/include/input.h
+index 9ad27de740e3..1c9a7dbbeea8 100644
+--- a/include/input.h
++++ b/include/input.h
+@@ -29,12 +29,12 @@
+ //Use this define to signify OIS will be used as a DLL
+ //(so that dll import/export macros are in effect)
+ #define OIS_DYNAMIC_LIB
+-#include <OIS/OIS.h>
++#include <OIS.h>
+
+-#include <OIS/OISEvents.h>
+-#include <OIS/OISInputManager.h>
+-#include <OIS/OISMouse.h>
+-#include <OIS/OISKeyboard.h>
++#include <OISEvents.h>
++#include <OISInputManager.h>
++#include <OISMouse.h>
++#include <OISKeyboard.h>
+
+
+ class OgreAppFrameListener;