adding patch to make blender work with gcc 4.0
authorSimon Stelling <blubb@gentoo.org>
Mon, 31 Oct 2005 20:09:13 +0000 (20:09 +0000)
committerSimon Stelling <blubb@gentoo.org>
Mon, 31 Oct 2005 20:09:13 +0000 (20:09 +0000)
Package-Manager: portage-2.0.51.22-r3

media-gfx/blender/ChangeLog
media-gfx/blender/blender-2.37a.ebuild
media-gfx/blender/files/blender-2.37a-gcc-4.0.patch [new file with mode: 0644]

index 312fee691264c81f1ba3f0faf84b5a8fc7d4cee0..20da5eb4138cc4bfd84c5834139f6ccb6a2e00d1 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for media-gfx/blender
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.63 2005/08/23 21:09:44 lu_zero Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/ChangeLog,v 1.64 2005/10/31 20:09:13 blubb Exp $
+
+  31 Oct 2005; Simon Stelling <blubb@gentoo.org>
+  +files/blender-2.37a-gcc-4.0.patch, blender-2.37a.ebuild:
+  adding patch to make blender work with gcc 4.0
 
   23 Aug 2005; Luca Barbato <lu_zero@gentoo.org> blender-2.37a.ebuild:
   BSD support
index 6e8397c830e1af847478e0c08cc1564ae106fd8d..bd5c5e34ce489a6e70b41f5d0c1591df5b5f1010 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.37a.ebuild,v 1.4 2005/08/24 00:35:45 halcy0n Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/blender/blender-2.37a.ebuild,v 1.5 2005/10/31 20:09:13 blubb Exp $
 
 inherit flag-o-matic eutils python
 
@@ -40,6 +40,7 @@ src_unpack() {
        cp -pPR ${S}/source/blender/blenpluginapi include
        cd ${S}
        epatch ${FILESDIR}/${P}-dirs.patch
+       epatch ${FILESDIR}/${P}-x86_64.patch
        mkdir -p ${WORKDIR}/build/linux2/{extern,intern,source}
 }
 
@@ -80,7 +81,7 @@ src_compile() {
                einfo "enabling internationalization"
                sed -i -e "s:USE_INTERNATIONAL.*$:USE_INTERNATIONAL = 'true':" \
                -e "s:FTGL_INCLUDE.*$:FTGL_INCLUDE = ['/usr/include/FTGL']:"    \
-               -e "s:FTGL_LIBPATH.*$:FTGL_LIBPATH = ['/usr/lib']:"                             \
+               -e "s:FTGL_LIBPATH.*$:FTGL_LIBPATH = ['/usr/$(get_libdir)']:"                           \
                config.opts
        fi
 
@@ -108,13 +109,14 @@ src_install() {
        doexe ${S}/blenderplayer
 
 
-       exeinto /usr/lib/${PN}/textures
+       exeinto /usr/$(get_libdir)/${PN}/textures
        doexe ${S}/release/plugins/texture/*.so
-       exeinto /usr/lib/${PN}/sequences
+       exeinto /usr/$(get_libdir)/${PN}/sequences
        doexe ${S}/release/plugins/sequence/*.so
-       cp -pPR ${S}/release/{bpydata,plugins,scripts} ${D}/usr/lib/${PN}
+       cp -pPR ${S}/release/{bpydata,plugins,scripts} ${D}/usr/$(get_libdir)/${PN}
        use nls && \
-       cp -pPR ${S}/bin/.blender/{.Blanguages,.bfont.ttf,locale} ${D}/usr/lib/${PN}
+       cp -pPR ${S}/bin/.blender/{.Blanguages,.bfont.ttf,locale}
+       ${D}/usr/$(get_libdir)/${PN}
        insinto /usr/share/pixmaps
        doins ${FILESDIR}/${PN}.png
        insinto /usr/share/applications
@@ -125,8 +127,8 @@ src_install() {
 }
 
 pkg_preinst(){
-       if [ -h "/usr/lib/blender/plugins/include" ];
+       if [ -h "/usr/$(get_libdir)/blender/plugins/include" ];
        then
-               rm -f /usr/lib/blender/plugins/include
+               rm -f /usr/$(get_libdir)/blender/plugins/include
        fi
 }
diff --git a/media-gfx/blender/files/blender-2.37a-gcc-4.0.patch b/media-gfx/blender/files/blender-2.37a-gcc-4.0.patch
new file mode 100644 (file)
index 0000000..73bd42b
--- /dev/null
@@ -0,0 +1,120 @@
+--- blender/source/gameengine/Expressions/KX_HashedPtr.cpp.x86_64      2004-03-22 17:01:28.000000000 -0500
++++ blender/source/gameengine/Expressions/KX_HashedPtr.cpp     2005-06-05 10:09:48.000000000 -0400
+@@ -57,5 +57,5 @@
+ 
+ unsigned int CHashedPtr::hash() const
+ {
+-      return KX_Hash((unsigned int) m_valptr);
++      return KX_Hash((unsigned int)((unsigned long) m_valptr & 0x00000000FFFFFFFF));
+ }
+--- blender/source/gameengine/Ketsji/KX_WorldIpoController.cpp.x86_64  2005-03-09 14:45:59.000000000 -0500
++++ blender/source/gameengine/Ketsji/KX_WorldIpoController.cpp 2005-06-05 10:09:48.000000000 -0400
+@@ -92,10 +92,10 @@
+               iporeplica->AddInterpolator(copyipo);
+ 
+               MT_Scalar* scaal = ((KX_ScalarInterpolator*)*i)->GetTarget();
+-              int orgbase = (int)this;
+-              int orgloc = (int)scaal;
+-              int offset = orgloc-orgbase;
+-              int newaddrbase = (int)iporeplica + offset;
++              long orgbase = (long)this;
++              long orgloc = (long)scaal;
++              long offset = orgloc-orgbase;
++              long newaddrbase = (long)iporeplica + offset;
+               MT_Scalar* blaptr = (MT_Scalar*) newaddrbase;
+               copyipo->SetNewTarget((MT_Scalar*)blaptr);
+       }
+--- blender/source/gameengine/Ketsji/KX_ObColorIpoSGController.cpp.x86_64      2004-03-22 17:01:52.000000000 -0500
++++ blender/source/gameengine/Ketsji/KX_ObColorIpoSGController.cpp     2005-06-05 10:09:48.000000000 -0400
+@@ -87,10 +87,10 @@
+               iporeplica->AddInterpolator(copyipo);
+ 
+               MT_Scalar* scaal = ((KX_ScalarInterpolator*)*i)->GetTarget();
+-              int orgbase = (int)this;
+-              int orgloc = (int)scaal;
+-              int offset = orgloc-orgbase;
+-              int newaddrbase = (int)iporeplica + offset;
++              long orgbase = (long)this;
++              long orgloc = (long)scaal;
++              long offset = orgloc-orgbase;
++              long newaddrbase = (long)iporeplica + offset;
+               MT_Scalar* blaptr = (MT_Scalar*) newaddrbase;
+               copyipo->SetNewTarget((MT_Scalar*)blaptr);
+       }
+--- blender/source/gameengine/Ketsji/KX_LightIpoSGController.cpp.x86_64        2004-03-22 17:01:52.000000000 -0500
++++ blender/source/gameengine/Ketsji/KX_LightIpoSGController.cpp       2005-06-05 10:09:48.000000000 -0400
+@@ -97,10 +97,10 @@
+               iporeplica->AddInterpolator(copyipo);
+ 
+               MT_Scalar* scaal = ((KX_ScalarInterpolator*)*i)->GetTarget();
+-              int orgbase = (int)this;
+-              int orgloc = (int)scaal;
+-              int offset = orgloc-orgbase;
+-              int newaddrbase = (int)iporeplica + offset;
++              long orgbase = (long)this;
++              long orgloc = (long)scaal;
++              long offset = orgloc-orgbase;
++              long newaddrbase = (long)iporeplica + offset;
+               MT_Scalar* blaptr = (MT_Scalar*) newaddrbase;
+               copyipo->SetNewTarget((MT_Scalar*)blaptr);
+       }
+--- blender/source/gameengine/Ketsji/KX_IPO_SGController.cpp.x86_64    2005-03-25 05:33:37.000000000 -0500
++++ blender/source/gameengine/Ketsji/KX_IPO_SGController.cpp   2005-06-05 10:09:48.000000000 -0400
+@@ -168,10 +168,10 @@
+               iporeplica->AddInterpolator(copyipo);
+ 
+               MT_Scalar* scaal = ((KX_ScalarInterpolator*)*i)->GetTarget();
+-              int orgbase = (int)&m_ipo_xform;
+-              int orgloc = (int)scaal;
+-              int offset = orgloc-orgbase;
+-              int newaddrbase = (int)&iporeplica->m_ipo_xform;
++              long orgbase = (long)&m_ipo_xform;
++              long orgloc = (long)scaal;
++              long offset = orgloc-orgbase;
++              long newaddrbase = (long)&iporeplica->m_ipo_xform;
+               newaddrbase += offset;
+               MT_Scalar* blaptr = (MT_Scalar*) newaddrbase;
+               copyipo->SetNewTarget((MT_Scalar*)blaptr);
+--- blender/source/gameengine/Ketsji/KX_GameObject.cpp.x86_64  2005-04-18 07:44:21.000000000 -0400
++++ blender/source/gameengine/Ketsji/KX_GameObject.cpp 2005-06-05 10:09:48.000000000 -0400
+@@ -1069,10 +1069,10 @@
+                                                                                          PyObject* kwds)
+ {
+       KX_IPhysicsController* ctrl = GetPhysicsController();
+-      int physid=0;
++      long physid=0;
+       if (ctrl)
+       {
+-              physid= (int)ctrl->GetUserData();
++              physid= (long)ctrl->GetUserData();
+       }
+       return PyInt_FromLong(physid);
+ }
+--- blender/source/gameengine/Ketsji/KX_CameraIpoSGController.cpp.x86_64       2004-07-21 20:26:34.000000000 -0400
++++ blender/source/gameengine/Ketsji/KX_CameraIpoSGController.cpp      2005-06-05 10:09:48.000000000 -0400
+@@ -92,10 +92,10 @@
+               iporeplica->AddInterpolator(copyipo);
+ 
+               MT_Scalar* scaal = ((KX_ScalarInterpolator*)*i)->GetTarget();
+-              int orgbase = (int)this;
+-              int orgloc = (int)scaal;
+-              int offset = orgloc-orgbase;
+-              int newaddrbase = (int)iporeplica + offset;
++              long orgbase = (long)this;
++              long orgloc = (long)scaal;
++              long offset = orgloc-orgbase;
++              long newaddrbase = (long)iporeplica + offset;
+               MT_Scalar* blaptr = (MT_Scalar*) newaddrbase;
+               copyipo->SetNewTarget((MT_Scalar*)blaptr);
+       }
+--- blender/source/kernel/gen_system/GEN_HashedPtr.h.x86_64    2002-12-27 08:11:00.000000000 -0500
++++ blender/source/kernel/gen_system/GEN_HashedPtr.h   2005-06-05 10:09:48.000000000 -0400
+@@ -40,7 +40,7 @@
+       void* m_valptr;
+ public:
+       GEN_HashedPtr(void* val) : m_valptr(val) {};
+-      unsigned int hash() const { return GEN_Hash((unsigned int) m_valptr);};
++      unsigned int hash() const { return GEN_Hash((unsigned int)((unsigned long) m_valptr & 0x00000000FFFFFFFF));};
+       inline friend bool operator ==(const GEN_HashedPtr & rhs, const GEN_HashedPtr & lhs) { return rhs.m_valptr == lhs.m_valptr;};
+ };
+