summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-09-01 05:12:26 +0000
committerMike Frysinger <vapier@gentoo.org>2005-09-01 05:12:26 +0000
commitdd1b16d06a87c2d53739c47b0e6ee6b9ad328a92 (patch)
tree53ddb14a93a6e3ad21dc4681716cd031156c8d65 /dev-games
parentVersion Bump. Added ~amd64 keyword. (diff)
downloadhistorical-dd1b16d06a87c2d53739c47b0e6ee6b9ad328a92.tar.gz
historical-dd1b16d06a87c2d53739c47b0e6ee6b9ad328a92.tar.bz2
historical-dd1b16d06a87c2d53739c47b0e6ee6b9ad328a92.zip
Version bump #103748 by Guido.
Package-Manager: portage-2.0.51.22-r2
Diffstat (limited to 'dev-games')
-rw-r--r--dev-games/irrlicht/ChangeLog9
-rw-r--r--dev-games/irrlicht/Manifest12
-rw-r--r--dev-games/irrlicht/files/digest-irrlicht-0.12.01
-rw-r--r--dev-games/irrlicht/files/irrlicht-0.12.0-64bit.patch145
-rw-r--r--dev-games/irrlicht/files/irrlicht-0.12.0-opengl.patch20
-rw-r--r--dev-games/irrlicht/irrlicht-0.12.0.ebuild73
6 files changed, 255 insertions, 5 deletions
diff --git a/dev-games/irrlicht/ChangeLog b/dev-games/irrlicht/ChangeLog
index be5469b5a26e..75b604ff44db 100644
--- a/dev-games/irrlicht/ChangeLog
+++ b/dev-games/irrlicht/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-games/irrlicht
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-games/irrlicht/ChangeLog,v 1.12 2005/07/17 10:03:27 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-games/irrlicht/ChangeLog,v 1.13 2005/09/01 05:12:26 vapier Exp $
+
+*irrlicht-0.12.0 (01 Sep 2005)
+
+ 01 Sep 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/irrlicht-0.12.0-64bit.patch, +files/irrlicht-0.12.0-opengl.patch,
+ +irrlicht-0.12.0.ebuild:
+ Version bump #103748 by Guido.
*irrlicht-0.11.0 (17 Jul 2005)
diff --git a/dev-games/irrlicht/Manifest b/dev-games/irrlicht/Manifest
index 8803a18183f2..96faed6e1319 100644
--- a/dev-games/irrlicht/Manifest
+++ b/dev-games/irrlicht/Manifest
@@ -5,18 +5,22 @@ MD5 b0fc6ca5b139ee250e55224ef04f4e64 irrlicht-0.11.0.ebuild 1698
MD5 ad41838cd74c70f9c72295bda4662786 metadata.xml 790
MD5 283af2669b7fb7a7b672f112fc509734 irrlicht-0.7.1.ebuild 1441
MD5 af0ddfac8a4fb8f838e150be97330291 irrlicht-0.10.0.ebuild 1692
-MD5 9301e86d3a7583c1449e266c1f2b17ec ChangeLog 1967
+MD5 741cf512ac19ccb995e8964ac23dbd9c irrlicht-0.12.0.ebuild 2069
+MD5 447d48bd8ce7e6ed9baf18d2067356a1 ChangeLog 2185
+MD5 e03898aad8550858f91a0b78c888c3f8 files/irrlicht-0.12.0-64bit.patch 10232
MD5 3d0c46bd872601ae474803a089531688 files/0.7.1-opengl.patch 189
MD5 a802b6daa10af3a510febd31ec1b2dc1 files/digest-irrlicht-0.7.1 127
+MD5 482fcd4ab66e17c76273ec131a05920a files/irrlicht-0.12.0-opengl.patch 655
MD5 312164f80e743bb92907e37a76d96670 files/digest-irrlicht-0.10.0 66
MD5 5429bde56275c9f5201369a080f03f57 files/0.7.1-system-libs.patch 617
+MD5 0ad2514a81760732b181856cf7eab90e files/digest-irrlicht-0.12.0 66
MD5 33d681a58fa24489d6bdf9f48346ed08 files/0.7.1-jpeg.patch 536
MD5 9e43009bf90ea86626836ef35b62aec5 files/irrlicht-0.10.0-opengl.patch 648
MD5 1088412668e0f0efbb237c7bc74a4ebc files/digest-irrlicht-0.11.0 66
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
-iD8DBQFDFnqDgIKl8Uu19MoRAu2VAJ0Yx12WX1w1vs+YzCwCqdyqYsu+ygCZAa7Z
-L6xDvov6Y2AXPunEq9EOcWU=
-=QgG9
+iD8DBQFDFo3YgIKl8Uu19MoRApr4AJ4jVmwmJp5tK+1cdUVm/6IzObNbbwCfXkYE
+tzFx7s3CK47g7juCdtG3CzM=
+=BpjZ
-----END PGP SIGNATURE-----
diff --git a/dev-games/irrlicht/files/digest-irrlicht-0.12.0 b/dev-games/irrlicht/files/digest-irrlicht-0.12.0
new file mode 100644
index 000000000000..68548dc06b30
--- /dev/null
+++ b/dev-games/irrlicht/files/digest-irrlicht-0.12.0
@@ -0,0 +1 @@
+MD5 b6f046fee28630cf08aa391ee69c94c5 irrlicht-0.12.0.zip 14060742
diff --git a/dev-games/irrlicht/files/irrlicht-0.12.0-64bit.patch b/dev-games/irrlicht/files/irrlicht-0.12.0-64bit.patch
new file mode 100644
index 000000000000..dcb19571b6dd
--- /dev/null
+++ b/dev-games/irrlicht/files/irrlicht-0.12.0-64bit.patch
@@ -0,0 +1,145 @@
+Only tested the q3 example but this patch stopped it from segfaulting ;).
+
+--- source/Irrlicht/CSceneManager.h
++++ source/Irrlicht/CSceneManager.h
+@@ -321,13 +321,13 @@
+ textureValue = 0;
+
+ if (n->getMaterialCount())
+- textureValue = (s32)(n->getMaterial(0).Texture1);
++ textureValue = (unsigned long)(n->getMaterial(0).Texture1);
+
+ node = n;
+ }
+
+ ISceneNode* node;
+- s32 textureValue;
++ unsigned long textureValue;
+
+ bool operator < (const DefaultNodeEntry& other) const
+ {
+--- source/Irrlicht/CQ3LevelMesh.cpp
++++ source/Irrlicht/CQ3LevelMesh.cpp
+@@ -352,15 +352,15 @@
+ }
+
+ // helper method for creating curved surfaces, sent in by Dean P. Macri.
+-inline f32 CQ3LevelMesh::Blend( f32 s[3], f32 t[3], tBSPVertex *v[9], int offset)
++inline f32 CQ3LevelMesh::Blend( f32 s[3], f32 t[3], tBSPVertex *v[9], unsigned long offset)
+ {
+ f32 res = 0.0f;
+- f32 *ptr;
++ unsigned long *ptr;
+
+ for( int i=0; i<3; i++ )
+ for( int j=0; j<3; j++ )
+ {
+- ptr = (f32 *)( (int)v[i*3+j] + offset );
++ ptr = (unsigned long *)( (unsigned long)v[i*3+j] + offset );
+ res += s[i] * t[j] * (*ptr);
+ }
+ return res;
+@@ -429,52 +429,52 @@
+
+ // Vert 1
+ currentVertex[0].Color.set(255,255,255,255);
+- currentVertex[0].Pos.X = Blend( cs, ct, v, (int)&v[0]->vPosition[0] - (int)v[0]);
+- currentVertex[0].Pos.Y = Blend( cs, ct, v, (int)&v[0]->vPosition[2] - (int)v[0]);
+- currentVertex[0].Pos.Z = Blend( cs, ct, v, (int)&v[0]->vPosition[1] - (int)v[0]);
+- currentVertex[0].Normal.X = Blend( cs, ct, v, (int)&v[0]->vNormal[0] - (int)v[0]);
+- currentVertex[0].Normal.Y = Blend( cs, ct, v, (int)&v[0]->vNormal[2] - (int)v[0]);
+- currentVertex[0].Normal.Z = Blend( cs, ct, v, (int)&v[0]->vNormal[1] - (int)v[0]);
+- currentVertex[0].TCoords.X = Blend( cs, ct, v, (int)&v[0]->vTextureCoord[0] - (int)v[0]);
+- currentVertex[0].TCoords.Y = Blend( cs, ct, v, (int)&v[0]->vTextureCoord[1] - (int)v[0]);
+- currentVertex[0].TCoords2.X = Blend( cs, ct, v, (int)&v[0]->vLightmapCoord[0] - (int)v[0]);
+- currentVertex[0].TCoords2.Y = Blend( cs, ct, v, (int)&v[0]->vLightmapCoord[1] - (int)v[0]);
++ currentVertex[0].Pos.X = Blend( cs, ct, v, (unsigned long)&v[0]->vPosition[0] - (unsigned long)v[0]);
++ currentVertex[0].Pos.Y = Blend( cs, ct, v, (unsigned long)&v[0]->vPosition[2] - (unsigned long)v[0]);
++ currentVertex[0].Pos.Z = Blend( cs, ct, v, (unsigned long)&v[0]->vPosition[1] - (unsigned long)v[0]);
++ currentVertex[0].Normal.X = Blend( cs, ct, v, (unsigned long)&v[0]->vNormal[0] - (unsigned long)v[0]);
++ currentVertex[0].Normal.Y = Blend( cs, ct, v, (unsigned long)&v[0]->vNormal[2] - (unsigned long)v[0]);
++ currentVertex[0].Normal.Z = Blend( cs, ct, v, (unsigned long)&v[0]->vNormal[1] - (unsigned long)v[0]);
++ currentVertex[0].TCoords.X = Blend( cs, ct, v, (unsigned long)&v[0]->vTextureCoord[0] - (unsigned long)v[0]);
++ currentVertex[0].TCoords.Y = Blend( cs, ct, v, (unsigned long)&v[0]->vTextureCoord[1] - (unsigned long)v[0]);
++ currentVertex[0].TCoords2.X = Blend( cs, ct, v, (unsigned long)&v[0]->vLightmapCoord[0] - (unsigned long)v[0]);
++ currentVertex[0].TCoords2.Y = Blend( cs, ct, v, (unsigned long)&v[0]->vLightmapCoord[1] - (unsigned long)v[0]);
+ // Vert 2
+ currentVertex[1].Color.set(255,255,255,255);
+- currentVertex[1].Pos.X = Blend( cs, nxt, v, (int)&v[0]->vPosition[0] - (int)v[0]);
+- currentVertex[1].Pos.Y = Blend( cs, nxt, v, (int)&v[0]->vPosition[2] - (int)v[0]);
+- currentVertex[1].Pos.Z = Blend( cs, nxt, v, (int)&v[0]->vPosition[1] - (int)v[0]);
+- currentVertex[1].Normal.X = Blend( cs, nxt, v, (int)&v[0]->vNormal[0] - (int)v[0]);
+- currentVertex[1].Normal.Y = Blend( cs, nxt, v, (int)&v[0]->vNormal[2] - (int)v[0]);
+- currentVertex[1].Normal.Z = Blend( cs, nxt, v, (int)&v[0]->vNormal[1] - (int)v[0]);
+- currentVertex[1].TCoords.X = Blend( cs, nxt, v, (int)&v[0]->vTextureCoord[0] - (int)v[0]);
+- currentVertex[1].TCoords.Y = Blend( cs, nxt, v, (int)&v[0]->vTextureCoord[1] - (int)v[0]);
+- currentVertex[1].TCoords2.X = Blend( cs, nxt, v, (int)&v[0]->vLightmapCoord[0] - (int)v[0]);
+- currentVertex[1].TCoords2.Y = Blend( cs, nxt, v, (int)&v[0]->vLightmapCoord[1] - (int)v[0]);
++ currentVertex[1].Pos.X = Blend( cs, nxt, v, (unsigned long)&v[0]->vPosition[0] - (unsigned long)v[0]);
++ currentVertex[1].Pos.Y = Blend( cs, nxt, v, (unsigned long)&v[0]->vPosition[2] - (unsigned long)v[0]);
++ currentVertex[1].Pos.Z = Blend( cs, nxt, v, (unsigned long)&v[0]->vPosition[1] - (unsigned long)v[0]);
++ currentVertex[1].Normal.X = Blend( cs, nxt, v, (unsigned long)&v[0]->vNormal[0] - (unsigned long)v[0]);
++ currentVertex[1].Normal.Y = Blend( cs, nxt, v, (unsigned long)&v[0]->vNormal[2] - (unsigned long)v[0]);
++ currentVertex[1].Normal.Z = Blend( cs, nxt, v, (unsigned long)&v[0]->vNormal[1] - (unsigned long)v[0]);
++ currentVertex[1].TCoords.X = Blend( cs, nxt, v, (unsigned long)&v[0]->vTextureCoord[0] - (unsigned long)v[0]);
++ currentVertex[1].TCoords.Y = Blend( cs, nxt, v, (unsigned long)&v[0]->vTextureCoord[1] - (unsigned long)v[0]);
++ currentVertex[1].TCoords2.X = Blend( cs, nxt, v, (unsigned long)&v[0]->vLightmapCoord[0] - (unsigned long)v[0]);
++ currentVertex[1].TCoords2.Y = Blend( cs, nxt, v, (unsigned long)&v[0]->vLightmapCoord[1] - (unsigned long)v[0]);
+ // Vert 3
+ currentVertex[2].Color.set(255,255,255,255);
+- currentVertex[2].Pos.X = Blend( nxs, ct, v, (int)&v[0]->vPosition[0] - (int)v[0]);
+- currentVertex[2].Pos.Y = Blend( nxs, ct, v, (int)&v[0]->vPosition[2] - (int)v[0]);
+- currentVertex[2].Pos.Z = Blend( nxs, ct, v, (int)&v[0]->vPosition[1] - (int)v[0]);
+- currentVertex[2].Normal.X = Blend( nxs, ct, v, (int)&v[0]->vNormal[0] - (int)v[0]);
+- currentVertex[2].Normal.Y = Blend( nxs, ct, v, (int)&v[0]->vNormal[2] - (int)v[0]);
+- currentVertex[2].Normal.Z = Blend( nxs, ct, v, (int)&v[0]->vNormal[1] - (int)v[0]);
+- currentVertex[2].TCoords.X = Blend( nxs, ct, v, (int)&v[0]->vTextureCoord[0] - (int)v[0]);
+- currentVertex[2].TCoords.Y = Blend( nxs, ct, v, (int)&v[0]->vTextureCoord[1] - (int)v[0]);
+- currentVertex[2].TCoords2.X = Blend( nxs, ct, v, (int)&v[0]->vLightmapCoord[0] - (int)v[0]);
+- currentVertex[2].TCoords2.Y = Blend( nxs, ct, v, (int)&v[0]->vLightmapCoord[1] - (int)v[0]);
++ currentVertex[2].Pos.X = Blend( nxs, ct, v, (unsigned long)&v[0]->vPosition[0] - (unsigned long)v[0]);
++ currentVertex[2].Pos.Y = Blend( nxs, ct, v, (unsigned long)&v[0]->vPosition[2] - (unsigned long)v[0]);
++ currentVertex[2].Pos.Z = Blend( nxs, ct, v, (unsigned long)&v[0]->vPosition[1] - (unsigned long)v[0]);
++ currentVertex[2].Normal.X = Blend( nxs, ct, v, (unsigned long)&v[0]->vNormal[0] - (unsigned long)v[0]);
++ currentVertex[2].Normal.Y = Blend( nxs, ct, v, (unsigned long)&v[0]->vNormal[2] - (unsigned long)v[0]);
++ currentVertex[2].Normal.Z = Blend( nxs, ct, v, (unsigned long)&v[0]->vNormal[1] - (unsigned long)v[0]);
++ currentVertex[2].TCoords.X = Blend( nxs, ct, v, (unsigned long)&v[0]->vTextureCoord[0] - (unsigned long)v[0]);
++ currentVertex[2].TCoords.Y = Blend( nxs, ct, v, (unsigned long)&v[0]->vTextureCoord[1] - (unsigned long)v[0]);
++ currentVertex[2].TCoords2.X = Blend( nxs, ct, v, (unsigned long)&v[0]->vLightmapCoord[0] - (unsigned long)v[0]);
++ currentVertex[2].TCoords2.Y = Blend( nxs, ct, v, (unsigned long)&v[0]->vLightmapCoord[1] - (unsigned long)v[0]);
+ // Vert 4
+ currentVertex[3].Color.set(255,255,255,255);
+- currentVertex[3].Pos.X = Blend( nxs, nxt, v, (int)&v[0]->vPosition[0] - (int)v[0]);
+- currentVertex[3].Pos.Y = Blend( nxs, nxt, v, (int)&v[0]->vPosition[2] - (int)v[0]);
+- currentVertex[3].Pos.Z = Blend( nxs, nxt, v, (int)&v[0]->vPosition[1] - (int)v[0]);
+- currentVertex[3].Normal.X = Blend( nxs, nxt, v, (int)&v[0]->vNormal[0] - (int)v[0]);
+- currentVertex[3].Normal.Y = Blend( nxs, nxt, v, (int)&v[0]->vNormal[2] - (int)v[0]);
+- currentVertex[3].Normal.Z = Blend( nxs, nxt, v, (int)&v[0]->vNormal[1] - (int)v[0]);
+- currentVertex[3].TCoords.X = Blend( nxs, nxt, v, (int)&v[0]->vTextureCoord[0] - (int)v[0]);
+- currentVertex[3].TCoords.Y = Blend( nxs, nxt, v, (int)&v[0]->vTextureCoord[1] - (int)v[0]);
+- currentVertex[3].TCoords2.X = Blend( nxs, nxt, v, (int)&v[0]->vLightmapCoord[0] - (int)v[0]);
+- currentVertex[3].TCoords2.Y = Blend( nxs, nxt, v, (int)&v[0]->vLightmapCoord[1] - (int)v[0]);
++ currentVertex[3].Pos.X = Blend( nxs, nxt, v, (unsigned long)&v[0]->vPosition[0] - (unsigned long)v[0]);
++ currentVertex[3].Pos.Y = Blend( nxs, nxt, v, (unsigned long)&v[0]->vPosition[2] - (unsigned long)v[0]);
++ currentVertex[3].Pos.Z = Blend( nxs, nxt, v, (unsigned long)&v[0]->vPosition[1] - (unsigned long)v[0]);
++ currentVertex[3].Normal.X = Blend( nxs, nxt, v, (unsigned long)&v[0]->vNormal[0] - (unsigned long)v[0]);
++ currentVertex[3].Normal.Y = Blend( nxs, nxt, v, (unsigned long)&v[0]->vNormal[2] - (unsigned long)v[0]);
++ currentVertex[3].Normal.Z = Blend( nxs, nxt, v, (unsigned long)&v[0]->vNormal[1] - (unsigned long)v[0]);
++ currentVertex[3].TCoords.X = Blend( nxs, nxt, v, (unsigned long)&v[0]->vTextureCoord[0] - (unsigned long)v[0]);
++ currentVertex[3].TCoords.Y = Blend( nxs, nxt, v, (unsigned long)&v[0]->vTextureCoord[1] - (unsigned long)v[0]);
++ currentVertex[3].TCoords2.X = Blend( nxs, nxt, v, (unsigned long)&v[0]->vLightmapCoord[0] - (unsigned long)v[0]);
++ currentVertex[3].TCoords2.Y = Blend( nxs, nxt, v, (unsigned long)&v[0]->vLightmapCoord[1] - (unsigned long)v[0]);
+ // Put the vertices in the mesh buffer
+ meshBuffer->Vertices.push_back(currentVertex[0]);
+ meshBuffer->Vertices.push_back(currentVertex[2]);
+--- source/Irrlicht/CQ3LevelMesh.h
++++ source/Irrlicht/CQ3LevelMesh.h
+@@ -214,7 +214,7 @@
+
+ // second parameter i is the zero based index of the current face.
+ void createCurvedSurface(SMeshBufferLightMap* meshBuffer, s32 i);
+- f32 Blend( f32 s[3], f32 t[3], tBSPVertex *v[9], int offset);
++ f32 Blend( f32 s[3], f32 t[3], tBSPVertex *v[9], unsigned long offset);
+
+ tBSPLump Lumps[kMaxLumps];
+
diff --git a/dev-games/irrlicht/files/irrlicht-0.12.0-opengl.patch b/dev-games/irrlicht/files/irrlicht-0.12.0-opengl.patch
new file mode 100644
index 000000000000..f527f22cacd5
--- /dev/null
+++ b/dev-games/irrlicht/files/irrlicht-0.12.0-opengl.patch
@@ -0,0 +1,20 @@
+Fix compiling error:
+COpenGLDriver.cpp: In member function `void irr::video::COpenGLDriver::loadExtensions()':
+COpenGLDriver.cpp:357: error: `glXGetProcAddress' undeclared (first use this function)
+COpenGLDriver.cpp:357: error: (Each undeclared identifier is reported only once for each function it appears in.)
+make: *** [COpenGLDriver.o] Error 1
+
+Patch by Chris Statzer.
+
+http://bugs.gentoo.org/87015
+
+--- COpenGLDriver.cpp
++++ COpenGLDriver.cpp
+@@ -2,6 +2,7 @@
+
+ #include "IrrCompileConfig.h"
+ #ifdef _IRR_COMPILE_WITH_OPENGL_
++#define glXGetProcAddress glXGetProcAddressARB
+
+ #include "COpenGLTexture.h"
+ #include "COpenGLMaterialRenderer.h"
diff --git a/dev-games/irrlicht/irrlicht-0.12.0.ebuild b/dev-games/irrlicht/irrlicht-0.12.0.ebuild
new file mode 100644
index 000000000000..e46a6cc57443
--- /dev/null
+++ b/dev-games/irrlicht/irrlicht-0.12.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-games/irrlicht/irrlicht-0.12.0.ebuild,v 1.1 2005/09/01 05:12:26 vapier Exp $
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="open source high performance realtime 3D engine written in C++"
+HOMEPAGE="http://irrlicht.sourceforge.net/"
+SRC_URI="mirror://sourceforge/irrlicht/${P}.zip
+ mirror://sourceforge/irrlicht/${P}.zip"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ppc x86"
+IUSE="doc"
+
+RDEPEND="media-libs/jpeg
+ media-libs/libpng
+ sys-libs/zlib
+ virtual/opengl
+ virtual/x11"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"/source
+ unzip -qo source.zip || die "unpacking source.zip"
+ rm -f source.zip
+ cd Irrlicht
+
+ epatch "${FILESDIR}"/${PN}-0.12.0-64bit.patch
+
+ # stupid nvidia / xorg GL differences
+ if echo -e '#include <GL/glx.h>\nglXGetProcAddress blah;' | \
+ $(tc-getCC) -E - | \
+ grep -q glXGetProcAddressARB
+ then
+ epatch "${FILESDIR}"/${PN}-0.12.0-opengl.patch
+ fi
+
+ # use the system zlib/jpeg/png
+ rm -r zlib jpeglib libpng
+ sed -i -e 's:zlib.zlib\.h:zlib.h:' CZipReader.cpp || die "zlib sed"
+ sed -i -e '/include/s:jpeglib/::' CImageLoaderJPG.h || die "jpeg sed"
+ sed -i -e '/include/s:libpng/::' CImageLoaderPNG.cpp || die "png sed"
+ sed -i -r \
+ -e '/^CXXFLAGS/s:=:+=:' \
+ -e '/^LINKOBJ/s:(zlib|jpeglib|libpng)/[^.]+\.o::g' \
+ Makefile || die "sed objs"
+ for x in z jpeg png ; do
+ mkdir ${x} && cd ${x} || die
+ $(tc-getAR) x $($(tc-getCC) -print-file-name=lib${x}.a) || die "explode lib${x}.a"
+ cd ..
+ done
+ sed -i \
+ -e '/^LINKOBJ/s:$: $(wildcard z/*.o) $(wildcard jpeg/*.o) $(wildcard png/*.o):' \
+ Makefile || die "sed objs two"
+}
+
+src_compile() {
+ emake -C source/Irrlicht || die "emake failed"
+}
+
+src_install() {
+ dolib.a lib/Linux/libIrrlicht.a || die "dolib.a failed"
+ insinto /usr/include/${PN}
+ doins include/* || die "doins failed"
+ dodoc changes.txt readme.txt
+ if use doc ; then
+ cp -r examples media "${D}"/usr/share/doc/${PF}/ || die "cp failed"
+ fi
+}