[Debian-med-packaging] Bug#893352: libzeep: please update for g++7 + boost 1.65 compatibility
Steve Langasek
steve.langasek at canonical.com
Sun Mar 18 08:09:25 UTC 2018
Package: libzeep
Version: 3.0.2-5
Severity: normal
Tags: patch
User: ubuntu-devel at 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/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
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.langasek at 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
More information about the Debian-med-packaging
mailing list