New Upstream Snapshot - libkolabxml

Ready changes

Summary

Merged new upstream version: 1.2.1+git20220803.1.27d1927 (was: 1.2.1).

Diff

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b3dfe0a..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-*~
-CMakeFiles
-CMakeCache.txt
-moc_*
-*.moc
-*.pyc
-.*.swp
-.*.kate-swp
-configure
-config.status
-config.log
-Makefile
-Makefile.in
-ChangeLog
-autom4te.cache
-aclocal.m4
-libkolabxml-*.tar.gz
-libkolabxml-*.*/
-libkolabxml.spec
-build
-*kdev4*
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 706373b..715359f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,7 +145,7 @@ set( SCHEMA_SOURCEFILES
 # --generate-inline --extern-xml-schema xml-schema.xsd
 # --cxx-suffix .cpp --hxx-suffix .h   
 add_custom_command(OUTPUT ${SCHEMA_SOURCEFILES}
-    COMMAND ${XSDCXX} cxx-tree --generate-polymorphic --generate-serialization  --namespace-map http://kolab.org=KolabXSD --root-element icalendar --root-element vcards --root-element note --root-element configuration --root-element file --output-dir ${CMAKE_BINARY_DIR}/bindings ${SCHEMAS}
+    COMMAND ${XSDCXX} cxx-tree --std c++11 --generate-polymorphic --generate-serialization  --namespace-map http://kolab.org=KolabXSD --root-element icalendar --root-element vcards --root-element note --root-element configuration --root-element file --output-dir ${CMAKE_BINARY_DIR}/bindings ${SCHEMAS}
     COMMENT "Generating XSD bindings"
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
     DEPENDS ${SCHEMAS}
diff --git a/compiled/XMLParserWrapper.cpp b/compiled/XMLParserWrapper.cpp
index 96e859c..118c8cd 100644
--- a/compiled/XMLParserWrapper.cpp
+++ b/compiled/XMLParserWrapper.cpp
@@ -17,7 +17,7 @@
 
 #include "XMLParserWrapper.h"
 
-#include <memory>   // std::auto_ptr
+#include <memory>   // std::unique_ptr
 #include <fstream>
 #include <iostream>
 
@@ -226,7 +226,7 @@ void XMLParserWrapper::init()
     
 }
 
-xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument > XMLParserWrapper::parseFile(const std::string& url)
+std::unique_ptr< xercesc::DOMDocument > XMLParserWrapper::parseFile(const std::string& url)
 {
     try {
         std::ifstream ifs;
@@ -237,17 +237,17 @@ xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument > XMLParserWrapper::parseFile
     {
         std::cerr << ": unable to open or read failure" << std::endl;
     }
-    return xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument >();
+    return std::unique_ptr< xercesc::DOMDocument >();
 }
 
-xsd::cxx::xml::dom::auto_ptr< xercesc::DOMDocument > XMLParserWrapper::parseString(const std::string& s)
+std::unique_ptr< xercesc::DOMDocument > XMLParserWrapper::parseString(const std::string& s)
 {
     std::istringstream is(s);
     return parse(is, ""); //TODO set identifier?
 }
 
 
-xml_schema::dom::auto_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::istream &ifs, const std::string &name)
+std::unique_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::istream &ifs, const std::string &name)
 {
     using namespace std;
 
@@ -268,9 +268,9 @@ xml_schema::dom::auto_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::ist
             // Parse XML to DOM.
             //
         #if _XERCES_VERSION >= 30000
-            xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap));
+            std::unique_ptr<DOMDocument> doc (parser->parse (&wrap));
         #else
-            xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (wrap));
+            std::unique_ptr<DOMDocument> doc (parser->parse (wrap));
         #endif
 
             eh.throw_if_failed<xml_schema::parsing> ();
@@ -291,5 +291,5 @@ xml_schema::dom::auto_ptr<xercesc::DOMDocument> XMLParserWrapper::parse(std::ist
         cerr << ": unknown exception thrown" << endl;
     }
     eh.reset();
-    return xml_schema::dom::auto_ptr<xercesc::DOMDocument>();
+    return std::unique_ptr<xercesc::DOMDocument>();
 }
diff --git a/compiled/XMLParserWrapper.h b/compiled/XMLParserWrapper.h
index 86a76c1..8297f52 100644
--- a/compiled/XMLParserWrapper.h
+++ b/compiled/XMLParserWrapper.h
@@ -58,9 +58,9 @@ public:
      */
     static XMLParserWrapper &inst();
     
-    xml_schema::dom::auto_ptr<xercesc::DOMDocument> parseFile(const std::string &url);
-    xml_schema::dom::auto_ptr<xercesc::DOMDocument> parseString(const std::string &s);
-    xml_schema::dom::auto_ptr<xercesc::DOMDocument> parse(std::istream &ifs, const std::string &name);
+    std::unique_ptr<xercesc::DOMDocument> parseFile(const std::string &url);
+    std::unique_ptr<xercesc::DOMDocument> parseString(const std::string &s);
+    std::unique_ptr<xercesc::DOMDocument> parse(std::istream &ifs, const std::string &name);
 private:
     void init();
     xsd::cxx::tree::error_handler<char> eh;
diff --git a/compiled/xsdbin.cxx b/compiled/xsdbin.cxx
index 53e2533..2249fe9 100644
--- a/compiled/xsdbin.cxx
+++ b/compiled/xsdbin.cxx
@@ -175,12 +175,12 @@ main (int argc, char* argv[])
   {
     MemoryManager* mm (XMLPlatformUtils::fgMemoryManager);
 
-    auto_ptr<XMLGrammarPool> gp (new XMLGrammarPoolImpl (mm));
+    unique_ptr<XMLGrammarPool> gp (new XMLGrammarPoolImpl (mm));
 
     // Load the schemas into grammar pool.
     //
     {
-      auto_ptr<SAX2XMLReader> parser (
+      unique_ptr<SAX2XMLReader> parser (
         XMLReaderFactory::createXMLReader (mm, gp.get ()));
 
       parser->setFeature (XMLUni::fgSAX2CoreNameSpaces, true);
diff --git a/debian/changelog b/debian/changelog
index 4678b1a..3819dd5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libkolabxml (1.2.1+git20220803.1.27d1927-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Wed, 08 Feb 2023 14:21:34 -0000
+
 libkolabxml (1.2.1-4) unstable; urgency=medium
 
   * Update symbols from buildds.
diff --git a/debian/patches/fix-parallel-build.patch b/debian/patches/fix-parallel-build.patch
index 51be1c2..b2ed9f8 100644
--- a/debian/patches/fix-parallel-build.patch
+++ b/debian/patches/fix-parallel-build.patch
@@ -6,9 +6,11 @@ Description: When running multiple make processes the
  This explicitly addes php_kolabformat.h to the list of files generated 
  by the swig command.
 
---- a/src/php/CMakeLists.txt
-+++ b/src/php/CMakeLists.txt
-@@ -3,7 +3,7 @@
+Index: libkolabxml.git/src/php/CMakeLists.txt
+===================================================================
+--- libkolabxml.git.orig/src/php/CMakeLists.txt
++++ libkolabxml.git/src/php/CMakeLists.txt
+@@ -3,7 +3,7 @@ include_directories(../)
  
  set(KOLAB_SWIG_PHP_SOURCE_FILE php_kolabformat_wrapper.cpp)
  set(KOLAB_SWIG_PHP_HEADER_FILE php_kolabformat.h)
diff --git a/debian/patches/fix-race-condition.patch b/debian/patches/fix-race-condition.patch
index 0edc681..451f6e9 100644
--- a/debian/patches/fix-race-condition.patch
+++ b/debian/patches/fix-race-condition.patch
@@ -7,8 +7,10 @@ Author: Paul Klos <kolab@klos2day.nl>
 Last-Update: 2013-06-10
 Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710568
 
---- a/src/php/CMakeLists.txt
-+++ b/src/php/CMakeLists.txt
+Index: libkolabxml.git/src/php/CMakeLists.txt
+===================================================================
+--- libkolabxml.git.orig/src/php/CMakeLists.txt
++++ libkolabxml.git/src/php/CMakeLists.txt
 @@ -2,6 +2,7 @@
  include_directories(../)
  
@@ -17,7 +19,7 @@ Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710568
  add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/kolabformat.php
          COMMAND ${SWIG} -v -c++ -php -o ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE}  ../kolabformat.i
          COMMENT "Generating php bindings"
-@@ -11,7 +12,8 @@
+@@ -11,7 +12,8 @@ add_custom_command(OUTPUT ${CMAKE_CURREN
      )
  
  set_source_files_properties(${KOLAB_SWIG_PHP_SOURCE_FILE} PROPERTIES GENERATED 1)
diff --git a/debian/patches/use-phpconfig-to-detect-phpincludedir.patch b/debian/patches/use-phpconfig-to-detect-phpincludedir.patch
index 39952b8..af629ea 100644
--- a/debian/patches/use-phpconfig-to-detect-phpincludedir.patch
+++ b/debian/patches/use-phpconfig-to-detect-phpincludedir.patch
@@ -8,11 +8,11 @@ Last-Update: 2016-04-29
 Forwarded: not-needed
 ---
 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: libkolabxml/src/php/CMakeLists.txt
+Index: libkolabxml.git/src/php/CMakeLists.txt
 ===================================================================
---- libkolabxml.orig/src/php/CMakeLists.txt	2016-04-29 13:24:54.786787527 +0200
-+++ libkolabxml/src/php/CMakeLists.txt	2016-04-29 13:25:24.102918138 +0200
-@@ -26,13 +26,23 @@
+--- libkolabxml.git.orig/src/php/CMakeLists.txt
++++ libkolabxml.git/src/php/CMakeLists.txt
+@@ -26,13 +26,23 @@ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
  # Try to find PHP5
  find_path(PHP_INCLUDE_DIR NAMES main/php.h PATH_SUFFIXES php php5)
  find_program(PHP_EXECUTABLE NAMES php)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 732a0a5..fbadb2a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -33,7 +33,7 @@ if (${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.42)
     set_target_properties(kolabxml PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wconversion")
 else() #then normal case
     #for development add here -Werror -Wfatal-errors (but don't for releases)
-    set_target_properties(kolabxml PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wconversion -Wl,--no-undefined")
+    set_target_properties(kolabxml PROPERTIES COMPILE_FLAGS "-Wall -Wextra -Wno-deprecated-copy -Wconversion -Wl,--no-undefined")
 endif()
 
 set_target_properties(kolabxml PROPERTIES VERSION ${Libkolabxml_VERSION} SOVERSION ${Libkolabxml_VERSION_MAJOR})
diff --git a/src/containers/kolabcontainers.cpp b/src/containers/kolabcontainers.cpp
index bf10646..a85ea0d 100644
--- a/src/containers/kolabcontainers.cpp
+++ b/src/containers/kolabcontainers.cpp
@@ -637,7 +637,7 @@ Alarm::Alarm()
 {
 }
 
-Alarm::Alarm(Alarm::Type type)
+Alarm::Alarm(Alarm::Type /*type*/)
 :   d(new Alarm::Private)
 {
     d->type = AudioAlarm;
diff --git a/src/kolabconversions.h b/src/kolabconversions.h
index 3afc229..93e32d5 100644
--- a/src/kolabconversions.h
+++ b/src/kolabconversions.h
@@ -409,16 +409,16 @@ template <>
 boost::shared_ptr<Kolab::Note> deserializeObject <Kolab::Note> (const std::string& s, bool isUrl)
 {
     try {
-        std::auto_ptr<KolabXSD::Note> note;
+        std::unique_ptr<KolabXSD::Note> note;
         if (isUrl) {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
             if (doc.get()) {
-                note = KolabXSD::note(doc);
+                note = KolabXSD::note(*doc);
             }
         } else {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
             if (doc.get()) {
-                note = KolabXSD::note(doc);
+                note = KolabXSD::note(*doc);
             }
         }
 
@@ -499,16 +499,16 @@ template <>
 boost::shared_ptr<Kolab::Configuration> deserializeObject <Kolab::Configuration> (const std::string& s, bool isUrl)
 {
     try {
-        std::auto_ptr<KolabXSD::Configuration> configuration;
+        std::unique_ptr<KolabXSD::Configuration> configuration;
         if (isUrl) {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
             if (doc.get()) {
-                configuration = KolabXSD::configuration(doc);
+                configuration = KolabXSD::configuration(*doc);
             }
         } else {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
             if (doc.get()) {
-                configuration = KolabXSD::configuration(doc);
+                configuration = KolabXSD::configuration(*doc);
             }
         }
 
@@ -629,16 +629,16 @@ template <>
 boost::shared_ptr<Kolab::File> deserializeObject <Kolab::File> (const std::string& s, bool isUrl)
 {
     try {
-        std::auto_ptr<KolabXSD::File> file;
+        std::unique_ptr<KolabXSD::File> file;
         if (isUrl) {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
             if (doc.get()) {
-                file = KolabXSD::file(doc);
+                file = KolabXSD::file(*doc);
             }
         } else {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
             if (doc.get()) {
-                file = KolabXSD::file(doc);
+                file = KolabXSD::file(*doc);
             }
         }
 
diff --git a/src/xcalconversions.h b/src/xcalconversions.h
index b62a739..ae60de7 100644
--- a/src/xcalconversions.h
+++ b/src/xcalconversions.h
@@ -132,9 +132,9 @@ std::vector<std::string> toStringList(const icalendar_2_0::TextListPropertyType
 }
 
 template <typename T>
-std::auto_ptr<T> fromStringList(const std::vector<std::string> &list)
+std::unique_ptr<T> fromStringList(const std::vector<std::string> &list)
 {
-    std::auto_ptr<T> ptr(new T());
+    std::unique_ptr<T> ptr(new T());
     std::copy(list.begin(), list.end(), std::back_inserter(ptr->text()));
     return ptr;
 }
@@ -509,9 +509,9 @@ cDateTimePtr toDate(const icalendar_2_0::UtcDatetimePropertyType &dtProperty)
 }
 
 template <typename I>
-std::auto_ptr<I> fromDate(const cDateTime &dt)
+std::unique_ptr<I> fromDate(const cDateTime &dt)
 {
-    std::auto_ptr<I> ptr(new I);
+    std::unique_ptr<I> ptr(new I);
     if (dt.isDateOnly()) {
         ptr->date(Shared::fromDate(dt));
     } else {
@@ -557,10 +557,10 @@ std::vector<cDateTime> toDateTimeList(I datelistProperty)
 }
 
 template <typename I>
-std::auto_ptr<I> fromDateTimeList(const std::vector<cDateTime> &dtlist)
+std::unique_ptr<I> fromDateTimeList(const std::vector<cDateTime> &dtlist)
 {
     
-    std::auto_ptr<I> ptr(new I);
+    std::unique_ptr<I> ptr(new I);
     BOOST_FOREACH(const cDateTime &dt, dtlist) {
         if (dt.isDateOnly()) {
             ptr->date().push_back(Shared::fromDate(dt));
@@ -678,7 +678,7 @@ Role mapRole(const std::string &status)
 
 //=== Recurrence Rule ===
 
-    typedef std::auto_ptr<RecurrenceRule> RecurrencePtr;
+    typedef std::unique_ptr<RecurrenceRule> RecurrencePtr;
 
 
     RecurrenceRule::Frequency mapRecurrenceFrequency(const icalendar_2_0::RecurType::freq_type &freq)
@@ -1031,11 +1031,11 @@ T fromList(const std::vector<int> &input) {
     return list;
 }
 
-std::auto_ptr< icalendar_2_0::RrulePropType > recurrenceProperty(const RecurrenceRule &r)
+std::unique_ptr< icalendar_2_0::RrulePropType > recurrenceProperty(const RecurrenceRule &r)
 {
     using namespace icalendar_2_0;
         
-    std::auto_ptr< RrulePropType > rruleProp(new RrulePropType(mapRecurrenceFrequency(r.frequency())));
+    std::unique_ptr< RrulePropType > rruleProp(new RrulePropType(mapRecurrenceFrequency(r.frequency())));
     
     RecurPropertyType::recur_type &recur = rruleProp->recur();
     const cDateTime &endDate = r.end();
@@ -1271,7 +1271,7 @@ void getTodoEventProperties(T &prop, const I &inc)
     }
     
     if (inc.recurrenceID().isValid()) {
-        std::auto_ptr<typename properties::recurrence_id_type> recurrenceId = fromDate<typename properties::recurrence_id_type>(inc.recurrenceID());
+        std::unique_ptr<typename properties::recurrence_id_type> recurrenceId = fromDate<typename properties::recurrence_id_type>(inc.recurrenceID());
         if (inc.thisAndFuture()) {
             if (!recurrenceId->parameters()) {
                 recurrenceId->parameters(typename properties::recurrence_id_type::parameters_type());
@@ -1281,7 +1281,7 @@ void getTodoEventProperties(T &prop, const I &inc)
             parameters.baseParameter().push_back(range);
         }
         
-        prop.recurrence_id(recurrenceId);
+        prop.recurrence_id(std::move(recurrenceId));
     }
     
     if (inc.priority() != 0) {
@@ -1332,14 +1332,14 @@ void setAlarms(typename KolabType::components_type& components, const IncidenceT
             trigger.parameters(parameters);
         }
 
-        std::auto_ptr<PropType> p;
+        std::unique_ptr<PropType> p;
         switch(alarm.type()) {
             case Kolab::Alarm::DisplayAlarm:
-                p = std::auto_ptr<PropType>(new PropType(PropType::action_type(DISPLAYALARM), trigger));
+                p = std::unique_ptr<PropType>(new PropType(PropType::action_type(DISPLAYALARM), trigger));
                 p->description(PropType::description_type(alarm.description()));
                 break;
             case Kolab::Alarm::EMailAlarm: {
-                p = std::auto_ptr<PropType>(new PropType(PropType::action_type(EMAILALARM), trigger));
+                p = std::unique_ptr<PropType>(new PropType(PropType::action_type(EMAILALARM), trigger));
                 p->summary(PropType::summary_type(alarm.summary()));
                 p->description(PropType::description_type(alarm.description()));
                 const std::vector<Kolab::ContactReference> &l = alarm.attendees();
@@ -1349,7 +1349,7 @@ void setAlarms(typename KolabType::components_type& components, const IncidenceT
                 break;
             }
             case Kolab::Alarm::AudioAlarm:
-                p = std::auto_ptr<PropType>(new PropType(PropType::action_type(AUDIOALARM), trigger));
+                p = std::unique_ptr<PropType>(new PropType(PropType::action_type(AUDIOALARM), trigger));
                 p->description(PropType::description_type(alarm.description()));
                 if (alarm.audioFile().isValid()) {
                     p->attach(fromAttachment(alarm.audioFile()));
@@ -1363,7 +1363,7 @@ void setAlarms(typename KolabType::components_type& components, const IncidenceT
             p->repeat(PropType::repeat_type(fromInt<PropType::repeat_type::integer_type>(alarm.numrepeat())));
         }
 
-        components.valarm().push_back(icalendar_2_0::ValarmType(p));
+        components.valarm().push_back(icalendar_2_0::ValarmType(std::move(p)));
     }
 }
 
@@ -1926,19 +1926,19 @@ typename T::IncidencePtr deserializeIncidence(const std::string& s, bool isUrl)
     typedef typename T::KolabType KolabType;
 
     try {
-        std::auto_ptr<icalendar_2_0::IcalendarType> icalendar;
+        std::unique_ptr<icalendar_2_0::IcalendarType> icalendar;
         if (isUrl) {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
             if (doc.get()) {
-                icalendar = icalendar_2_0::icalendar(doc);
+                icalendar = icalendar_2_0::icalendar(*doc);
             }
         } else {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
             if (doc.get()) {
-                icalendar = icalendar_2_0::icalendar(doc);
+                icalendar = icalendar_2_0::icalendar(*doc);
             }
         }
-        
+
         if (!icalendar.get()) {
             CRITICAL("Failed to parse calendar!");
             return IncidencePtr();
diff --git a/src/xcardconversions.h b/src/xcardconversions.h
index 4f58aab..0d9575f 100644
--- a/src/xcardconversions.h
+++ b/src/xcardconversions.h
@@ -1138,16 +1138,16 @@ boost::shared_ptr<T> deserializeCard(const std::string& s, bool isUrl)
 {
     clearErrors();
     try {
-        std::auto_ptr<vcard_4_0::VcardsType> vcards;
+        std::unique_ptr<vcard_4_0::VcardsType> vcards;
         if (isUrl) {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
+            std::unique_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseFile(s);
             if (doc.get()) {
-                vcards = vcard_4_0::vcards(doc);
+                vcards = vcard_4_0::vcards(*doc);
             }
         } else {
-            xsd::cxx::xml::dom::auto_ptr <xercesc::DOMDocument > doc = XMLParserWrapper::inst().parseString(s);
+            std::unique_ptr<xercesc::DOMDocument> doc = XMLParserWrapper::inst().parseString(s);
             if (doc.get()) {
-                vcards = vcard_4_0::vcards(doc);
+                vcards = vcard_4_0::vcards(*doc);
             }
         }
 
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 9abacdf..3864a83 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,9 +1,6 @@
 
 #### Qt 4 and 5 ####
 if(QT5_BUILD)
-  find_package(ECM 1.1.0 REQUIRED NO_MODULE)
-  set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
-
   find_package(Qt5Core REQUIRED)
   find_package(Qt5Test REQUIRED)
 

More details

Full run details

Historical runs