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
commitd66c1ef3da8e36fdbcc42e8b0707ca2021d06b9b (patch)
tree91f4f2ca0cb17d991296b67374e18ace81ce785b /dev-games/irrlicht
parentVersion Bump. Added ~amd64 keyword. (diff)
downloadgentoo-2-d66c1ef3da8e36fdbcc42e8b0707ca2021d06b9b.tar.gz
gentoo-2-d66c1ef3da8e36fdbcc42e8b0707ca2021d06b9b.tar.bz2
gentoo-2-d66c1ef3da8e36fdbcc42e8b0707ca2021d06b9b.zip
Version bump #103748 by Guido.
(Portage version: 2.0.51.22-r2)
Diffstat (limited to 'dev-games/irrlicht')
-rw-r--r--dev-games/irrlicht/ChangeLog9
-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
5 files changed, 247 insertions, 1 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/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
+}