summaryrefslogtreecommitdiff
path: root/media-libs/cal3d
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/cal3d
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/cal3d')
-rw-r--r--media-libs/cal3d/Manifest9
-rw-r--r--media-libs/cal3d/cal3d-0.11.0-r1.ebuild57
-rw-r--r--media-libs/cal3d/files/cal3d-0.11.0-gcc43.patch10
-rw-r--r--media-libs/cal3d/files/cal3d-0.11.0-gcc6.patch688
-rw-r--r--media-libs/cal3d/files/cal3d-0.11.0-tests.patch11
-rw-r--r--media-libs/cal3d/files/cal3d-0.11.0-verbose.patch11
-rw-r--r--media-libs/cal3d/metadata.xml11
7 files changed, 797 insertions, 0 deletions
diff --git a/media-libs/cal3d/Manifest b/media-libs/cal3d/Manifest
new file mode 100644
index 000000000000..e167fea78a5f
--- /dev/null
+++ b/media-libs/cal3d/Manifest
@@ -0,0 +1,9 @@
+AUX cal3d-0.11.0-gcc43.patch 269 SHA256 8e6d0c2695a2327fad14f653d645393fa8b858db525a8ad3758302a63260b643 SHA512 daf0d3621e20ed47d24270e526ddac8059c2f13da37d7f9f9c4e3edad60ae4d8ab94a132179a42505b5164ce12e37cd96ec77e3128087f73625a53c396d18cda WHIRLPOOL c77cc0efc803459dd82cb9fff2f25f489fc5f77facfc1c85846a4a5cebf38ca441db6b3fd9fdec91a993e074f755bb4c66d9283d0a8e67ad3860ced8b1607b92
+AUX cal3d-0.11.0-gcc6.patch 19938 SHA256 e1ebdf3dec1c86587c41f19a8bf455221f80aebf917c1fc9bc9f8741380296ba SHA512 6779ff0315b333cc10dde49eea2c84f8c985314618d6188b0dd8be63a195071103cc60f6492a7b5c60f8aef7deb0765fb10ee49c5b666f29d895d1b650476fd7 WHIRLPOOL af5dfe354d8369dec246e1d88fefb36eaa0be75a87e5e1ec314e8c44f7e3373a5b577299033d79c96241618428eec7253a4bcfabbf13462eaf84679dcee6b28e
+AUX cal3d-0.11.0-tests.patch 352 SHA256 6882b3978e780e6dd01766fc92e08c9a1bf9b45476d980da56c3559eca903e2e SHA512 bf605596206935d7882ee878e6fd1bb42e474f2c59f5bb76e8f8f92c606fa7258271eabd14fa30793aee6cb55dd95fb8592ddf7895f513363c22d91d80099857 WHIRLPOOL 47f28471ae235879c834343b9a5875100d85302e3cf79c6d6c53fa953b920100382955e267fe902c006e6f5c3ef86757e9ec39578ae8755c28767566786e1e18
+AUX cal3d-0.11.0-verbose.patch 503 SHA256 993718fcf08b5a2daebd43d76950fb75c4378e16f002d6283f328f41930918e4 SHA512 e0dc8a17b644012f4c291d9ba667ba6c7c8c3f34491f35490ab92573c137d1a6a1d1bf88c846b457a0310aff1aef27eabbf8c92b8477685b5828930f68416793 WHIRLPOOL a363c26bc7df8a456759d4ee90b255b96ee21fbbe00afe23b5f565b72af04fd37cb3048c60ea34eac78838c15a96aec9434a5d4e71c5e7ee01a3538a5f174b93
+DIST cal3d-0.11.0.tar.gz 568532 SHA256 fc4a6fe311004987377ec80b804a04aab44c32085fd974d275aa9d0b14144b06 SHA512 4dc4b36b8f18760bfe6f8c80cbd941c14e2ebe596d0cd514fdb1ae4175bf2706e125665272d67ff21d33bb4b34e7be22bad9c00d488c1da21f442550bf3f204f WHIRLPOOL cf6f1343556a97fe743482d6f34d147c7a68e77daf5f1ca7b4958da4b3cdd3e1c807b4eaaff7c26428e5e999733fc20c82b25ddc7dc56ae6ca58a92b61645457
+EBUILD cal3d-0.11.0-r1.ebuild 1128 SHA256 68ff7fe05627f837fdc9b28e9a03b0aee65669eab85e163f545c54196a17fefe SHA512 bff7599e5a968381e2faf8f7fe338bc4899934e97ab010dd751913d69f793d9e77c1e986e09218aec64adb63fb4cc35de0f315543db31eea9a933b992747b1da WHIRLPOOL 7b6c519e9c1f5b137422a84a850123b7ba16c514af5de104b9c0030c50110edc962d4b98c4dad1087695b37656ffb6e73e5176277f5733694b149ef1dcdb45c0
+MISC ChangeLog 2283 SHA256 315dc869fc5d633afadbfbbe27317a97f159fefc1d0f000226b3bcf7bf9d95cf SHA512 59e676c66a86f32fd145daa15dd102ddb55879317d587721b0bcd011fb838ba0e2013ef3521e22036283a819b1165130b4bb0cebbd34abfbf2b1b3c79c115246 WHIRLPOOL 6b39a981ec6de3500c5116d07cb009e17763ba3e4fd1ccc7a957967b696d0484126b4f56878e2a03c430ebabbe0a3831f34267659c2848e4b557b761cbed440a
+MISC ChangeLog-2015 5140 SHA256 db578c74e2669b6871b391b9da5350685171ac7247617def150318b6922482a0 SHA512 ca8662ffa05787f079728ce4d3900b06f39d054d1498f915fc85516e298197d91b124884b0d199dddd38cfd9b339beb2d835212ad28a2ca7cdcc9f72b9af62b0 WHIRLPOOL 06b22346138544b6d39967d23616671a718d9681cb39eb9639e49c1a934f939e24d4027564bbbaa5447eb098cf43a39bb9694e32d305ee20e9517c60f2e646eb
+MISC metadata.xml 337 SHA256 14fa0aedda489655a15ad31e0dbf94b64dc3f8c995d48a62a064f75122facc3b SHA512 8fe1fe465fde44c700c1c690d1ca08e7eb2a80b69bf2229c3a1cb31cbabef4a89cb6b1b43c67336b87a6ab4eaaa344a7dcf1f43e21e93c2ba608a98d1ffe5b90 WHIRLPOOL 0cd19430282943be72129a9d15f82eb0f2517418a3fbe6be762fc1b252fc1b9a015a72850f5c5f1c16eea3c6e8ffc68b2765d999b6ec14a15c6b8b372a7665e5
diff --git a/media-libs/cal3d/cal3d-0.11.0-r1.ebuild b/media-libs/cal3d/cal3d-0.11.0-r1.ebuild
new file mode 100644
index 000000000000..40c49372639a
--- /dev/null
+++ b/media-libs/cal3d/cal3d-0.11.0-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils autotools
+
+DESCRIPTION="Cal3D is a skeletal based character animation library"
+HOMEPAGE="http://home.gna.org/cal3d"
+SRC_URI="http://download.gna.org/cal3d/sources/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~ia64 ppc x86 ~x86-fbsd"
+IUSE="16bit-indices debug doc"
+
+DEPEND="doc? (
+ app-doc/doxygen
+ app-text/docbook-sgml-utils
+ )"
+RDEPEND=""
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-tests.patch \
+ "${FILESDIR}"/${P}-verbose.patch \
+ "${FILESDIR}"/${P}-gcc6.patch
+ sed -i \
+ -e "s:db2html:docbook2html:g" \
+ configure.in \
+ docs/Makefile.am \
+ || die "sed for doc failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ $(use_enable 16bit-indices)
+}
+
+src_compile() {
+ emake
+ if use doc; then
+ cd docs
+ emake doc-api
+ emake doc-guide
+ mkdir -p html/{guide,api}
+ mv *.{html,gif} html/guide/
+ mv api/html/* html/api/
+ fi
+}
+
+src_install() {
+ default
+ use doc && dohtml -r docs/html/api docs/html/guide
+}
diff --git a/media-libs/cal3d/files/cal3d-0.11.0-gcc43.patch b/media-libs/cal3d/files/cal3d-0.11.0-gcc43.patch
new file mode 100644
index 000000000000..80d73b274742
--- /dev/null
+++ b/media-libs/cal3d/files/cal3d-0.11.0-gcc43.patch
@@ -0,0 +1,10 @@
+--- src/cal3d/platform.h.old 2008-04-27 23:08:41.000000000 +0200
++++ src/cal3d/platform.h 2008-04-27 23:08:56.000000000 +0200
+@@ -77,6 +77,7 @@
+ // standard includes
+ #include <stdlib.h>
+ #include <math.h>
++#include <string.h>
+
+ // debug includes
+ #include <assert.h>
diff --git a/media-libs/cal3d/files/cal3d-0.11.0-gcc6.patch b/media-libs/cal3d/files/cal3d-0.11.0-gcc6.patch
new file mode 100644
index 000000000000..98fc546eace1
--- /dev/null
+++ b/media-libs/cal3d/files/cal3d-0.11.0-gcc6.patch
@@ -0,0 +1,688 @@
+--- cal3d-0.11.0/src/cal3d/loader.cpp.old 2016-09-24 00:58:09.968689367 -0400
++++ cal3d-0.11.0/src/cal3d/loader.cpp 2016-09-24 01:06:54.867068386 -0400
+@@ -886,7 +886,7 @@
+ if(!dataSrc.ok())
+ {
+ dataSrc.setError();
+- return false;
++ return NULL;
+ }
+
+ // allocate a new core keyframe instance
+@@ -1338,13 +1338,13 @@
+ if(stricmp(skeleton->Attribute("MAGIC"),Cal::SKELETON_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(atoi(skeleton->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ skeleton = skeleton->NextSiblingElement();
+@@ -1353,19 +1353,19 @@
+ if(!skeleton || stricmp(skeleton->Value(),"SKELETON")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(skeleton->Attribute("MAGIC")!=NULL && stricmp(skeleton->Attribute("MAGIC"),Cal::SKELETON_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(skeleton->Attribute("VERSION")!=NULL && atoi(skeleton->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+
+@@ -1383,7 +1383,7 @@
+ if(stricmp(bone->Value(),"BONE")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ std::string strName=bone->Attribute("NAME");
+@@ -1395,7 +1395,7 @@
+ if(!translation || stricmp( translation->Value(),"TRANSLATION")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ float tx, ty, tz;
+@@ -1404,13 +1404,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* translationdata = node->ToText();
+ if(!translationdata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << translationdata->Value();
+@@ -1422,7 +1422,7 @@
+ if(!rotation || stricmp(rotation->Value(),"ROTATION")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ float rx, ry, rz, rw;
+@@ -1431,13 +1431,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* rotationdata = node->ToText();
+ if(!rotationdata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << rotationdata->Value();
+@@ -1450,7 +1450,7 @@
+ if(!rotation || stricmp(translationBoneSpace->Value(),"LOCALTRANSLATION")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ float txBoneSpace, tyBoneSpace, tzBoneSpace;
+@@ -1459,13 +1459,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* translationBoneSpacedata = node->ToText();
+ if(!translationBoneSpacedata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << translationBoneSpacedata->Value();
+@@ -1477,7 +1477,7 @@
+ if(!rotationBoneSpace || stricmp(rotationBoneSpace->Value(),"LOCALROTATION")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ float rxBoneSpace, ryBoneSpace, rzBoneSpace, rwBoneSpace;
+@@ -1486,13 +1486,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* rotationBoneSpacedata = node->ToText();
+ if(!rotationBoneSpacedata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << rotationBoneSpacedata->Value();
+@@ -1504,7 +1504,7 @@
+ if(!parent ||stricmp(parent->Value(),"PARENTID")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+
+@@ -1514,13 +1514,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* parentid = node->ToText();
+ if(!parentid)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ parentId = atoi(parentid->Value());
+
+@@ -1566,7 +1566,7 @@
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+ delete pCoreBone;
+- return false;
++ return NULL;
+ }
+
+ TiXmlNode *node= child->FirstChild();
+@@ -1574,14 +1574,14 @@
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+ delete pCoreBone;
+- return false;
++ return NULL;
+ }
+ TiXmlText* childid = node->ToText();
+ if(!childid)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+ delete pCoreBone;
+- return false;
++ return NULL;
+ }
+
+ int childId = atoi(childid->Value());
+@@ -1633,7 +1633,7 @@
+ if(!animation)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(stricmp(animation->Value(),"HEADER")==0)
+@@ -1641,13 +1641,13 @@
+ if(stricmp(animation->Attribute("MAGIC"),Cal::ANIMATION_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(atoi(animation->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ animation = animation->NextSiblingElement();
+@@ -1656,19 +1656,19 @@
+ if(!animation || stricmp(animation->Value(),"ANIMATION")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(animation->Attribute("MAGIC") !=NULL && stricmp(animation->Attribute("MAGIC"),Cal::ANIMATION_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(animation->Attribute("VERSION")!=NULL && atoi(animation->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ int trackCount= atoi(animation->Attribute("NUMTRACKS"));
+@@ -1880,7 +1880,7 @@
+ if(!mesh)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(stricmp(mesh->Value(),"HEADER")==0)
+@@ -1888,13 +1888,13 @@
+ if(stricmp(mesh->Attribute("MAGIC"),Cal::MESH_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(atoi(mesh->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ mesh = mesh->NextSiblingElement();
+@@ -1902,19 +1902,19 @@
+ if(!mesh || stricmp(mesh->Value(),"MESH")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(mesh->Attribute("MAGIC")!=NULL && stricmp(mesh->Attribute("MAGIC"),Cal::MESH_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(mesh->Attribute("VERSION")!=NULL && atoi(mesh->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ // get the number of submeshes
+@@ -1937,7 +1937,7 @@
+ if(!submesh || stricmp(submesh->Value(),"SUBMESH")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ // get the material thread id of the submesh
+@@ -1986,7 +1986,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ CalCoreSubmesh::Vertex Vertex;
+@@ -1996,7 +1996,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ node = pos->FirstChild();
+@@ -2004,14 +2004,14 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* posdata = node->ToText();
+ if(!posdata)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << posdata->Value();
+@@ -2022,7 +2022,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ node = norm->FirstChild();
+@@ -2030,14 +2030,14 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* normdata = node->ToText();
+ if(!normdata)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << normdata->Value();
+@@ -2051,14 +2051,14 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* collapseid = node->ToText();
+ if(!collapseid)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ Vertex.collapseId = atoi(collapseid->Value());
+
+@@ -2067,7 +2067,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ node = collapseCount->FirstChild();
+@@ -2075,14 +2075,14 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* collapseCountdata = node->ToText();
+ if(!collapseCountdata)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ Vertex.faceCollapseCount= atoi(collapseCountdata->Value());
+ collapse = collapseCount->NextSiblingElement();
+@@ -2106,7 +2106,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ node = texcoord->FirstChild();
+@@ -2114,14 +2114,14 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* texcoorddata = node->ToText();
+ if(!texcoorddata)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << texcoorddata->Value();
+@@ -2161,7 +2161,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ node = influence->FirstChild();
+@@ -2169,14 +2169,14 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* influencedata = node->ToText();
+ if(!influencedata)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ Vertex.vectorInfluence[influenceId].boneId = atoi(influence->Attribute("ID"));
+@@ -2202,21 +2202,21 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ node = physique->FirstChild();
+ if(!node)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* physiquedata = node->ToText();
+ if(!physiquedata)
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ physicalProperty.weight = (float) atof(physiquedata->Value());
+@@ -2241,7 +2241,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << spring->Attribute("VERTEXID");
+@@ -2266,7 +2266,7 @@
+ {
+ delete pCoreSubmesh;
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ int tmp[3];
+@@ -2336,7 +2336,7 @@
+ if(!material)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(stricmp(material->Value(),"HEADER")==0)
+@@ -2344,13 +2344,13 @@
+ if(stricmp(material->Attribute("MAGIC"),Cal::MATERIAL_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(atoi(material->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ material = material->NextSiblingElement();
+@@ -2359,19 +2359,19 @@
+ if(!material||stricmp(material->Value(),"MATERIAL")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(material->Attribute("MAGIC")!=NULL && stricmp(material->Attribute("MAGIC"),Cal::MATERIAL_XMLFILE_MAGIC)!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ if(material->Attribute("VERSION") != NULL && atoi(material->Attribute("VERSION")) < Cal::EARLIEST_COMPATIBLE_FILE_VERSION )
+ {
+ CalError::setLastError(CalError::INCOMPATIBLE_FILE_VERSION, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ CalCoreMaterialPtr pCoreMaterial = new CalCoreMaterial();
+@@ -2385,7 +2385,7 @@
+ if(!ambient ||stricmp(ambient->Value(),"AMBIENT")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ CalCoreMaterial::Color ambientColor;
+@@ -2393,13 +2393,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* ambientdata = node->ToText();
+ if(!ambientdata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str << ambientdata->Value();
+ str >> r >> g >> b >> a;
+@@ -2412,7 +2412,7 @@
+ if(!diffuse || stricmp(diffuse->Value(),"DIFFUSE")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ CalCoreMaterial::Color diffuseColor;
+@@ -2420,13 +2420,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* diffusedata = node->ToText();
+ if(!diffusedata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << diffusedata->Value();
+@@ -2441,7 +2441,7 @@
+ if(!specular||stricmp(specular->Value(),"SPECULAR")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ CalCoreMaterial::Color specularColor;
+@@ -2449,13 +2449,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* speculardata = node->ToText();
+ if(!speculardata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ str.clear();
+ str << speculardata->Value();
+@@ -2469,7 +2469,7 @@
+ if(!shininess||stricmp(shininess->Value(),"SHININESS")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ float fshininess;
+@@ -2477,13 +2477,13 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ TiXmlText* shininessdata = node->ToText();
+ if(!shininessdata)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+ fshininess = (float)atof(shininessdata->Value());
+
+@@ -2502,7 +2502,7 @@
+ if(!map||stricmp(map->Value(),"MAP")!=0)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+
+@@ -2510,14 +2510,14 @@
+ if(!node)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ TiXmlText* mapfile = node->ToText();
+ if(!mapfile)
+ {
+ CalError::setLastError(CalError::INVALID_FILE_FORMAT, __FILE__, __LINE__, strFilename);
+- return false;
++ return NULL;
+ }
+
+ MatFileName.push_back(mapfile->Value());
diff --git a/media-libs/cal3d/files/cal3d-0.11.0-tests.patch b/media-libs/cal3d/files/cal3d-0.11.0-tests.patch
new file mode 100644
index 000000000000..3a6754f40155
--- /dev/null
+++ b/media-libs/cal3d/files/cal3d-0.11.0-tests.patch
@@ -0,0 +1,11 @@
+--- tests/Makefile.am.old 2014-10-27 12:14:44.534607920 +0100
++++ tests/Makefile.am 2014-10-27 12:16:00.825891248 +0100
+@@ -14,7 +14,7 @@
+ EXTRA_DIST = \
+ $(wildcard cal3d_converter/base.??f)
+
+-TESTS_ENVIRONMENT = sh ./run
++LOG_COMPILER = sh ./run
+ TESTS = converter/skeleton converter/mesh converter/material converter/animation
+
+ .PHONY: ${TESTS}
diff --git a/media-libs/cal3d/files/cal3d-0.11.0-verbose.patch b/media-libs/cal3d/files/cal3d-0.11.0-verbose.patch
new file mode 100644
index 000000000000..a6dfbd677bff
--- /dev/null
+++ b/media-libs/cal3d/files/cal3d-0.11.0-verbose.patch
@@ -0,0 +1,11 @@
+--- tests/run.in.old 2012-06-29 13:27:55.413765822 +0200
++++ tests/run.in 2012-06-29 13:29:02.092084095 +0200
+@@ -43,7 +43,7 @@
+ exit 1
+ ;;
+ esac
+- $VERBOSE cal3d_converter ${srcdir}/cal3d_converter/base.x$ext
++ : cal3d_converter ${srcdir}/cal3d_converter/base.x$ext
+ ../src/cal3d_converter ${srcdir}/cal3d_converter/base.x$ext base.c$ext
+ ../src/cal3d_converter base.c$ext 01.x$ext
+ ../src/cal3d_converter 01.x$ext 01.c$ext
diff --git a/media-libs/cal3d/metadata.xml b/media-libs/cal3d/metadata.xml
new file mode 100644
index 000000000000..1579cf237e00
--- /dev/null
+++ b/media-libs/cal3d/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Alfredo Tupone</name>
+ </maintainer>
+ <use>
+ <flag name="16bit-indices">Enables use of 16bit indices</flag>
+ </use>
+</pkgmetadata>