diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-09-01 05:12:26 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-09-01 05:12:26 +0000 |
commit | d66c1ef3da8e36fdbcc42e8b0707ca2021d06b9b (patch) | |
tree | 91f4f2ca0cb17d991296b67374e18ace81ce785b /dev-games/irrlicht | |
parent | Version Bump. Added ~amd64 keyword. (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-games/irrlicht/files/digest-irrlicht-0.12.0 | 1 | ||||
-rw-r--r-- | dev-games/irrlicht/files/irrlicht-0.12.0-64bit.patch | 145 | ||||
-rw-r--r-- | dev-games/irrlicht/files/irrlicht-0.12.0-opengl.patch | 20 | ||||
-rw-r--r-- | dev-games/irrlicht/irrlicht-0.12.0.ebuild | 73 |
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 +} |