blob: c61afeb476738a7704c9c9149b66cd0fc534384c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# 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=12
pkgdesc="3D game about collecting mushrooms in outerspace"
arch=('i686' 'x86_64')
url="http://funguloids.sourceforge.net/"
license=('ZLIB')
makedepends=('boost' 'python')
depends=('boost-libs' '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
funguloids-gcc44.patch
funguloids-ogre_1.6.patch
funguloids-strcmp.patch
size_chunks_reverse.patch
mpak.py
funguloids-lua.patch
openalsoundsystem.cpp.diff
funguloids-ogre-1.7.0.patch
funguloids-compilation.patch
funguloids-boost-system.patch
funguloids-ogre-1.9.0.patch
funguloids-ogre-1.10.4.patch
funguloids-ogre-1.10.8.patch
funguloids-ois-1.4.patch
funguloids-ogre-1.11.0.patch
funguloids-gcc8-ogre-settings.patch)
sha256sums=('e9c9074a5d2de11690484a7e8eef7de9dd7d360ea72185ea35c54976646ef5cf'
'ceaf1c19d5ed694ff3832320ef6b6b268f73cbf16bc5998c15de47c77298885a'
'753a8ac858ff21e81f2a3466092e297703d081689ceaa1159fe6cb42d97d06a6'
'b2b7767da01529ef6944eba3dd6c14c0883e723d6c2658838f186f6809da9695'
'345c0b54e6ca28a7b243ec9e86a6310062d973f8c35236856b7d66cefc7f9f97'
'107a0eec5efb2eea99c86d7dad91e28a20ca1f35d4f5eda067ae64c88c9d0304'
'eb5c821adbc9e6d93f6a78cb40a661e97ffa67eb6ab346913318cbcf3bc66083'
'12a8cd48b299d9a7de74a9bdae429a4a2489ee8357e9af935e89bf5f417ff157'
'59de5a0e12cb6575facd0d13d6b28b2d2a1bbfdcdf32dadf0c962c276e961c01'
'a70e2a40b19f3e0e3c44aa8fa41d866854ce21d111decce1d43f8fba04f7a16c'
'334831c41160457a4b0162bab349ba77570bbcc0b8e8c63a8e01e8a50c40bd48'
'4ed88c6502601d684fd7e85dbe33684e36669bdf65583f782b24ddd596dcaf3c'
'e17a559558d49e493f3f19ae6baa147c64fb37497fb384d31e0d3bc7ae484df1'
'a007990ef35c249fe4440938553737d14f2dd8377407ee97fecdc6f17b1136ec'
'd00b04968aaaee97babd99ecca46cc22d567694fdcc341a5ff4124af9b08be95'
'6d356bf604073f9314ec581439ad4e6d3d4ea00592e6340f6316c61af48bd863'
'ec9722d796781852bbeeb39d7a8b2493067c15180a8fd807cae2097aedc17074'
'2bb7a71375256d89e6851bea025ac96a917b90c4299f04af8ef1f6837ef97ead'
'c9a5a0797bd54fcae56853522fce7e968d1a662453831077504384ffe1790395')
prepare() {
cd "${srcdir}/${pkgname}"
# Convert DOS line ending to Unix by removing every CR character
find . \( -name '*.h' -o -name '*.cpp' -o -name '*.in' -o -name '*.am' \) \
-exec sed 's/\r//' -i {} \;
patch -p0 < ../openalsoundsystem.cpp.diff
patch -p1 < ../funguloids-gcc44.patch
patch -p0 < ../funguloids-ogre_1.6.patch
patch -p0 < ../funguloids-strcmp.patch
patch -p0 < ../size_chunks_reverse.patch
patch -p0 < ../funguloids-lua.patch
patch -p1 < ../funguloids-ogre-1.7.0.patch
patch -p1 < ../funguloids-compilation.patch
patch -p1 < ../funguloids-boost-system.patch
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
patch -p1 < ../funguloids-gcc8-ogre-settings.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
sed -i -e 's;-llua5.1;-llua;' -e 's;share/games/funguloids;share/funguloids;' \
-e 's;bininstalldir="${prefix}/games;bininstalldir="${prefix}/bin;' configure.ac
chmod +x ../mpak.py
../mpak.py -e -f bin/bootstrap.mpk -p _bootstrap
../mpak.py -e -f bin/funguloids.mpk -p _gamedata
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
rm -f build-aux/*
aclocal
autoheader
autoconf
automake --add-missing
./configure --prefix=/usr
}
build() {
cd "${srcdir}/${pkgname}"
make
}
package() {
cd "${srcdir}/${pkgname}"
make DESTDIR="${pkgdir}" install
# install desktop file
install -Dm644 "${srcdir}/funguloids.desktop" \
"${pkgdir}/usr/share/applications/funguloids.desktop"
# install license file
install -Dm644 "${srcdir}/${pkgname}/COPYING" \
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# use default location for docs
mv "${pkgdir}/usr/share/docs" "${pkgdir}/usr/share/doc"
}
|