I'm going to upload an NMU to break the dependency on libxerces-c2-dev
so this doesn't prevent my removal request from going through.  There
are two additional FTBFS problems that are also addressed by my NMU.
Since this package has not been uploaded for a while and is not in
testing, and since this upload fixes two RC bugs, I'm going to upload
the NMU immediately.  The debdiff is attached.  All the changes except
for the change to debian/control come from upstream svn.

diff -Nru clam-1.4.0/debian/changelog clam-1.4.0/debian/changelog
--- clam-1.4.0/debian/changelog	2012-05-29 00:48:54.000000000 -0400
+++ clam-1.4.0/debian/changelog	2014-02-15 17:27:09.000000000 -0500
@@ -1,3 +1,12 @@
+clam (1.4.0-5.2) unstable; urgency=low
+
+  * Non maintainer upload
+  * Fix FTBFS: TIME_UTC compilation error (Closes: #701257)
+  * Fix FTBFS: gcc 4.8 template expansion error
+  * Support Xerces C 3 (Closes: #733071)
+
+ -- Jay Berkenbilt <q...@debian.org>  Sat, 15 Feb 2014 17:27:09 -0500
+
 clam (1.4.0-5.1) unstable; urgency=low
 
   * Non maintainer upload
diff -Nru clam-1.4.0/debian/control clam-1.4.0/debian/control
--- clam-1.4.0/debian/control	2011-05-16 19:58:16.000000000 -0400
+++ clam-1.4.0/debian/control	2014-02-15 17:24:45.000000000 -0500
@@ -7,7 +7,7 @@
 	libasound2-dev,
 	libjack-dev,
 	libfftw3-dev,
-	libxerces-c2-dev,
+	libxerces-c-dev,
 	ladspa-sdk,
 	libogg-dev,
 	libsndfile1-dev,
diff -Nru clam-1.4.0/debian/patches/gcc48.patch clam-1.4.0/debian/patches/gcc48.patch
--- clam-1.4.0/debian/patches/gcc48.patch	1969-12-31 19:00:00.000000000 -0500
+++ clam-1.4.0/debian/patches/gcc48.patch	2014-02-15 17:32:04.000000000 -0500
@@ -0,0 +1,16 @@
+Description: support Xerces-c 3
+Origin: upstream
+        svn diff -c15306
+
+Index: clam-1.4.0/src/Flow/Ports/OutPort.hxx
+===================================================================
+--- clam-1.4.0.orig/src/Flow/Ports/OutPort.hxx	2014-02-15 16:36:01.654895560 -0500
++++ clam-1.4.0/src/Flow/Ports/OutPort.hxx	2014-02-15 17:15:31.955139980 -0500
+@@ -28,6 +28,7 @@
+ #include <string>
+ #include "InPort.hxx"
+ #include "InPortPublisher.hxx"
++#include "TypeInfo.hxx"
+ 
+ namespace CLAM
+ {
diff -Nru clam-1.4.0/debian/patches/series clam-1.4.0/debian/patches/series
--- clam-1.4.0/debian/patches/series	2011-05-16 19:58:16.000000000 -0400
+++ clam-1.4.0/debian/patches/series	2014-02-15 17:27:48.000000000 -0500
@@ -1 +1,4 @@
 ftbfs_NULL
+gcc48.patch
+time_utc.patch
+xerces-c-3.patch
diff -Nru clam-1.4.0/debian/patches/time_utc.patch clam-1.4.0/debian/patches/time_utc.patch
--- clam-1.4.0/debian/patches/time_utc.patch	1969-12-31 19:00:00.000000000 -0500
+++ clam-1.4.0/debian/patches/time_utc.patch	2014-02-15 17:31:08.000000000 -0500
@@ -0,0 +1,21 @@
+Description: fix FTBFS with TIME_UTC difinition
+Origin: upstream
+        svn diff -r 15397:15398
+Bug-Debian: http://bugs.debian.org/701257
+
+Index: clam-1.4.0/src/System/Threads/xtime.hxx
+===================================================================
+--- clam-1.4.0.orig/src/System/Threads/xtime.hxx	2014-02-15 17:00:47.975907239 -0500
++++ clam-1.4.0/src/System/Threads/xtime.hxx	2014-02-15 17:02:27.892272416 -0500
+@@ -30,6 +30,11 @@
+ #endif
+ #include <pthread.h>
+ 
++// KLUDGE: C11 defines TIME_UTC as macro in time.h
++#ifdef TIME_UTC
++#undef TIME_UTC
++#endif
++
+ namespace CLAM
+ {
+ 
diff -Nru clam-1.4.0/debian/patches/xerces-c-3.patch clam-1.4.0/debian/patches/xerces-c-3.patch
--- clam-1.4.0/debian/patches/xerces-c-3.patch	1969-12-31 19:00:00.000000000 -0500
+++ clam-1.4.0/debian/patches/xerces-c-3.patch	2014-02-15 17:31:50.000000000 -0500
@@ -0,0 +1,64 @@
+Description: support Xerces-c 3
+Origin: upstream
+        svn diff -c14272
+Bug-Debian: http://bugs.debian.org/733071
+
+Index: clam-1.4.0/src/Storage/XML/XercesDomWriter.cxx
+===================================================================
+--- clam-1.4.0.orig/src/Storage/XML/XercesDomWriter.cxx	2014-02-15 16:36:34.074990685 -0500
++++ clam-1.4.0/src/Storage/XML/XercesDomWriter.cxx	2014-02-15 17:00:40.499879918 -0500
+@@ -26,7 +26,8 @@
+ #include <xercesc/dom/DOMImplementation.hpp>
+ #include <xercesc/dom/DOMImplementationLS.hpp>
+ #include <xercesc/dom/DOMImplementationRegistry.hpp>
+-#include <xercesc/dom/DOMWriter.hpp>
++#include <xercesc/dom/DOMLSSerializer.hpp>
++#include <xercesc/dom/DOMLSOutput.hpp>
+ #include <xercesc/framework/MemBufFormatTarget.hpp>
+ #include <string>
+ #include <sstream>
+@@ -38,23 +39,30 @@
+ 		XercesInitializer::require();
+ 		const XMLCh * propertyCanonical = xercesc::XMLUni::fgDOMWRTCanonicalForm;
+ 		const XMLCh * propertyPrettyPrint = xercesc::XMLUni::fgDOMWRTFormatPrettyPrint;
+-		xercesc::DOMImplementation *impl = 
++		xercesc::DOMImplementationLS *impl = 
++			(xercesc::DOMImplementationLS*)
+ 			xercesc::DOMImplementationRegistry::getDOMImplementation(U("LS"));
+-		xercesc::DOMWriter *xercesWriter = 
+-			((xercesc::DOMImplementationLS*)impl)->createDOMWriter();
++		xercesc::DOMLSSerializer *serializer = impl->createLSSerializer();
++		xercesc::DOMLSOutput     *output     = impl->createLSOutput();
+ 
+-		if (xercesWriter->canSetFeature(propertyPrettyPrint, mShouldIndent))
+-			xercesWriter->setFeature(propertyPrettyPrint, mShouldIndent);
+-		if (xercesWriter->canSetFeature(propertyCanonical, mShouldCanonicalize))
+-			xercesWriter->setFeature(propertyCanonical, mShouldCanonicalize);
+-
+-		xercesc::MemBufFormatTarget * xercesTarget = new xercesc::MemBufFormatTarget();
+-		xercesWriter->writeNode(xercesTarget, *node);
+-		const char * buffer = (char *) xercesTarget->getRawBuffer();
+-		const unsigned bufferLen = xercesTarget->getLen();
++		output->setEncoding(U("UTF-8"));
++
++		xercesc::DOMConfiguration* serializerConfig = serializer->getDomConfig();
++
++		if (serializerConfig->canSetParameter(propertyPrettyPrint, mShouldIndent))
++			serializerConfig->setParameter(propertyPrettyPrint, mShouldIndent);
++		if (serializerConfig->canSetParameter(propertyCanonical, mShouldCanonicalize))
++			serializerConfig->setParameter(propertyCanonical, mShouldCanonicalize);
++
++		xercesc::MemBufFormatTarget formatTarget;
++		output->setByteStream(&formatTarget);
++		serializer->write(node, output);
++
++		const char * buffer = (char *) formatTarget.getRawBuffer();
++		const unsigned bufferLen = formatTarget.getLen();
+ 		target << std::string(buffer,bufferLen);
+-		delete xercesWriter;
+-		delete xercesTarget;
++		serializer->release();
++		output->release();
+ 	}
+ 
+ }
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to