Revision: 74013 http://trac.macports.org/changeset/74013 Author: jmr@macports.org Date: 2010-12-01 20:25:31 -0800 (Wed, 01 Dec 2010) Log Message: ----------- inventor: fix build failure due to missing class declaration (#23820) and 64-bit build problems (#21221) Modified Paths: -------------- trunk/dports/devel/inventor/Portfile Added Paths: ----------- trunk/dports/devel/inventor/files/patch-LP64.diff trunk/dports/devel/inventor/files/patch-SoGLwDrawA.c.diff trunk/dports/devel/inventor/files/patch-SoPath.h.diff Modified: trunk/dports/devel/inventor/Portfile =================================================================== --- trunk/dports/devel/inventor/Portfile 2010-12-02 00:31:09 UTC (rev 74012) +++ trunk/dports/devel/inventor/Portfile 2010-12-02 04:25:31 UTC (rev 74013) @@ -56,7 +56,10 @@ patch-revo-GNUmakefile.diff \ patch-soxt-GNUmakefile.diff \ patch-textomatic-GNUmakefile.diff \ - patch-widgets-GNUmakefile.componentTest.diff + patch-widgets-GNUmakefile.componentTest.diff \ + patch-SoPath.h.diff \ + patch-SoGLwDrawA.c.diff \ + patch-LP64.diff post-patch { reinplace "s|__PREFIX__|${prefix}|" ${worksrcpath}/make/ivcommondefs Added: trunk/dports/devel/inventor/files/patch-LP64.diff =================================================================== --- trunk/dports/devel/inventor/files/patch-LP64.diff (rev 0) +++ trunk/dports/devel/inventor/files/patch-LP64.diff 2010-12-02 04:25:31 UTC (rev 74013) @@ -0,0 +1,260 @@ +--- lib/database/src/sb/SbTime.c++.orig 2003-07-12 08:40:53.000000000 +1000 ++++ lib/database/src/sb/SbTime.c++ 2010-12-02 13:42:27.000000000 +1100 +@@ -190,52 +190,52 @@ SbTime::format(const char *fmt) const + + case 'D': + if (negative) *s++ = '-'; +- s += sprintf(s, "%ld", tday); ++ s += sprintf(s, "%d", tday); + break; + + case 'H': + if (negative) *s++ = '-'; +- s += sprintf(s, "%ld", thour); ++ s += sprintf(s, "%d", thour); + break; + + case 'M': + if (negative) *s++ = '-'; +- s += sprintf(s, "%ld", tmin); ++ s += sprintf(s, "%d", tmin); + break; + + case 'S': + if (negative) *s++ = '-'; +- s += sprintf(s, "%ld", tsec); ++ s += sprintf(s, "%d", tsec); + break; + + case 'I': + if (negative) *s++ = '-'; +- s += sprintf(s, "%ld", tmilli); ++ s += sprintf(s, "%d", tmilli); + break; + + case 'U': + if (negative) *s++ = '-'; +- s += sprintf(s, "%ld", tmicro); ++ s += sprintf(s, "%d", tmicro); + break; + + case 'h': +- s += sprintf(s, "%.2ld", rhour); ++ s += sprintf(s, "%.2d", rhour); + break; + + case 'm': +- s += sprintf(s, "%.2ld", rmin); ++ s += sprintf(s, "%.2d", rmin); + break; + + case 's': +- s += sprintf(s, "%.2ld", rsec); ++ s += sprintf(s, "%.2d", rsec); + break; + + case 'i': +- s += sprintf(s, "%.3ld", rmilli); ++ s += sprintf(s, "%.3d", rmilli); + break; + + case 'u': +- s += sprintf(s, "%.6ld", rmicro); ++ s += sprintf(s, "%.6d", rmicro); + break; + + default: +--- lib/database/src/so/SoBase.c++.orig 2000-08-15 22:56:17.000000000 +1000 ++++ lib/database/src/so/SoBase.c++ 2010-12-02 13:58:54.000000000 +1100 +@@ -994,7 +994,7 @@ SoBase::writeAnnotation(SoOutput *out) c + out->write(" #"); + if (out->getAnnotation() & SoOutput::ADDRESSES) { + char buf[100]; +- sprintf(buf, " %#x", this); ++ sprintf(buf, " %p", this); + out->write(buf); + } + if (out->getAnnotation() & SoOutput::REF_COUNTS +--- lib/database/src/so/SoNotification.c++.orig 2000-08-15 22:56:17.000000000 +1000 ++++ lib/database/src/so/SoNotification.c++ 2010-12-02 14:01:28.000000000 +1100 +@@ -98,7 +98,7 @@ SoNotRec::print(FILE *fp) const + if (fp == NULL) + fp = stdout; + +- fprintf(fp, "\tSoNotRec @%#x: type %s, base %#x", this, typeName, base); ++ fprintf(fp, "\tSoNotRec @%p: type %s, base %p", this, typeName, base); + + if (base != NULL) { + const char *baseTypeName = base->getTypeId().getName().getString(); +@@ -199,6 +199,6 @@ SoNotList::print(FILE *fp) const + rec = rec->getPrevious(); + } while (rec != NULL); + +- fprintf(fp, "\tfirstAtNode = %#x, lastField = %#x\n", ++ fprintf(fp, "\tfirstAtNode = %p, lastField = %p\n", + firstAtNode, lastField); + } +--- lib/database/src/so/SoType.c++.orig 2003-07-12 08:40:53.000000000 +1000 ++++ lib/database/src/so/SoType.c++ 2010-12-02 14:22:46.000000000 +1100 +@@ -331,7 +331,7 @@ SoType::fromName(SbName name) + if (b == NULL) + return SoType::badType(); + +-#if (_MIPS_SZPTR == 64 || __ia64) ++#if (_MIPS_SZPTR == 64 || __ia64 || __LP64__) + SoType result = typeData[(int) ((unsigned long) b)].type; + #else + SoType result = typeData[(int)b].type; +--- lib/database/src/so/SoOutput.c++.orig 2001-09-25 10:45:35.000000000 +1000 ++++ lib/database/src/so/SoOutput.c++ 2010-12-02 14:27:05.000000000 +1100 +@@ -878,7 +878,7 @@ SoOutput::write(short s) + //////////////////////////////////////////////////////////////////////// + { + int32_t l = (int32_t)s; +- WRITE_NUM(l, "%ld", convertInt32, int32_t); ++ WRITE_NUM(l, "%d", convertInt32, int32_t); + } + + //////////////////////////////////////////////////////////////////////// +@@ -894,7 +894,7 @@ SoOutput::write(unsigned short s) + //////////////////////////////////////////////////////////////////////// + { + uint32_t l = (uint32_t)s; +- WRITE_NUM(l, "%#lx", convertInt32, int32_t); ++ WRITE_NUM(l, "%#x", convertInt32, int32_t); + } + + //////////////////////////////////////////////////////////////////////// +@@ -1462,7 +1462,7 @@ SoOutput::findReference(const SoBase *ba + + // Generates a CC warning. Ho hum. + if (refDict->find((unsigned long) base, ref)) +-#if (_MIPS_SZPTR == 64 || __ia64) ++#if (_MIPS_SZPTR == 64 || __ia64 || __LP64__) + referenceId = (int) ((unsigned long) ref); + #else + referenceId = (int)ref; +--- lib/database/src/so/SoTranscribe.c++.orig 2000-08-15 22:56:17.000000000 +1000 ++++ lib/database/src/so/SoTranscribe.c++ 2010-12-02 14:29:37.000000000 +1100 +@@ -270,7 +270,7 @@ SoTranSender::addNodeRef(const SoNode *n + // Convert the node pointer to a string + char s[16]; + +- sprintf(s, "%#x", node); ++ sprintf(s, "%p", node); + + out->write(s); + +@@ -364,7 +364,7 @@ SoTranReceiver::SoTranReceiver(SoGroup * + + // Add root to dictionaries with name for NULL, since that is how + // the root is referred to. +- sprintf(s, "%#x", NULL); ++ sprintf(s, "%p", (void *)NULL); + SbName name(s); + addEntry(rootNode, name); + +--- lib/interaction/src/draggers/SoDragger.c++.orig 2001-09-25 10:45:44.000000000 +1000 ++++ lib/interaction/src/draggers/SoDragger.c++ 2010-12-02 14:36:44.000000000 +1100 +@@ -686,7 +686,7 @@ SoDragger::isTempPathToThisOk() + int indexInPath = tempPathToThis->getIndex(numFmHead+1); + + int numKidsNow = children->getLength(); +-#if (_MIPS_SZPTR == 64 || __ia64) ++#if (_MIPS_SZPTR == 64 || __ia64 || __LP64__) + int numKidsBefore = (int) ((long) (*tempPathNumKidsHack)[numFmHead]); + #else + int numKidsBefore = (int) (*tempPathNumKidsHack)[numFmHead]; +--- lib/database/src/so/errors/SoError.c++.orig 2000-08-15 22:56:19.000000000 +1000 ++++ lib/database/src/so/errors/SoError.c++ 2010-12-02 14:39:51.000000000 +1100 +@@ -264,7 +264,7 @@ SoError::getBaseString(const SoBase *bas + str += "\""; + } + +- sprintf(addrBuf, "%#x", base); ++ sprintf(addrBuf, "%p", base); + str += " at address "; + str += addrBuf; + +--- lib/database/src/so/fields/SoField.c++.orig 2000-08-23 16:07:30.000000000 +1000 ++++ lib/database/src/so/fields/SoField.c++ 2010-12-02 14:42:48.000000000 +1100 +@@ -1626,7 +1626,7 @@ SoField::write(SoOutput *out, const SbNa + // Annotate if necessary + if (out->getAnnotation() & SoOutput::ADDRESSES) { + char buf[100]; +- sprintf(buf, " # %#x", this); ++ sprintf(buf, " # %p", this); + out->write(buf); + } + out->write(out->isCompact() ? ' ' : '\n'); +@@ -1694,7 +1694,7 @@ SoField::writeConnection(SoOutput *out) + out->write(CONNECTION_CHAR); + if (out->getAnnotation()&SoOutput::ADDRESSES) { + char buf[100]; +- sprintf(buf, " # %#x", this); ++ sprintf(buf, " # %p", this); + out->write(buf); + } + out->write('\n'); +@@ -1731,7 +1731,7 @@ SoField::writeConnection(SoOutput *out) + getConnectedField(f); + ptr = f; + } +- sprintf(buf, " # %#x", ptr); ++ sprintf(buf, " # %p", ptr); + out->write(buf); + } + +--- lib/nodekits/src/nodekits/SoNkCatalog.c++.orig 2001-09-25 10:45:46.000000000 +1000 ++++ lib/nodekits/src/nodekits/SoNkCatalog.c++ 2010-12-02 14:56:15.000000000 +1100 +@@ -251,7 +251,7 @@ SoNodekitCatalogEntry::printCheck() cons + if ( listPart ) { + fprintf( stdout, "listItemTypes = " ); + for ( int i = 0; i < listItemTypes.getLength(); i++ ) { +- fprintf( stdout," %d ", listItemTypes[i].getName().getString() ); ++ fprintf( stdout," %ld ", (long)listItemTypes[i].getName().getString() ); + } + fprintf( stdout, "\n" ); + } +@@ -336,7 +336,7 @@ SoNodekitCatalog::getPartNumber( const S + void *castPNum; + + if ( partNameDict.find( (unsigned long) theName.getString(), castPNum ) ) +-#if (_MIPS_SZPTR == 64 || __ia64) ++#if (_MIPS_SZPTR == 64 || __ia64 || __LP64__) + return ( (int) ((long) castPNum) ); // System long + #else + return ( (int) castPNum ); +--- lib/nodekits/src/upgraders/SoV1NkCatalog.c++.orig 2001-09-25 10:45:47.000000000 +1000 ++++ lib/nodekits/src/upgraders/SoV1NkCatalog.c++ 2010-12-02 15:02:24.000000000 +1100 +@@ -119,8 +119,8 @@ SoV1NodekitCatalogEntry::printCheck() co + if ( listPart ) { + fprintf( stdout, "listItemTypes = " ); + for ( int i = 0; i < listItemTypes.getLength(); i++ ) { +- fprintf( stdout," %d ", +- ((SoType *) listItemTypes[i])->getName().getString() ); ++ fprintf( stdout," %ld ", ++ (long)((SoType *) listItemTypes[i])->getName().getString() ); + } + fprintf( stdout, "\n" ); + } +@@ -330,7 +330,7 @@ SoV1NodekitCatalog::getPartNumber( const + void *castPNum; + + if ( partNameDict.find( (unsigned long) theName.getString(), castPNum ) ) +-#if (_MIPS_SZPTR == 64 || __ia64) ++#if (_MIPS_SZPTR == 64 || __ia64 || __LP64__) + return ( (int) ((long) castPNum) ); // System long + #else + return ( (int) castPNum ); +--- libSoXt/src/SoXtRsrc.c++.orig 2001-09-25 10:45:48.000000000 +1000 ++++ libSoXt/src/SoXtRsrc.c++ 2010-12-02 15:08:32.000000000 +1100 +@@ -145,7 +145,7 @@ SoXtResource::SoXtResource(Widget widget + classList = new XrmQuark[listSize]; + for (q = 0, s = len - 1; + s >= 0; q++, s--) { +-#if (_MIPS_SZPTR == 64 || __ia64) ++#if (_MIPS_SZPTR == 64 || __ia64 || __LP64__) + nameList[q] = (XrmQuark) ((long) nameplist[s]); + classList[q] = (XrmQuark) ((long) classplist[s]); + #else Added: trunk/dports/devel/inventor/files/patch-SoGLwDrawA.c.diff =================================================================== --- trunk/dports/devel/inventor/files/patch-SoGLwDrawA.c.diff (rev 0) +++ trunk/dports/devel/inventor/files/patch-SoGLwDrawA.c.diff 2010-12-02 04:25:31 UTC (rev 74013) @@ -0,0 +1,10 @@ +--- libSoXt/src/SoGLwDrawA.c.orig 2002-03-05 08:19:23.000000000 +1100 ++++ libSoXt/src/SoGLwDrawA.c 2010-12-02 15:14:03.000000000 +1100 +@@ -45,6 +45,7 @@ + #include "SoGLwDrawAP.h" + #endif /* __GLX_MOTIF */ + #include <assert.h> ++#include <stdio.h> + + #ifdef __GLX_MOTIF + /* The MOTIF version differs only in the inclusion of the primitive Added: trunk/dports/devel/inventor/files/patch-SoPath.h.diff =================================================================== --- trunk/dports/devel/inventor/files/patch-SoPath.h.diff (rev 0) +++ trunk/dports/devel/inventor/files/patch-SoPath.h.diff 2010-12-02 04:25:31 UTC (rev 74013) @@ -0,0 +1,10 @@ +--- lib/database/include/Inventor/SoPath.h.orig 2001-09-25 10:45:33.000000000 +1000 ++++ lib/database/include/Inventor/SoPath.h 2010-12-02 14:17:34.000000000 +1100 +@@ -79,6 +79,7 @@ + + class SoPathList; + class SoWriteAction; ++class SoTempPath; + + class SoPath : public SoBase { +
participants (1)
-
jmr@macports.org