Package: libzeep Version: 3.0.2-5 Severity: normal Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu bionic ubuntu-patch
Dear maintainers, libzeep has been failing to build in Ubuntu bionic, which now has boost 1.65 as default. While Debian has not yet started this transition, the appropriate fix is to replace certain boost headers with their equivalents that are now part of the standard C++ headers from g++7. I have applied the attached patch in Ubuntu to let libzeep build again. Please consider applying it in Debian as well. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
diff -Nru libzeep-3.0.2/debian/patches/boost-1.65-compat.patch libzeep-3.0.2/debian/patches/boost-1.65-compat.patch --- libzeep-3.0.2/debian/patches/boost-1.65-compat.patch 1969-12-31 16:00:00.000000000 -0800 +++ libzeep-3.0.2/debian/patches/boost-1.65-compat.patch 2018-03-18 00:30:13.000000000 -0700 @@ -0,0 +1,245 @@ +Description: fix compatibility with boost 1.65 + Boost 1.65 no longer provides tr1/ headers, which are now provided instead + by g++7 directly. Adjust our includes accordingly. +Author: Steve Langasek <steve.langa...@ubuntu.com> +Last-Modified: 2018-03-18 + +Index: libzeep-3.0.2/src/doctype.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/doctype.cpp ++++ libzeep-3.0.2/src/doctype.cpp +@@ -9,8 +9,8 @@ + #include <typeinfo> + #include <numeric> + +-#include <boost/tr1/tuple.hpp> +-#include <boost/tr1/memory.hpp> ++#include <tr1/tuple> ++#include <tr1/memory> + #include <boost/algorithm/string.hpp> + #include <boost/foreach.hpp> + #define foreach BOOST_FOREACH +@@ -132,7 +132,7 @@ + switch (m_state) + { + case state_Start: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == true) + m_state = state_Loop; + else +@@ -140,7 +140,7 @@ + break; + + case state_Loop: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == false and done) + done = true; + break; +@@ -172,7 +172,7 @@ + switch (m_state) + { + case state_Start: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == true) + m_state = state_Loop; + else +@@ -180,11 +180,11 @@ + break; + + case state_Loop: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == false and done) + { + m_sub->reset(); +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == false) + done = true; + } +@@ -218,28 +218,28 @@ + switch (m_state) + { + case state_Start: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == true) + m_state = state_FirstLoop; + break; + + case state_FirstLoop: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == false and done) + { + m_sub->reset(); +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == true) + m_state = state_NextLoop; + } + break; + + case state_NextLoop: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == false and done) + { + m_sub->reset(); +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + if (result == false) + done = true; + } +@@ -319,7 +319,7 @@ + // fall through + + case state_Element: +- boost::fusion::tie(result, done) = (*m_next)->allow(name); ++ std::tr1::tie(result, done) = (*m_next)->allow(name); + while (result == false and done) + { + ++m_next; +@@ -330,7 +330,7 @@ + break; + } + +- boost::fusion::tie(result, done) = (*m_next)->allow(name); ++ std::tr1::tie(result, done) = (*m_next)->allow(name); + } + break; + } +@@ -404,7 +404,7 @@ + case state_Start: + for (list<state_ptr>::iterator choice = m_states.begin(); choice != m_states.end(); ++choice) + { +- boost::fusion::tie(result, done) = (*choice)->allow(name); ++ std::tr1::tie(result, done) = (*choice)->allow(name); + if (result == true) + { + m_sub = *choice; +@@ -415,7 +415,7 @@ + break; + + case state_Choice: +- boost::fusion::tie(result, done) = m_sub->allow(name); ++ std::tr1::tie(result, done) = m_sub->allow(name); + break; + } + +@@ -490,7 +490,7 @@ + bool validator::allow(const string& name) + { + bool result; +- boost::fusion::tie(result, m_done) = m_state->allow(name); ++ std::tr1::tie(result, m_done) = m_state->allow(name); + return result; + } + +Index: libzeep-3.0.2/src/document-expat.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/document-expat.cpp ++++ libzeep-3.0.2/src/document-expat.cpp +@@ -12,7 +12,7 @@ + #include <vector> + #include <stack> + +-#include <boost/tr1/memory.hpp> ++#include <tr1/memory> + #include <boost/algorithm/string.hpp> + #include <boost/filesystem/operations.hpp> + #include <boost/filesystem/fstream.hpp> +Index: libzeep-3.0.2/src/document-libxml2.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/document-libxml2.cpp ++++ libzeep-3.0.2/src/document-libxml2.cpp +@@ -10,7 +10,7 @@ + #include <deque> + #include <map> + +-#include <boost/tr1/memory.hpp> ++#include <tr1/memory> + #include <boost/algorithm/string.hpp> + #include <boost/function.hpp> + #include <boost/bind.hpp> +Index: libzeep-3.0.2/src/document.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/document.cpp ++++ libzeep-3.0.2/src/document.cpp +@@ -10,7 +10,7 @@ + #include <deque> + #include <map> + +-#include <boost/tr1/memory.hpp> ++#include <tr1/memory> + #include <boost/algorithm/string.hpp> + #include <boost/function.hpp> + #include <boost/bind.hpp> +Index: libzeep-3.0.2/src/parser.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/parser.cpp ++++ libzeep-3.0.2/src/parser.cpp +@@ -6,7 +6,7 @@ + #include <iostream> + #include <map> + +-#include <boost/tr1/memory.hpp> ++#include <tr1/memory> + #include <boost/algorithm/string.hpp> + #include <boost/bind.hpp> + #include <boost/lexical_cast.hpp> +Index: libzeep-3.0.2/src/preforked-http-server.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/preforked-http-server.cpp ++++ libzeep-3.0.2/src/preforked-http-server.cpp +@@ -16,7 +16,7 @@ + #include <zeep/http/connection.hpp> + #include <zeep/exception.hpp> + +-#include <boost/tr1/memory.hpp> ++#include <tr1/memory> + #include <boost/date_time/posix_time/posix_time.hpp> + #include <boost/thread.hpp> + #include <boost/bind.hpp> +Index: libzeep-3.0.2/src/webapp-el.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/webapp-el.cpp ++++ libzeep-3.0.2/src/webapp-el.cpp +@@ -14,7 +14,7 @@ + #include <boost/foreach.hpp> + #define foreach BOOST_FOREACH + #include <boost/algorithm/string.hpp> +-#include <boost/tr1/cmath.hpp> ++#include <tr1/cmath> + + #include <zeep/http/webapp.hpp> + #include <zeep/http/webapp/el.hpp> +Index: libzeep-3.0.2/src/xpath.cpp +=================================================================== +--- libzeep-3.0.2.orig/src/xpath.cpp ++++ libzeep-3.0.2/src/xpath.cpp +@@ -12,7 +12,7 @@ + #include <cmath> + #include <map> + +-#include <boost/tr1/cmath.hpp> ++#include <tr1/cmath> + #include <boost/function.hpp> + #include <boost/bind.hpp> + #include <boost/foreach.hpp> +Index: libzeep-3.0.2/zeep/http/reply.hpp +=================================================================== +--- libzeep-3.0.2.orig/zeep/http/reply.hpp ++++ libzeep-3.0.2/zeep/http/reply.hpp +@@ -8,7 +8,7 @@ + + #include <vector> + +-#include <boost/tr1/memory.hpp> ++#include <tr1/memory> + #include <boost/asio/buffer.hpp> + + #include <zeep/http/header.hpp> diff -Nru libzeep-3.0.2/debian/patches/series libzeep-3.0.2/debian/patches/series --- libzeep-3.0.2/debian/patches/series 2017-11-27 23:39:17.000000000 -0800 +++ libzeep-3.0.2/debian/patches/series 2018-03-18 00:27:16.000000000 -0700 @@ -3,3 +3,4 @@ linking-order.diff libzeep-3.0-g++6-boost1.60.patch spelling.patch +boost-1.65-compat.patch