[45760] trunk/dports/graphics/dcmtk
macsforever2000 at macports.org
macsforever2000 at macports.org
Wed Jan 21 06:34:28 PST 2009
Revision: 45760
http://trac.macports.org/changeset/45760
Author: macsforever2000 at macports.org
Date: 2009-01-21 06:34:28 -0800 (Wed, 21 Jan 2009)
Log Message:
-----------
Maintainer update to patch level 2. (#18119)
Modified Paths:
--------------
trunk/dports/graphics/dcmtk/Portfile
Added Paths:
-----------
trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-findscu.cc.diff
trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-movescu.cc.diff
Modified: trunk/dports/graphics/dcmtk/Portfile
===================================================================
--- trunk/dports/graphics/dcmtk/Portfile 2009-01-21 14:21:27 UTC (rev 45759)
+++ trunk/dports/graphics/dcmtk/Portfile 2009-01-21 14:34:28 UTC (rev 45760)
@@ -3,10 +3,11 @@
PortSystem 1.0
name dcmtk
-version 3.5.4
+version 3.5.4_p2
categories graphics
platforms darwin
-maintainers uni-koblenz.de:guidolorenz
+maintainers uni-koblenz.de:guidolorenz \
+ openmaintainer
description The DICOM Toolkit.
long_description DCMTK is a collection of libraries and applications implementing \
large parts of the DICOM standard. It includes software for examining, \
@@ -16,7 +17,10 @@
homepage http://dicom.offis.de/dcmtk
-master_sites ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/
+master_sites ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/ \
+ http://dicom.offis.de/download/dcmtk/dcmtk354/
+distname dcmtk-3.5.4
+
checksums md5 0afd971cdf976a5b336722ef2f68e6d7 \
sha1 169056874947083e68eb941fcd53faaebc862ae5 \
rmd160 d1558c9c68e53e0ea3b080fd2fb50b9d8e30eeba
@@ -25,13 +29,17 @@
port:tiff \
port:libpng \
port:libxml2
-
+
destroot.target-append install-lib
+# Apply changes made in ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk354/patch/dcmtk-3.5.4_p2.tar.gz
+patchfiles patch-dcmnet-apps-findscu.cc.diff \
+ patch-dcmnet-apps-movescu.cc.diff
+
platform darwin 9 {
# See http://forum.dcmtk.org/viewtopic.php?t=1372
- patchfiles patch-config-configure.in.diff
+ patchfiles-append patch-config-configure.in.diff
post-patch {
# Usually, we would system "cd ${worksrcpath}/config && ./autoall" here, but due to a
Added: trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-findscu.cc.diff
===================================================================
--- trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-findscu.cc.diff (rev 0)
+++ trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-findscu.cc.diff 2009-01-21 14:34:28 UTC (rev 45760)
@@ -0,0 +1,132 @@
+--- dcmnet/apps/findscu.cc.orig 2005-12-08 16:44:19.000000000 +0100
++++ dcmnet/apps/findscu.cc 2007-10-19 12:22:32.000000000 +0200
+@@ -21,10 +21,10 @@
+ *
+ * Purpose: Query/Retrieve Service Class User (C-FIND operation)
+ *
+- * Last Update: $Author: meichel $
+- * Update Date: $Date: 2005/12/08 15:44:19 $
++ * Last Update: $Author: onken $
++ * Update Date: $Date: 2006/01/17 15:38:50 $
+ * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmnet/apps/findscu.cc,v $
+- * CVS/RCS Revision: $Revision: 1.47 $
++ * CVS/RCS Revision: $Revision: 1.48 $
+ * Status: $State: Exp $
+ *
+ * CVS/RCS Log at end of file
+@@ -111,7 +111,6 @@
+ fprintf(stderr, "\n");
+ }
+
+-
+ static void
+ addOverrideKey(OFConsoleApplication& app, const char* s)
+ {
+@@ -119,18 +118,29 @@
+ unsigned int e = 0xffff;
+ int n = 0;
+ char val[1024];
++ OFString dicName, valStr;
+ OFString msg;
+ char msg2[200];
+-
+ val[0] = '\0';
++
+ // try to parse group and element number
+ n = sscanf(s, "%x,%x=%s", &g, &e, val);
+-
+- if (n != 2) {
+- // not a group-element pair, try to lookup in dictionary
++ OFString toParse = s;
++ size_t eqPos = toParse.find('=');
++ if (n < 2) // if at least no tag could be parsed
++ {
++ // if value is given, extract it (and extrect dictname)
++ if (eqPos != OFString_npos)
++ {
++ dicName = toParse.substr(0,eqPos).c_str();
++ valStr = toParse.substr(eqPos+1,toParse.length());
++ }
++ else // no value given, just dictionary name
++ dicName = s; // only dictionary name given (without value)
++ // try to lookup in dictionary
+ DcmTagKey key(0xffff,0xffff);
+ const DcmDataDictionary& globalDataDict = dcmDataDict.rdlock();
+- const DcmDictEntry *dicent = globalDataDict.findEntry(s);
++ const DcmDictEntry *dicent = globalDataDict.findEntry(dicName.c_str());
+ dcmDataDict.unlock();
+ if (dicent!=NULL) {
+ // found dictionary name, copy group and element number
+@@ -141,24 +151,15 @@
+ else {
+ // not found in dictionary
+ msg = "bad key format or dictionary name not found in dictionary: ";
+- msg += s;
++ msg += dicName;
+ app.printError(msg.c_str());
+ }
+- }
+- const char* spos = s;
+- char ccc;
+- do
++ } // tag could be parsed, copy value if it exists
++ else
+ {
+- ccc = *spos;
+- if (ccc == '=') break;
+- if (ccc == 0) { spos = NULL; break; }
+- spos++;
+- } while(1);
+-
+- if (spos && *(spos+1)) {
+- strcpy(val, spos+1);
++ if (eqPos != OFString_npos)
++ valStr = toParse.substr(eqPos+1,toParse.length());
+ }
+-
+ DcmTag tag(g,e);
+ if (tag.error() != EC_Normal) {
+ sprintf(msg2, "unknown tag: (%04x,%04x)", g, e);
+@@ -169,26 +170,25 @@
+ sprintf(msg2, "cannot create element for tag: (%04x,%04x)", g, e);
+ app.printError(msg2);
+ }
+- if (strlen(val) > 0) {
+- elem->putString(val);
+- if (elem->error() != EC_Normal)
++ if (valStr.length() > 0) {
++ if (elem->putString(valStr.c_str()).bad())
+ {
+ sprintf(msg2, "cannot put tag value: (%04x,%04x)=\"", g, e);
+ msg = msg2;
+- msg += val;
++ msg += valStr;
+ msg += "\"";
+ app.printError(msg.c_str());
+ }
+ }
+
+ if (overrideKeys == NULL) overrideKeys = new DcmDataset;
+- overrideKeys->insert(elem, OFTrue);
+- if (overrideKeys->error() != EC_Normal) {
++ if (overrideKeys->insert(elem, OFTrue).bad()) {
+ sprintf(msg2, "cannot insert tag: (%04x,%04x)", g, e);
+ app.printError(msg2);
+ }
+ }
+
++
+ static OFCondition addPresentationContext(T_ASC_Parameters *params);
+
+ static OFCondition
+@@ -1164,6 +1164,10 @@
+ /*
+ ** CVS Log
+ ** $Log: findscu.cc,v $
++** Revision 1.48 2006/01/17 15:38:50 onken
++** Fixed "--key" option, which was broken when using the optional assignment ("=")
++** operation inside the option value
++**
+ ** Revision 1.47 2005/12/08 15:44:19 meichel
+ ** Changed include path schema for all DCMTK header files
+ **
Added: trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-movescu.cc.diff
===================================================================
--- trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-movescu.cc.diff (rev 0)
+++ trunk/dports/graphics/dcmtk/files/patch-dcmnet-apps-movescu.cc.diff 2009-01-21 14:34:28 UTC (rev 45760)
@@ -0,0 +1,121 @@
+--- dcmnet/apps/movescu.cc.orig 2005-12-08 16:44:20.000000000 +0100
++++ dcmnet/apps/movescu.cc 2007-10-19 12:59:25.000000000 +0200
+@@ -21,10 +21,10 @@
+ *
+ * Purpose: Query/Retrieve Service Class User (C-MOVE operation)
+ *
+- * Last Update: $Author: meichel $
+- * Update Date: $Date: 2005/12/08 15:44:20 $
++ * Last Update: $Author: onken $
++ * Update Date: $Date: 2006/01/17 15:38:50 $
+ * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmnet/apps/movescu.cc,v $
+- * CVS/RCS Revision: $Revision: 1.59 $
++ * CVS/RCS Revision: $Revision: 1.60 $
+ * Status: $State: Exp $
+ *
+ * CVS/RCS Log at end of file
+@@ -148,17 +148,29 @@
+ unsigned int e = 0xffff;
+ int n = 0;
+ char val[1024];
++ OFString dicName, valStr;
+ OFString msg;
+ char msg2[200];
+-
+ val[0] = '\0';
+- n = sscanf(s, "%x,%x=%s", &g, &e, val);
+
+- if (n != 2) {
+- // not a group-element pair, try to lookup in dictionary
++ // try to parse group and element number
++ n = sscanf(s, "%x,%x=%s", &g, &e, val);
++ OFString toParse = s;
++ size_t eqPos = toParse.find('=');
++ if (n < 2) // if at least no tag could be parsed
++ {
++ // if value is given, extract it (and extrect dictname)
++ if (eqPos != OFString_npos)
++ {
++ dicName = toParse.substr(0,eqPos).c_str();
++ valStr = toParse.substr(eqPos+1,toParse.length());
++ }
++ else // no value given, just dictionary name
++ dicName = s; // only dictionary name given (without value)
++ // try to lookup in dictionary
+ DcmTagKey key(0xffff,0xffff);
+ const DcmDataDictionary& globalDataDict = dcmDataDict.rdlock();
+- const DcmDictEntry *dicent = globalDataDict.findEntry(s);
++ const DcmDictEntry *dicent = globalDataDict.findEntry(dicName.c_str());
+ dcmDataDict.unlock();
+ if (dicent!=NULL) {
+ // found dictionary name, copy group and element number
+@@ -168,25 +180,16 @@
+ }
+ else {
+ // not found in dictionary
+- msg = "bad key format or key not found in dictionary: ";
+- msg += s;
++ msg = "bad key format or dictionary name not found in dictionary: ";
++ msg += dicName;
+ app.printError(msg.c_str());
+ }
++ } // tag could be parsed, copy value if it exists
++ else
++ {
++ if (eqPos != OFString_npos)
++ valStr = toParse.substr(eqPos+1,toParse.length());
+ }
+- const char* spos = s;
+- char ccc;
+- do
+- {
+- ccc = *spos;
+- if (ccc == '=') break;
+- if (ccc == 0) { spos = NULL; break; }
+- spos++;
+- } while(1);
+-
+- if (spos && *(spos+1)) {
+- strcpy(val, spos+1);
+- }
+-
+ DcmTag tag(g,e);
+ if (tag.error() != EC_Normal) {
+ sprintf(msg2, "unknown tag: (%04x,%04x)", g, e);
+@@ -197,21 +200,19 @@
+ sprintf(msg2, "cannot create element for tag: (%04x,%04x)", g, e);
+ app.printError(msg2);
+ }
+- if (strlen(val) > 0) {
+- elem->putString(val);
+- if (elem->error() != EC_Normal)
++ if (valStr.length() > 0) {
++ if (elem->putString(valStr.c_str()).bad())
+ {
+ sprintf(msg2, "cannot put tag value: (%04x,%04x)=\"", g, e);
+ msg = msg2;
+- msg += val;
++ msg += valStr;
+ msg += "\"";
+ app.printError(msg.c_str());
+ }
+ }
+
+ if (overrideKeys == NULL) overrideKeys = new DcmDataset;
+- overrideKeys->insert(elem, OFTrue);
+- if (overrideKeys->error() != EC_Normal) {
++ if (overrideKeys->insert(elem, OFTrue).bad()) {
+ sprintf(msg2, "cannot insert tag: (%04x,%04x)", g, e);
+ app.printError(msg2);
+ }
+@@ -1407,6 +1408,10 @@
+ ** CVS Log
+ **
+ ** $Log: movescu.cc,v $
++** Revision 1.60 2006/01/17 15:38:50 onken
++** Fixed "--key" option, which was broken when using the optional assignment ("=")
++** operation inside the option value
++**
+ ** Revision 1.59 2005/12/08 15:44:20 meichel
+ ** Changed include path schema for all DCMTK header files
+ **
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090121/705399f8/attachment.html>
More information about the macports-changes
mailing list