[packages/abiword] - added parallel patch (fixes parallel build with introspection) - added tidy patch (adjusts libtidy

qboosh qboosh at pld-linux.org
Mon May 16 21:55:47 CEST 2016


commit a47606702aab916bb73e7d5a613722220bc87dae
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon May 16 21:55:59 2016 +0200

    - added parallel patch (fixes parallel build with introspection)
    - added tidy patch (adjusts libtidy headers path)
    - added asio patch (use boost::asio instead of standalone, as boost is required anyway)
    - updated dependencies
    - release 8

 abiword-asio.patch     | 1090 ++++++++++++++++++++++++++++++++++++++++++++++++
 abiword-parallel.patch |   11 +
 abiword-tidy.patch     |   24 ++
 abiword.spec           |  182 ++++++--
 4 files changed, 1261 insertions(+), 46 deletions(-)
---
diff --git a/abiword.spec b/abiword.spec
index 47effcf..6a7ba82 100644
--- a/abiword.spec
+++ b/abiword.spec
@@ -1,17 +1,26 @@
+# TODO: wordperfect support with libwpd 0.10, libwp[gs] 0.3
 #
-%bcond_with	gda		# libgda support
+%bcond_without	evolution	# Evolution Data Server for contacts and calendar
+%bcond_without	champlain	# champlain maps display support
+%bcond_with	gda		# libgda (1.x) support
 %bcond_without	goffice		# without plugin-goffice
 %bcond_without	gnome		# without GNOME libs
-%bcond_with	gnomevfs	# gnome-vfs support
-%bcond_with	ots		# try build plugin-ots (requires ots >= 0.5.0)
+%bcond_with	gnomevfs	# gnome-vfs support (GTK+ 2.x only)
+%bcond_with	gtk2		# GTK+ 2.x instead of 3.x
+%bcond_without	introspection	# GObject introspection
+%bcond_without	ots		# Open Text Summarizer plugin
+%bcond_without	redland		# redland/raptor libraries
 #
 %define		mver	3.0
 #
+%if %{without gtk2}
+%undefine	with_gnomevfs
+%endif
 Summary:	Multi-platform word processor
 Summary(pl.UTF-8):	Wieloplatformowy procesor tekstu
 Name:		abiword
 Version:	3.0.1
-Release:	7
+Release:	8
 Epoch:		1
 License:	GPL v2+
 Group:		X11/Applications/Editors
@@ -22,71 +31,110 @@ Patch1:		%{name}-mht.patch
 Patch2:		%{name}-librevenge.patch
 Patch3:		%{name}-link-grammar-5.patch
 Patch4:		%{name}-link-grammar-5-second.patch
+Patch5:		%{name}-parallel.patch
+Patch6:		%{name}-tidy.patch
+Patch7:		%{name}-asio.patch
 URL:		http://www.abisource.com/
 BuildRequires:	aiksaurus-gtk-devel >= 1.2.1
-BuildRequires:	autoconf
-BuildRequires:	automake
-BuildRequires:	boost-devel >= 1.33.1
+BuildRequires:	autoconf >= 2.50
+BuildRequires:	automake >= 1:1.9
+BuildRequires:	boost-devel >= 1.40.0
 BuildRequires:	bzip2-devel
-BuildRequires:	cairo-devel
+BuildRequires:	cairo-devel >= 1.10
+BuildRequires:	dbus-glib-devel >= 0.70
 BuildRequires:	enchant-devel >= 1.2.6
 BuildRequires:	eps-devel
-BuildRequires:	evolution-data-server-devel
+%{?with_evolution:BuildRequires:	evolution-data-server-devel >= 3.6}
 BuildRequires:	fontconfig-devel >= 1:2.3.95
 BuildRequires:	fribidi-devel >= 0.10.4
 BuildRequires:	glib2-devel >= 1:2.12.1
+BuildRequires:	gnutls-devel
+%{?with_introspection:BuildRequires:	gobject-introspection-devel >= 1.0.0}
+%if %{with gtk2}
 BuildRequires:	gtk+2-devel >= 2:2.12.0
+%else
+BuildRequires:	gtk+3-devel >= 3.0.8
+%endif
 BuildRequires:	gtkmathview-devel >= 0.7.6
-BuildRequires:	gucharmap-devel >= 1.7.0
+# libchamplain-gtk compiler with matching GTK+ version
+%{?with_champlain:BuildRequires:	libchamplain-devel >= 0.12}
 %if %{with gda}
 BuildRequires:	libgda-devel >= 1:1.2.4-16
 BuildRequires:	libgnomedb-devel >= 1:1.2.0
-%else
-Obsoletes:	abiword-plugin-gda
 %endif
-BuildRequires:	libgnomeui-devel >= 2.15.91
-%if %{with goffice}
-BuildRequires:	libgoffice-devel >= 0.8.0
-%else
-Obsoletes:	abiword-plugin-goffice
-%endif
-BuildRequires:	libgsf-devel >= 1.14.9
+%{?with_goffice:BuildRequires:	libgoffice-devel >= 0.10.2}
+BuildRequires:	libgcrypt-devel >= 1.4.5
+BuildRequires:	libgsf-devel >= 1.14.18
+BuildRequires:	libical-devel >= 0.46
 BuildRequires:	libjpeg-devel
 BuildRequires:	libpng-devel
 BuildRequires:	librevenge-devel
 BuildRequires:	librsvg-devel >= 1:2.16.0
-BuildRequires:	libtool
+BuildRequires:	libsoup-devel >= 2.4
+BuildRequires:	libtool >= 2:1.5
 BuildRequires:	libwmf-devel >= 2:0.2.8.4
 BuildRequires:	libwpd-devel >= 0.9.0
 BuildRequires:	libwpg-devel >= 0.2.0
 BuildRequires:	libwps-devel >= 0.2.0
 BuildRequires:	libxml2-devel >= 1:2.6.26
+BuildRequires:	libxslt-devel
 BuildRequires:	link-grammar-devel >= 4.2.1
-BuildRequires:	loudmouth-devel >= 1.0.1
+BuildRequires:	loudmouth-devel >= 1.3.2
 %{?with_ots:BuildRequires:	ots-devel >= 0.5.0}
 BuildRequires:	pango-devel
 BuildRequires:	perl-devel
-BuildRequires:	pkgconfig >= 0.9.0
+BuildRequires:	pkgconfig >= 1:0.9.0
 BuildRequires:	popt-devel
 BuildRequires:	psiconv-devel >= 0.9.6
+%{?with_introspection:BuildRequires:	python >= 2}
+%{?with_introspection:BuildRequires:	python-pygobject3 >= 3}
+%{?with_redland:BuildRequires:	rasqal-devel >= 0.9.17}
 BuildRequires:	readline-devel
+%{?with_redland:BuildRequires:	redland-devel >= 1.0.10}
+BuildRequires:	rpmbuild(macros) >= 1.219
 BuildRequires:	sed >= 4.0
-BuildRequires:	t1lib-devel
+BuildRequires:	tidy-devel
+BuildRequires:	telepathy-glib-devel >= 0.14.5
 BuildRequires:	wv-devel >= 1.2.1
+BuildRequires:	zlib-devel
 Requires(post,postun):	desktop-file-utils
+Requires:	cairo >= 1.10
+Requires:	enchant >= 1.2.6
+%{?with_evolution:Requires:	evolution-data-server-libs >= 3.6}
+Requires:	fontconfig >= 1:2.3.95
+Requires:	fribidi >= 0.10.4
+Requires:	glib2 >= 1:2.12.1
+%if %{with gtk2}
+Requires:	gtk+2 >= 2:2.12.0
+%else
+Requires:	gtk+3 >= 3.0.8
+%endif
+%{?with_champlain:Requires:	libchamplain >= 0.12}
+Requires:	libgcrypt >= 1.4.5
+%{?with_goffice:Requires:	libgoffice >= 0.10.2}
+Requires:	libgsf >= 1.14.18
+Requires:	libical >= 0.46
+Requires:	librsvg >= 1:2.16.0
+Requires:	libxml2 >= 1:2.6.26
+%{?with_redland:Requires:	rasqal >= 0.9.17}
+%{?with_redland:Requires:	redland >= 1.0.10}
+Requires:	wv >= 1.2.1
 Obsoletes:	abiword-plugin-applix
 Obsoletes:	abiword-plugin-babelfish
 Obsoletes:	abiword-plugin-bmp
 Obsoletes:	abiword-plugin-bz2
 Obsoletes:	abiword-plugin-capi
 Obsoletes:	abiword-plugin-clarisworks
+Obsoletes:	abiword-plugin-coquille
 Obsoletes:	abiword-plugin-dash
 Obsoletes:	abiword-plugin-docbook
 Obsoletes:	abiword-plugin-eml
 Obsoletes:	abiword-plugin-freetranslation
+%{!?with_gda:Obsoletes:	abiword-plugin-gda}
 Obsoletes:	abiword-plugin-gdict
 Obsoletes:	abiword-plugin-gdkpixbuf
 Obsoletes:	abiword-plugin-gimp
+%{!?with_goffice:Obsoletes:	abiword-plugin-goffice}
 Obsoletes:	abiword-plugin-google
 Obsoletes:	abiword-plugin-gypsython
 Obsoletes:	abiword-plugin-hancom
@@ -138,12 +186,26 @@ Files for AbiWord plugins development.
 %description devel -l pl.UTF-8
 Pliki do tworzenia wtyczek dla AbiWorda.
 
+%package -n python-abiword
+Summary:	Python GObject binding for AbiWord library
+Summary(pl.UTF-8):	Wiązanie Pythona i GObject do biblioteki AbiWorda
+Group:		Libraries/Python
+Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	python-pygobject3 >= 3
+
+%description -n python-abiword
+Python GObject binding for AbiWord library.
+
+%description -n python-abiword -l pl.UTF-8
+Wiązanie Pythona i GObject do biblioteki AbiWorda.
+
 # plugins - tools
 %package plugin-aiksaurus
 Summary:	AbiWord Aiksaurus plugin
 Summary(pl.UTF-8):	Wtyczka AbiWorda Aiksaurus
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	aiksaurus-gtk >= 1.2.1
 
 %description plugin-aiksaurus
 Allows to use Aiksaurus thesaurus.
@@ -157,6 +219,9 @@ Summary:	Remote collaborate for AbiWord
 Summary(pl.UTF-8):	Zdalna współpraca dla AbiWorda
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	dbus-glib >= 0.70
+Requires:	loudmouth >= 1.3.2
+Requires:	telepathy-glib >= 0.14.5
 
 %description plugin-collab
 Allows to collaborate with a remote user.
@@ -182,6 +247,8 @@ Summary(pl.UTF-8):	Wtyczka AbiWorda dla GDA
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
 Requires:	gnome-database-access-properties >= 1:1.2.1
+Requires:	libgda >= 1:1.2.4-16
+Requires:	libgnomedb >= 1:1.2.0
 
 %description plugin-gda
 Allows access to any database provided by libgda.
@@ -195,6 +262,7 @@ Summary:	GNOME Office plugin
 Summary(pl.UTF-8):	Wtyczka GNOME Office
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	libgoffice >= 0.10.2
 
 %description plugin-goffice
 Allows to share GNOME Office objects between GOffice appplications.
@@ -208,6 +276,7 @@ Summary:	AbiWord MathView plugin
 Summary(pl.UTF-8):	Wtyczka MAthView dla AbiWorda
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	gtkmathview-devel >= 0.7.6
 
 %description plugin-mathview
 MathML or LaTeX style equation inserting and editing.
@@ -220,6 +289,7 @@ Summary:	AbiWord OTS plugin
 Summary(pl.UTF-8):	Wtyczka OTS dla Abiworda
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	ots >= 0.5.0
 
 %description plugin-ots
 Create document summaries.
@@ -228,18 +298,6 @@ Create document summaries.
 Wtyczka ta służy do tworzenia podsumowania dokumentu.
 
 # plugins import - export
-%package plugin-coquille
-Summary:	AbiWord Coquille plugin
-Summary(pl.UTF-8):	Wtyczka Coquille dla Abiworda
-Group:		X11/Applications/Editors
-Requires:	%{name} = %{epoch}:%{version}-%{release}
-
-%description plugin-coquille
-Docbook extensions.
-
-%description plugin-coquille -l pl.UTF-8
-Rozszerzenia Docbooka.
-
 %package plugin-latex
 Summary:	AbiWord LaTeX plugin
 Summary(pl.UTF-8):	Wtyczka LaTeX dla Abiworda
@@ -257,6 +315,7 @@ Summary:	AbiWord Link Grammar plugin
 Summary(pl.UTF-8):	Wtyczka Gramatyki dla Abiworda
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	link-grammar >= 4.2.1
 
 %description plugin-link-grammar
 AbiWord Link Grammar plugin.
@@ -269,6 +328,7 @@ Summary:	AbiWord Psion plugin
 Summary(pl.UTF-8):	Wtyczka Psion dla Abiworda
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	psiconv >= 0.9.6
 
 %description plugin-psion
 Import/export Psion files.
@@ -281,6 +341,7 @@ Summary:	AbiWord WMF plugin
 Summary(pl.UTF-8):	Wtyczka WMF dla Abiworda
 Group:		X11/Applications/Editors
 Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	libwmf >= 2:0.2.8.4
 
 %description plugin-wmf
 View Windows Metafiles.
@@ -320,18 +381,29 @@ Jest to teczka clipartów używanych przez AbiWorda.
 %patch2 -p0
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 %build
+%{__libtoolize}
 %{__aclocal} -I .
-%{__automake}
 %{__autoconf}
+%{__autoheader}
+%{__automake}
 %configure \
-	--with-gnomevfs=%{?with_gnomevfs:yes}%{!?with_gnomevfs:no} \
-	--with-goffice=%{?with_goffice:yes}%{!?with_goffice:no} \
+	--disable-silent-rules \
 	--disable-static \
 	--enable-clipart \
+	%{?with_introspection:--enable-introspection} \
 	--enable-plugins=auto \
-	--enable-templates
+	--enable-templates \
+	--with-champlain%{!?with_champlain:=no} \
+	--with-evolution-data-server%{!?with_evolution:=no} \
+	--with-gnomevfs%{!?with_gnomevfs:=no} \
+	--with-goffice%{!?with_goffice:=no} \
+	%{?with_gtk2:--with-gtk2} \
+	--with-redland%{!?with_redland:=no}
 
 %{__make}
 
@@ -342,7 +414,13 @@ rm -rf $RPM_BUILD_ROOT
 	DESTDIR=$RPM_BUILD_ROOT
 
 # Remove useless files
-%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/abiword-%{mver}/plugins/*.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/abiword-%{mver}/plugins/*.la
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
+
+%if %{with introspection}
+%py_postclean
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -357,22 +435,26 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/abiword
 %attr(755,root,root) %{_libdir}/libabiword-%{mver}.so
+%if %{with introspection}
+%{_libdir}/girepository-1.0/Abi-%{mver}.typelib
+%endif
 %dir %{_libdir}/abiword-%{mver}
 %dir %{_libdir}/abiword-%{mver}/plugins
 %dir %{_datadir}/abiword-%{mver}
 %{_datadir}/abiword-%{mver}/Presentation.xml
 %{_datadir}/abiword-%{mver}/readme.abw
 %{_datadir}/abiword-%{mver}/readme.txt
-%{_datadir}/abiword-%{mver}/strings
 %{_datadir}/abiword-%{mver}/system.profile*
+%{_datadir}/abiword-%{mver}/certs
+%{_datadir}/abiword-%{mver}/mime-info
+%{_datadir}/abiword-%{mver}/omml_xslt
+%{_datadir}/abiword-%{mver}/strings
 %{_datadir}/abiword-%{mver}/templates
 %{_datadir}/abiword-%{mver}/ui
 %{_datadir}/abiword-%{mver}/xsltml
-%{_datadir}/abiword-%{mver}/mime-info
-%{_datadir}/abiword-%{mver}/omml_xslt
-%{_desktopdir}/*.desktop
+%{_desktopdir}/abiword.desktop
 %{_iconsdir}/hicolor/*/apps/abiword.*
 %{_mandir}/man1/abiword.1*
 %{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.AbiCollab.service
@@ -419,10 +501,18 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(644,root,root,755)
-%{_libdir}/libabiword-%{mver}.la
 %{_includedir}/abiword-%{mver}
+%if %{with introspection}
+%{_datadir}/gir-1.0/Abi-3.0.gir
+%endif
 %{_pkgconfigdir}/abiword-%{mver}.pc
 
+%if %{with introspection}
+%files -n python-abiword
+%defattr(644,root,root,755)
+%{py_sitedir}/gi/overrides/Abi.py[co]
+%endif
+
 %files plugin-aiksaurus
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/abiword-%{mver}/plugins/aiksaurus.so
diff --git a/abiword-asio.patch b/abiword-asio.patch
new file mode 100644
index 0000000..992daeb
--- /dev/null
+++ b/abiword-asio.patch
@@ -0,0 +1,1090 @@
+--- abiword-3.0.1/plugins/collab/backends/service/xp/AsioRealmProtocol.h.orig	2012-05-25 18:12:56.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/AsioRealmProtocol.h	2016-05-15 18:45:59.357036926 +0200
+@@ -8,48 +8,48 @@ namespace realm {
+ namespace protocolv1 {
+ 
+ 	template <typename WriteHandler>
+-	static void send(const RoutingPacket& p, asio::ip::tcp::socket& socket, WriteHandler handler) {
+-		std::vector<asio::const_buffer> bufs(4);
+-		bufs.push_back(asio::buffer(&p.type(), 1));
+-		bufs.push_back(asio::buffer(&p.getPayloadSize(), 4)); // FIXME: not Big Endian safe!
+-		bufs.push_back(asio::buffer(&p.getAddressCount(), 1));
+-		bufs.push_back(asio::buffer(&(p.getConnectionIds()[0]), p.getConnectionIds().size()));
+-		bufs.push_back(asio::buffer(*p.getMessage()));
+-		asio::async_write(socket, bufs, handler);
++	static void send(const RoutingPacket& p, boost::asio::ip::tcp::socket& socket, WriteHandler handler) {
++		std::vector<boost::asio::const_buffer> bufs(4);
++		bufs.push_back(boost::asio::buffer(&p.type(), 1));
++		bufs.push_back(boost::asio::buffer(&p.getPayloadSize(), 4)); // FIXME: not Big Endian safe!
++		bufs.push_back(boost::asio::buffer(&p.getAddressCount(), 1));
++		bufs.push_back(boost::asio::buffer(&(p.getConnectionIds()[0]), p.getConnectionIds().size()));
++		bufs.push_back(boost::asio::buffer(*p.getMessage()));
++		boost::asio::async_write(socket, bufs, handler);
+ 	}
+ 
+ 	template <typename WriteHandler>
+-	static void send(const DeliverPacket& p, asio::ip::tcp::socket& socket, WriteHandler handler) {
+-		std::vector<asio::const_buffer> bufs(4);
+-		bufs.push_back(asio::buffer(&p.type(), 1));
+-		bufs.push_back(asio::buffer(&p.getPayloadSize(), 4)); // FIXME: not Big Endian safe!
+-		bufs.push_back(asio::buffer(&p.getConnectionId(), 1));
+-		bufs.push_back(asio::buffer(*p.getMessage()));
+-		asio::async_write(socket, bufs, handler);
++	static void send(const DeliverPacket& p, boost::asio::ip::tcp::socket& socket, WriteHandler handler) {
++		std::vector<boost::asio::const_buffer> bufs(4);
++		bufs.push_back(boost::asio::buffer(&p.type(), 1));
++		bufs.push_back(boost::asio::buffer(&p.getPayloadSize(), 4)); // FIXME: not Big Endian safe!
++		bufs.push_back(boost::asio::buffer(&p.getConnectionId(), 1));
++		bufs.push_back(boost::asio::buffer(*p.getMessage()));
++		boost::asio::async_write(socket, bufs, handler);
+ 	}
+ 
+ 	template <typename WriteHandler>
+-	static void send(const UserJoinedPacket& p, asio::ip::tcp::socket& socket, WriteHandler handler) {
+-		std::vector<asio::const_buffer> bufs(4);
+-		bufs.push_back(asio::buffer(&p.type(), 1));
+-		bufs.push_back(asio::buffer(&p.getPayloadSize(), 4)); // FIXME: not Big Endian safe!
+-		bufs.push_back(asio::buffer(&p.getConnectionId(), 1));
+-		bufs.push_back(asio::buffer(&p.isMaster(), 1));
+-		bufs.push_back(asio::buffer(*p.getUserInfo()));
+-		asio::async_write(socket, bufs, handler);
++	static void send(const UserJoinedPacket& p, boost::asio::ip::tcp::socket& socket, WriteHandler handler) {
++		std::vector<boost::asio::const_buffer> bufs(4);
++		bufs.push_back(boost::asio::buffer(&p.type(), 1));
++		bufs.push_back(boost::asio::buffer(&p.getPayloadSize(), 4)); // FIXME: not Big Endian safe!
++		bufs.push_back(boost::asio::buffer(&p.getConnectionId(), 1));
++		bufs.push_back(boost::asio::buffer(&p.isMaster(), 1));
++		bufs.push_back(boost::asio::buffer(*p.getUserInfo()));
++		boost::asio::async_write(socket, bufs, handler);
+ 	}
+ 
+ 	template <typename WriteHandler>
+-	static void send(const UserLeftPacket& p, asio::ip::tcp::socket& socket, WriteHandler handler) {
+-		std::vector<asio::const_buffer> bufs(2);
+-		bufs.push_back(asio::buffer(&p.type(), 1));
+-		bufs.push_back(asio::buffer(&p.getConnectionId(), 1));
+-		asio::async_write(socket, bufs, handler);
++	static void send(const UserLeftPacket& p, boost::asio::ip::tcp::socket& socket, WriteHandler handler) {
++		std::vector<boost::asio::const_buffer> bufs(2);
++		bufs.push_back(boost::asio::buffer(&p.type(), 1));
++		bufs.push_back(boost::asio::buffer(&p.getConnectionId(), 1));
++		boost::asio::async_write(socket, bufs, handler);
+ 	}
+ 
+ 	template <typename WriteHandler>
+-	static void send(const SessionTakeOverPacket& p, asio::ip::tcp::socket& socket, WriteHandler handler) {
+-		asio::async_write(socket, asio::buffer(&p.type(), 1), handler);
++	static void send(const SessionTakeOverPacket& p, boost::asio::ip::tcp::socket& socket, WriteHandler handler) {
++		boost::asio::async_write(socket, boost::asio::buffer(&p.type(), 1), handler);
+ 	}
+ 
+ }
+--- abiword-3.0.1/plugins/collab/backends/service/xp/AsyncWorker.h.orig	2013-04-07 15:53:03.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/AsyncWorker.h	2016-05-15 18:57:50.997154789 +0200
+@@ -19,7 +19,7 @@
+ #ifndef __ASYNC_WORKER__
+ #define __ASYNC_WORKER__
+ 
+-#include <asio.hpp>
++#include <boost/thread.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/function.hpp>
+ #include <boost/noncopyable.hpp>
+@@ -50,7 +50,7 @@ public:
+ 		m_synchronizer.reset(new Synchronizer(boost::bind(&AsyncWorker<T>::_signal,
+ 												boost::enable_shared_from_this<AsyncWorker<T> >::shared_from_this())));
+ 		m_thread_ptr.reset(
+-				new asio::thread(
++				new boost::thread(
+ 					boost::bind(&AsyncWorker::_thread_func,
+ 								AsyncWorker<T>::shared_from_this())
+ 				)
+@@ -75,7 +75,7 @@ private:
+ 	boost::function<T ()>					m_async_func;
+ 	boost::function<void (T)>				m_async_callback;
+ 	boost::shared_ptr<Synchronizer>			m_synchronizer;
+-	boost::shared_ptr<asio::thread>			m_thread_ptr;
++	boost::shared_ptr<boost::thread>			m_thread_ptr;
+ 	T										m_func_result;
+ };
+ 
+--- abiword-3.0.1/plugins/collab/backends/service/xp/RealmConnection.cpp.orig	2013-07-05 03:51:21.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/RealmConnection.cpp	2016-05-15 19:03:12.877133249 +0200
+@@ -19,6 +19,7 @@
+ #include <boost/function.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/lexical_cast.hpp>
++#include <boost/thread.hpp>
+ #include "ut_assert.h"
+ #include "ut_debugmsg.h"
+ #include "ServiceAccountHandler.h"
+@@ -68,7 +69,7 @@ bool RealmConnection::connect()
+ 			// setup our local TLS tunnel to the realm
+ 			m_tls_tunnel_ptr.reset(new tls_tunnel::ClientProxy(m_address, m_port, m_ca_file, false));
+ 			m_tls_tunnel_ptr->setup();
+-			asio::thread thread(boost::bind(&tls_tunnel::ClientProxy::run, m_tls_tunnel_ptr));
++			boost::thread thread(boost::bind(&tls_tunnel::ClientProxy::run, m_tls_tunnel_ptr));
+ 
+ 			// make sure we connect to the tunnel, and not directly to the realm
+ 			address = m_tls_tunnel_ptr->local_address();
+@@ -76,13 +77,13 @@ bool RealmConnection::connect()
+ 		}
+ 
+ 		// connect!
+-		asio::ip::tcp::resolver::query query(address, boost::lexical_cast<std::string>(port));
+-		asio::ip::tcp::resolver resolver(m_io_service);
+-		asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
++		boost::asio::ip::tcp::resolver::query query(address, boost::lexical_cast<std::string>(port));
++		boost::asio::ip::tcp::resolver resolver(m_io_service);
++		boost::asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
+ 
+ 		bool connected = false;
+-		asio::error_code error_code;
+-		while (iterator != asio::ip::tcp::resolver::iterator())
++		boost::system::error_code error_code;
++		while (iterator != boost::asio::ip::tcp::resolver::iterator())
+ 		{
+ 			try
+ 			{
+@@ -90,7 +91,7 @@ bool RealmConnection::connect()
+ 				connected = true;
+ 				break;
+ 			}
+-			catch (asio::system_error se)
++			catch (boost::system::system_error se)
+ 			{
+ 				error_code = se.code();
+ 				try { m_socket.close(); } catch(...) {}
+@@ -99,7 +100,7 @@ bool RealmConnection::connect()
+ 		}
+ 		if (!connected)
+ 		{
+-			UT_DEBUGMSG(("Error connecting to realm: %s", asio::system_error(error_code).what()));
++			UT_DEBUGMSG(("Error connecting to realm: %s", boost::system::system_error(error_code).what()));
+ 			return false;
+ 		}
+ 	}
+@@ -108,7 +109,7 @@ bool RealmConnection::connect()
+ 		UT_DEBUGMSG(("tls_tunnel exception connecting to realm: %s\n", e.message().c_str()));
+ 		return false;
+ 	}
+-	catch (asio::system_error& se)
++	catch (boost::system::system_error& se)
+ 	{
+ 		UT_DEBUGMSG(("Error connecting to realm: %s\n", se.what()));
+ 		return false;
+@@ -131,7 +132,7 @@ bool RealmConnection::connect()
+ 	// start reading realm messages
+ 	_receive();	
+ 	
+-	m_thread_ptr.reset(new asio::thread(boost::bind(&asio::io_service::run, &m_io_service)));
++	m_thread_ptr.reset(new boost::thread(boost::bind(&boost::asio::io_service::run, &m_io_service)));
+ 	return true;
+ }
+ 
+@@ -145,8 +146,8 @@ void RealmConnection::disconnect()
+ 	// the complete disconnect
+ 	if (m_socket.is_open())
+ 	{
+-		asio::error_code ac;
+-		m_socket.shutdown(asio::ip::tcp::socket::shutdown_both, ac);
++		boost::system::error_code ac;
++		m_socket.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ac);
+ 		m_socket.close(ac);
+ 	}
+ }
+@@ -217,8 +218,8 @@ void RealmConnection::_disconnect()
+ 	
+ 	if (m_socket.is_open())
+ 	{
+-		asio::error_code ac;
+-		m_socket.shutdown(asio::ip::tcp::socket::shutdown_both, ac);
++		boost::system::error_code ac;
++		m_socket.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ac);
+ 		m_socket.close(ac);
+ 	}
+ 	
+@@ -266,13 +267,13 @@ bool RealmConnection::_login()
+ 	{
+ 		// send the login credententials
+ 		// TODO: we should check the number of bytes written
+-		asio::write(m_socket, asio::buffer(header));
++		boost::asio::write(m_socket, boost::asio::buffer(header));
+ 		
+ 		// read the login response
+ 		// TODO: we should check the number of bytes read
+-		asio::read(m_socket, asio::buffer(&response[0], response.size()));
++		boost::asio::read(m_socket, boost::asio::buffer(&response[0], response.size()));
+ 	}
+-	catch (asio::system_error e)
++	catch (boost::system::system_error e)
+ 	{
+ 		UT_DEBUGMSG(("Error while writing/writing protocol header: %s\n", e.what()));
+ 		return false;
+@@ -315,7 +316,7 @@ UserJoinedPacketPtr RealmConnection::_re
+ {
+ 	// receive the packet type
+ 	std::string msg(1, '\0');
+-	asio::read(m_socket, asio::buffer(&msg[0], msg.size()));
++	boost::asio::read(m_socket, boost::asio::buffer(&msg[0], msg.size()));
+ 	rpv1::packet_type packet_type = static_cast<rpv1::packet_type>(msg[0]);
+ 	if (packet_type != rpv1::PACKET_USERJOINED)
+ 		return UserJoinedPacketPtr();
+@@ -326,17 +327,17 @@ UserJoinedPacketPtr RealmConnection::_re
+ 		uint8_t conn_id = 0;
+ 		uint8_t m = 0;
+ 
+-		boost::array<asio::mutable_buffer, 3> buf = {{
+-			asio::buffer(&payload_size, sizeof(payload_size)),
+-			asio::buffer(&conn_id, sizeof(conn_id)),
+-			asio::buffer(&m, sizeof(m)) }};
+-		asio::read(m_socket, buf);
++		boost::array<boost::asio::mutable_buffer, 3> buf = {{
++			boost::asio::buffer(&payload_size, sizeof(payload_size)),
++			boost::asio::buffer(&conn_id, sizeof(conn_id)),
++			boost::asio::buffer(&m, sizeof(m)) }};
++		boost::asio::read(m_socket, buf);
+ 
+ 		boost::shared_ptr<std::string> userinfo_ptr(new std::string(payload_size - 2, '\0'));
+-		asio::read(m_socket, asio::buffer(&(*userinfo_ptr)[0], userinfo_ptr->size()));
++		boost::asio::read(m_socket, boost::asio::buffer(&(*userinfo_ptr)[0], userinfo_ptr->size()));
+ 
+ 		return UserJoinedPacketPtr(new rpv1::UserJoinedPacket(conn_id, static_cast<bool>(m), userinfo_ptr));
+-	} catch (asio::system_error se) {
++	} catch (boost::system::system_error se) {
+ 		return UserJoinedPacketPtr(); 
+ 	}
+ }
+@@ -346,12 +347,12 @@ void RealmConnection::_receive()
+ 	UT_DEBUGMSG(("RealmConnection::_receive()\n"));
+ 	m_buf.clear();
+ 	boost::shared_ptr<std::string> msg_ptr(new std::string(1, '\0'));
+-	asio::async_read(m_socket, asio::buffer(&(*msg_ptr)[0], msg_ptr->size()),
++	boost::asio::async_read(m_socket, boost::asio::buffer(&(*msg_ptr)[0], msg_ptr->size()),
+ 		boost::bind(&RealmConnection::_message, shared_from_this(),
+-			asio::placeholders::error, asio::placeholders::bytes_transferred, msg_ptr));
++			boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, msg_ptr));
+ }
+ 
+-void RealmConnection::_message(const asio::error_code& e, std::size_t /*bytes_transferred*/, boost::shared_ptr<std::string> msg_ptr)
++void RealmConnection::_message(const boost::system::error_code& e, std::size_t /*bytes_transferred*/, boost::shared_ptr<std::string> msg_ptr)
+ {
+ 	UT_DEBUGMSG(("RealmConnection::_message()\n"));
+ 	if (e)
+@@ -390,15 +391,15 @@ void RealmConnection::_complete_packet(r
+ 			UT_DEBUGMSG(("Need more data (%d bytes) for this packet...\n", bytes_needed));
+ 			// read the needed number of bytes
+ 			char* ptr = m_buf.prepare(bytes_needed);
+-			asio::async_read(m_socket, asio::buffer(ptr, bytes_needed),
++			boost::asio::async_read(m_socket, boost::asio::buffer(ptr, bytes_needed),
+ 							boost::bind(&RealmConnection::_complete, shared_from_this(),
+-								asio::placeholders::error, asio::placeholders::bytes_transferred, packet_ptr)
++								boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, packet_ptr)
+ 							);
+ 			break;
+ 	}
+ }
+ 
+-void RealmConnection::_complete(const asio::error_code& e, std::size_t bytes_transferred, realm::protocolv1::PacketPtr packet_ptr)
++void RealmConnection::_complete(const boost::system::error_code& e, std::size_t bytes_transferred, realm::protocolv1::PacketPtr packet_ptr)
+ {
+ 	UT_DEBUGMSG(("RealmConnection::_complete()\n"));
+ 	if (e)
+--- abiword-3.0.1/plugins/collab/backends/service/xp/RealmConnection.h.orig	2013-07-05 03:51:21.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/RealmConnection.h	2016-05-15 18:58:28.419089961 +0200
+@@ -21,7 +21,8 @@
+ 
+ #include <boost/shared_ptr.hpp>
+ #include <boost/enable_shared_from_this.hpp>
+-#include <asio.hpp>
++#include <boost/asio.hpp>
++#include <boost/thread.hpp>
+ #include <vector>
+ #include <string>
+ #include "ut_types.h"
+@@ -90,7 +91,7 @@ public:
+ 		{ m_pDoc = pDoc; }
+ 	SynchronizedQueue<realm::protocolv1::PacketPtr>&		queue()
+ 		{ return m_packet_queue; }
+-	asio::ip::tcp::socket&				socket()
++	boost::asio::ip::tcp::socket&				socket()
+ 		{ return m_socket; }
+ 
+ 	void								loadDocumentStart(AP_Dialog_GenericProgress* pDlg,
+@@ -113,21 +114,21 @@ private:
+ 	bool								_login();
+ 	UserJoinedPacketPtr					_receiveUserJoinedPacket();
+ 	void								_receive();
+-	void								_message(const asio::error_code& e,
++	void								_message(const boost::system::error_code& e,
+ 												std::size_t bytes_transferred,
+ 												boost::shared_ptr<std::string> msg_ptr);
+ 
+ 	void								_complete_packet(realm::protocolv1::PacketPtr packet_ptr);
+-	void								_complete(const asio::error_code& e, std::size_t bytes_transferred,
++	void								_complete(const boost::system::error_code& e, std::size_t bytes_transferred,
+ 												realm::protocolv1::PacketPtr packet_ptr);
+ 
+-	asio::io_service					m_io_service;
++	boost::asio::io_service					m_io_service;
+ 	std::string							m_ca_file;
+ 	std::string							m_address;
+ 	int									m_port;
+ 	int									m_tls;
+-	asio::ip::tcp::socket				m_socket;
+-	boost::shared_ptr<asio::thread>		m_thread_ptr;
++	boost::asio::ip::tcp::socket				m_socket;
++	boost::shared_ptr<boost::thread>		m_thread_ptr;
+ 	std::string							m_cookie;
+ 	UT_uint64							m_user_id; // only valid after login
+ 	UT_uint8							m_connection_id; // only valid after login
+--- abiword-3.0.1/plugins/collab/backends/service/xp/RealmProtocol.h.orig	2012-05-25 18:12:56.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/RealmProtocol.h	2016-05-15 18:43:04.911353671 +0200
+@@ -9,7 +9,7 @@
+ #include <stdint.h>
+ #endif
+ #include <boost/shared_ptr.hpp>
+-#include <asio.hpp>
++#include <boost/asio.hpp>
+ 
+ namespace realm {
+ 
+@@ -29,7 +29,7 @@ namespace protocolv1 {
+ 
+ class Packet;
+ typedef boost::shared_ptr<Packet> PacketPtr;
+-typedef boost::shared_ptr<asio::streambuf> StreamPtr;
++typedef boost::shared_ptr<boost::asio::streambuf> StreamPtr;
+ 
+ // the packet type values must match up the corresponding body_size in
+ // RealmProtocol.cpp (ugly, but it's fast)!
+--- abiword-3.0.1/plugins/collab/backends/service/xp/ServiceAccountHandler.cpp.orig	2013-07-05 03:51:21.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/ServiceAccountHandler.cpp	2016-05-15 19:03:33.601538287 +0200
+@@ -437,7 +437,7 @@ bool ServiceAccountHandler::send(const P
+ 	return true;
+ }
+ 
+-void ServiceAccountHandler::_write_handler(const asio::error_code& e, std::size_t /*bytes_transferred*/,
++void ServiceAccountHandler::_write_handler(const boost::system::error_code& e, std::size_t /*bytes_transferred*/,
+ 											boost::shared_ptr<const RealmBuddy> /*recipient*/, boost::shared_ptr<realm::protocolv1::Packet> packet)
+ {
+ 	if (e)
+@@ -453,7 +453,7 @@ void ServiceAccountHandler::_write_handl
+ 	}
+ }										   
+ 
+-void ServiceAccountHandler::_write_result(const asio::error_code& e, std::size_t /*bytes_transferred*/,
++void ServiceAccountHandler::_write_result(const boost::system::error_code& e, std::size_t /*bytes_transferred*/,
+ 													ConnectionPtr /*connection*/, boost::shared_ptr<realm::protocolv1::Packet> packet)
+ {
+ 	if (e)
+@@ -1709,7 +1709,7 @@ void ServiceAccountHandler::_handleMessa
+ 							boost::shared_ptr<rpv1::SessionTakeOverPacket> stop(new rpv1::SessionTakeOverPacket());
+ 							rpv1::send(*stop, connection->socket(), 
+ 									boost::bind(&ServiceAccountHandler::_write_result, this,
+-										asio::placeholders::error, asio::placeholders::bytes_transferred, connection,
++										boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, connection,
+ 											boost::static_pointer_cast<rpv1::Packet>(stop))	
+ 								);
+ 
+--- abiword-3.0.1/plugins/collab/backends/service/xp/ServiceAccountHandler.h.orig	2013-04-07 15:53:03.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/service/xp/ServiceAccountHandler.h	2016-05-15 18:58:43.736548728 +0200
+@@ -149,14 +149,14 @@ private:
+ 	{
+ 		realm::protocolv1::send(*packet, recipient->connection()->socket(),
+ 			boost::bind(&ServiceAccountHandler::_write_handler, this,
+-							asio::placeholders::error, asio::placeholders::bytes_transferred, recipient,
++							boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, recipient,
+ 							boost::static_pointer_cast<rpv1::Packet>(packet)));
+ 	}
+ 
+-	void									_write_handler(const asio::error_code& e, std::size_t bytes_transferred,
++	void									_write_handler(const boost::system::error_code& e, std::size_t bytes_transferred,
+ 													boost::shared_ptr<const RealmBuddy> recipient, boost::shared_ptr<rpv1::Packet> packet);
+ 
+-	void									_write_result(const asio::error_code& e, std::size_t bytes_transferred,
++	void									_write_result(const boost::system::error_code& e, std::size_t bytes_transferred,
+ 													ConnectionPtr connection, boost::shared_ptr<rpv1::Packet> packet);
+ 
+ 	bool									_listDocuments(soa::function_call_ptr fc_ptr,
+--- abiword-3.0.1/plugins/collab/backends/service/xp/tls_tunnel.cpp.orig	2014-11-04 02:12:14.000000000 +0100
++++ abiword-3.0.1/plugins/collab/backends/service/xp/tls_tunnel.cpp	2016-05-15 19:12:18.015323548 +0200
+@@ -45,7 +45,7 @@ namespace tls_tunnel {
+ #define TLS_VERIFY_HOSTNAME_ERROR "Error verifying hostname"
+ #define TLS_CANT_GET_PEER_CERT_ERROR "Failed to get peer certificate"
+ 
+-typedef boost::shared_ptr<asio::ip::tcp::socket> socket_ptr_t;
++typedef boost::shared_ptr<boost::asio::ip::tcp::socket> socket_ptr_t;
+ typedef boost::shared_ptr<gnutls_session_t> session_ptr_t;
+ typedef boost::shared_ptr< std::vector<char> > buffer_ptr_t;
+ 
+@@ -79,12 +79,12 @@ public:
+ 	}
+ };
+ 
+-asio::io_service& Transport::io_service() {
++boost::asio::io_service& Transport::io_service() {
+ 	return io_service_;
+ }
+ 
+ void Transport::run() {
+-	asio::error_code ec;
++	boost::system::error_code ec;
+ 	io_service_.run(ec);
+ }
+ 
+@@ -112,17 +112,17 @@ ClientTransport::ClientTransport(const s
+ }
+ 
+ void ClientTransport::connect() {
+-	asio::ip::tcp::resolver resolver(io_service());
+-	asio::ip::tcp::resolver::query query(host_, boost::lexical_cast<std::string>(port_));
+-	asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
+-	socket_ptr_t socket_ptr(new asio::ip::tcp::socket(io_service()));
++	boost::asio::ip::tcp::resolver resolver(io_service());
++	boost::asio::ip::tcp::resolver::query query(host_, boost::lexical_cast<std::string>(port_));
++	boost::asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
++	socket_ptr_t socket_ptr(new boost::asio::ip::tcp::socket(io_service()));
+ 
+-	if (iterator == asio::ip::tcp::resolver::iterator())
+-		throw asio::system_error(asio::error::host_not_found);
++	if (iterator == boost::asio::ip::tcp::resolver::iterator())
++		throw boost::system::system_error(boost::asio::error::host_not_found);
+ 
+ 	bool connected = false;
+-	asio::error_code error_code;
+-	while (iterator != asio::ip::tcp::resolver::iterator())
++	boost::system::error_code error_code;
++	while (iterator != boost::asio::ip::tcp::resolver::iterator())
+ 	{
+ 		try
+ 		{
+@@ -130,7 +130,7 @@ void ClientTransport::connect() {
+ 			connected = true;
+ 			break;
+ 		}
+-		catch (asio::system_error se)
++		catch (boost::system::system_error se)
+ 		{
+ 			error_code = se.code();
+ 			try { socket_ptr->close(); } catch(...) {}
+@@ -138,24 +138,24 @@ void ClientTransport::connect() {
+ 		iterator++;
+ 	}
+ 	if (!connected)
+-		throw asio::system_error(error_code); // throw the last error on failure
++		throw boost::system::system_error(error_code); // throw the last error on failure
+ 	on_connect_(shared_from_this(), socket_ptr);
+ }
+ 
+ ServerTransport::ServerTransport(const std::string& ip, unsigned short port, 
+ 		boost::function<void (transport_ptr_t, socket_ptr_t)> on_connect) 
+ 	: Transport(),
+-	acceptor_(io_service(), asio::ip::tcp::endpoint(asio::ip::address_v4::from_string(ip), port)),
++	acceptor_(io_service(), boost::asio::ip::tcp::endpoint(boost::asio::ip::address_v4::from_string(ip), port)),
+ 	on_connect_(on_connect)
+ {
+ }
+ 
+ void ServerTransport::accept() {
+-	socket_ptr_t socket_ptr(new asio::ip::tcp::socket(io_service()));
+-	acceptor_.async_accept(*socket_ptr, boost::bind(&ServerTransport::on_accept, this, asio::placeholders::error, socket_ptr));
++	socket_ptr_t socket_ptr(new boost::asio::ip::tcp::socket(io_service()));
++	acceptor_.async_accept(*socket_ptr, boost::bind(&ServerTransport::on_accept, this, boost::asio::placeholders::error, socket_ptr));
+ }
+ 
+-void ServerTransport::on_accept(const asio::error_code& error, socket_ptr_t socket_ptr) {
++void ServerTransport::on_accept(const boost::system::error_code& error, socket_ptr_t socket_ptr) {
+ 	if (error) {
+ 		return;
+ 	}
+@@ -164,19 +164,19 @@ void ServerTransport::on_accept(const as
+ }
+ 
+ static ssize_t read(gnutls_transport_ptr_t ptr, void* buffer, size_t size) {
+-	asio::ip::tcp::socket* socket = reinterpret_cast<asio::ip::tcp::socket*>(ptr);
++	boost::asio::ip::tcp::socket* socket = reinterpret_cast<boost::asio::ip::tcp::socket*>(ptr);
+ 	try {
+-		return asio::read(*socket, asio::buffer(buffer, size));
+-	} catch (asio::system_error& /*se*/) {
++		return boost::asio::read(*socket, boost::asio::buffer(buffer, size));
++	} catch (boost::system::system_error& /*se*/) {
+ 		return -1;
+ 	}
+ }
+ 
+ static ssize_t write(gnutls_transport_ptr_t ptr, const void* buffer, size_t size) {
+-	asio::ip::tcp::socket* socket = reinterpret_cast<asio::ip::tcp::socket*>(ptr);
++	boost::asio::ip::tcp::socket* socket = reinterpret_cast<boost::asio::ip::tcp::socket*>(ptr);
+ 	try {
+-		return asio::write(*socket, asio::buffer(buffer, size));
+-	} catch (asio::system_error& /*se*/) {
++		return boost::asio::write(*socket, boost::asio::buffer(buffer, size));
++	} catch (boost::system::system_error& /*se*/) {
+ 		return -1;
+ 	}
+ }
+@@ -223,7 +223,7 @@ Proxy::Proxy(const std::string& ca_file)
+ 		throw Exception(TLS_SETUP_ERROR);
+ }
+ 
+-void Proxy::on_local_read(const asio::error_code& error, std::size_t bytes_transferred,
++void Proxy::on_local_read(const boost::system::error_code& error, std::size_t bytes_transferred,
+ 		transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, 
+ 		buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket_ptr)
+ {
+@@ -240,8 +240,8 @@ void Proxy::on_local_read(const asio::er
+ 	}
+ 
+ 	local_socket_ptr->async_receive(
+-			asio::buffer(&(*local_buffer_ptr)[0], local_buffer_ptr->size()),
+-			boost::bind(&Proxy::on_local_read, this, asio::placeholders::error, asio::placeholders::bytes_transferred,
++			boost::asio::buffer(&(*local_buffer_ptr)[0], local_buffer_ptr->size()),
++			boost::bind(&Proxy::on_local_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred,
+ 					transport_ptr, session_ptr, local_socket_ptr, local_buffer_ptr, remote_socket_ptr)
+ 		);
+ }
+@@ -250,7 +250,7 @@ void Proxy::tunnel(transport_ptr_t trans
+ 		socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr)
+ {
+ 	buffer_ptr_t local_buffer_ptr(new std::vector<char>(LOCAL_BUFFER_SIZE));
+-	t = new asio::thread(boost::bind(&Proxy::tunnel_, this, transport_ptr,
++	t = new boost::thread(boost::bind(&Proxy::tunnel_, this, transport_ptr,
+ 							session_ptr, local_socket_ptr, local_buffer_ptr, remote_socket_ptr));
+ }
+ 
+@@ -262,14 +262,14 @@ void Proxy::disconnect_(transport_ptr_t
+ 		gnutls_bye(*session_ptr, GNUTLS_SHUT_RDWR);
+ 
+ 	// shutdown the sockets belonging to this tunnel
+-	asio::error_code ec;
++	boost::system::error_code ec;
+ 	if (local_socket_ptr && local_socket_ptr->is_open()) {
+-		local_socket_ptr->shutdown(asio::ip::tcp::socket::shutdown_both, ec);
++		local_socket_ptr->shutdown(boost::asio::ip::tcp::socket::shutdown_both, ec);
+ 		local_socket_ptr->close(ec);
+ 	}
+ 
+ 	if (remote_socket_ptr && remote_socket_ptr->is_open()) {	
+-		remote_socket_ptr->shutdown(asio::ip::tcp::socket::shutdown_both, ec);
++		remote_socket_ptr->shutdown(boost::asio::ip::tcp::socket::shutdown_both, ec);
+ 		remote_socket_ptr->close(ec);
+ 	}
+ }
+@@ -278,8 +278,8 @@ void Proxy::tunnel_(transport_ptr_t tran
+ 		buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket_ptr)
+ {
+ 	local_socket_ptr->async_receive(
+-			asio::buffer(&(*local_buffer_ptr)[0], local_buffer_ptr->size()),
+-			boost::bind(&Proxy::on_local_read, this, asio::placeholders::error, asio::placeholders::bytes_transferred, 
++			boost::asio::buffer(&(*local_buffer_ptr)[0], local_buffer_ptr->size()),
++			boost::bind(&Proxy::on_local_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, 
+ 					transport_ptr, session_ptr, local_socket_ptr, local_buffer_ptr, remote_socket_ptr)
+ 		);
+ 	
+@@ -297,8 +297,8 @@ void Proxy::tunnel_(transport_ptr_t tran
+ 		
+ 		// forward the data over the local connection
+ 		try {
+-			asio::write(*local_socket_ptr, asio::buffer(&tunnel_buffer[0], bytes_transferred));
+-		} catch (asio::system_error& /*se*/) {
++			boost::asio::write(*local_socket_ptr, boost::asio::buffer(&tunnel_buffer[0], bytes_transferred));
++		} catch (boost::system::system_error& /*se*/) {
+ 			break;
+ 		}
+ 	}
+@@ -333,15 +333,15 @@ void ClientProxy::setup()
+ 		for (unsigned short port = MIN_CLIENT_PORT; port <= MAX_CLIENT_PORT; port++) {
+ 			try {
+ 				acceptor_ptr.reset(
+-						new asio::ip::tcp::acceptor(transport_ptr_->io_service(),
+-														asio::ip::tcp::endpoint(asio::ip::address_v4::from_string(local_address_),
++						new boost::asio::ip::tcp::acceptor(transport_ptr_->io_service(),
++														boost::asio::ip::tcp::endpoint(boost::asio::ip::address_v4::from_string(local_address_),
+ 														port), false));
+ 				local_port_ = port;
+ 				break;
+-			} catch (asio::system_error& se) {
++			} catch (boost::system::system_error& se) {
+ 				if (port == MAX_CLIENT_PORT)
+ 					throw se;
+-				if (se.code() != asio::error::address_in_use)
++				if (se.code() != boost::asio::error::address_in_use)
+ 					throw se;
+ 				// this port is already in use, try another one
+ 				continue;
+@@ -350,7 +350,7 @@ void ClientProxy::setup()
+ 
+ 		// connect the transport
+ 		boost::static_pointer_cast<ClientTransport>(transport_ptr_)->connect();
+-	} catch (asio::system_error& se) {
++	} catch (boost::system::system_error& se) {
+ 		throw Exception(std::string(TRANSPORT_ERROR) + se.what());
+ 	}	
+ }
+@@ -378,12 +378,12 @@ void ClientProxy::on_transport_connect(t
+ 	}
+ 	
+ 	// start accepting connections on the local socket
+-	socket_ptr_t local_socket_ptr(new asio::ip::tcp::socket(transport_ptr->io_service()));
++	socket_ptr_t local_socket_ptr(new boost::asio::ip::tcp::socket(transport_ptr->io_service()));
+ 	acceptor_ptr->async_accept(*local_socket_ptr, boost::bind(&ClientProxy::on_client_connect, this, 
+-			asio::placeholders::error, transport_ptr, session_ptr, local_socket_ptr, remote_socket_ptr));
++			boost::asio::placeholders::error, transport_ptr, session_ptr, local_socket_ptr, remote_socket_ptr));
+ }
+ 
+-void ClientProxy::on_client_connect(const asio::error_code& error, 
++void ClientProxy::on_client_connect(const boost::system::error_code& error, 
+ 		transport_ptr_t transport_ptr, session_ptr_t session_ptr,
+ 		socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr) {
+ 	if (error) {
+@@ -456,7 +456,7 @@ try
+ 		throw Exception(TLS_SETUP_ERROR);
+ 
+ 	gnutls_certificate_set_dh_params(x509cred, dh_params);
+-} catch (asio::system_error& se) {
++} catch (boost::system::system_error& se) {
+ 	throw Exception(std::string(TRANSPORT_ERROR) + se.what());
+ }
+ 
+@@ -477,14 +477,14 @@ void ServerProxy::on_transport_connect(t
+ 		return;
+ 	}
+ 	
+-	socket_ptr_t local_socket_ptr(new asio::ip::tcp::socket(transport_ptr->io_service()));
++	socket_ptr_t local_socket_ptr(new boost::asio::ip::tcp::socket(transport_ptr->io_service()));
+ 	try {
+-		asio::ip::tcp::resolver resolver(transport_ptr->io_service());
+-		asio::ip::tcp::resolver::query query("127.0.0.1", boost::lexical_cast<std::string>(local_port_));
+-		asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
++		boost::asio::ip::tcp::resolver resolver(transport_ptr->io_service());
++		boost::asio::ip::tcp::resolver::query query("127.0.0.1", boost::lexical_cast<std::string>(local_port_));
++		boost::asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
+ 
+ 		bool connected = false;
+-		while (iterator != asio::ip::tcp::resolver::iterator())
++		while (iterator != boost::asio::ip::tcp::resolver::iterator())
+ 		{
+ 			try
+ 			{
+@@ -492,7 +492,7 @@ void ServerProxy::on_transport_connect(t
+ 				connected = true;
+ 				break;
+ 			}
+-			catch (asio::system_error /*se*/)
++			catch (boost::system::system_error /*se*/)
+ 			{
+ 				// make sure we close the socket after a failed attempt, as it
+ 				// may have been opened by the connect() call.
+@@ -505,7 +505,7 @@ void ServerProxy::on_transport_connect(t
+ 			disconnect_(transport_ptr, session_ptr, local_socket_ptr, remote_socket_ptr);
+ 			return;
+ 		}
+-	} catch (asio::system_error& /*se*/) {
++	} catch (boost::system::system_error& /*se*/) {
+ 		disconnect_(transport_ptr, session_ptr, local_socket_ptr, remote_socket_ptr);
+ 		return;
+ 	}
+--- abiword-3.0.1/plugins/collab/backends/service/xp/tls_tunnel.h.orig	2014-11-04 02:12:14.000000000 +0100
++++ abiword-3.0.1/plugins/collab/backends/service/xp/tls_tunnel.h	2016-05-15 18:59:24.148638527 +0200
+@@ -33,7 +33,8 @@
+ #include <boost/function.hpp>
+ #include <boost/lexical_cast.hpp>
+ #include <boost/enable_shared_from_this.hpp>
+-#include <asio.hpp>
++#include <boost/asio.hpp>
++#include <boost/thread.hpp>
+ #include <string>
+ #include <vector>
+ #ifdef _MSC_VER
+@@ -45,7 +46,7 @@ typedef int pid_t;
+ 
+ namespace tls_tunnel {
+ 
+-typedef boost::shared_ptr<asio::ip::tcp::socket> socket_ptr_t;
++typedef boost::shared_ptr<boost::asio::ip::tcp::socket> socket_ptr_t;
+ typedef boost::shared_ptr<gnutls_session_t> session_ptr_t;
+ typedef boost::shared_ptr< std::vector<char> > buffer_ptr_t;
+ 
+@@ -59,7 +60,7 @@ private:
+ 
+ class Transport : public boost::enable_shared_from_this<Transport> {
+ public:
+-	asio::io_service& io_service();
++	boost::asio::io_service& io_service();
+ 	void run();
+ 	void stop();
+ 
+@@ -68,8 +69,8 @@ protected:
+ 	virtual ~Transport();
+ 
+ private:
+-	asio::io_service io_service_;
+-	asio::io_service::work work_;
++	boost::asio::io_service io_service_;
++	boost::asio::io_service::work work_;
+ };
+ 
+ typedef boost::shared_ptr<Transport> transport_ptr_t;
+@@ -92,9 +93,9 @@ public:
+ 			boost::function<void (transport_ptr_t, socket_ptr_t)> on_connect);
+ 	void accept();
+ private:
+-	void on_accept(const asio::error_code& error, socket_ptr_t socket_ptr);
++	void on_accept(const boost::system::error_code& error, socket_ptr_t socket_ptr);
+ 
+-	asio::ip::tcp::acceptor acceptor_;
++	boost::asio::ip::tcp::acceptor acceptor_;
+ 	boost::function<void (transport_ptr_t, socket_ptr_t)> on_connect_;
+ };
+ 
+@@ -110,7 +111,7 @@ public:
+ protected:
+ 	Proxy(const std::string& ca_file);
+ 
+-	void on_local_read(const asio::error_code& error, std::size_t bytes_transferred,
++	void on_local_read(const boost::system::error_code& error, std::size_t bytes_transferred,
+ 			transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr,
+ 			buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket_ptr);
+ 	void tunnel(transport_ptr_t transport_ptr, session_ptr_t session_ptr,
+@@ -127,7 +128,7 @@ private:
+ 			socket_ptr_t local_socket_ptr, buffer_ptr_t local_buffer_ptr,
+ 			socket_ptr_t remote_socket);
+ 
+-	asio::thread* t;
++	boost::thread* t;
+ };
+ 
+ // FIXME: this clientproxy can only handle 1 SSL connection at the same time
+@@ -144,7 +145,7 @@ public:
+ 
+ private:
+ 	void on_transport_connect(transport_ptr_t transport_ptr, socket_ptr_t remote_socket_ptr);
+-	void on_client_connect(const asio::error_code& error, transport_ptr_t transport_ptr,
++	void on_client_connect(const boost::system::error_code& error, transport_ptr_t transport_ptr,
+ 			session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr);
+ 	session_ptr_t setup_tls_session(socket_ptr_t remote_socket_ptr);
+ 
+@@ -152,7 +153,7 @@ private:
+ 	unsigned short local_port_;
+ 	std::string connect_address_;
+ 	unsigned short connect_port_;
+-	boost::shared_ptr<asio::ip::tcp::acceptor> acceptor_ptr;
++	boost::shared_ptr<boost::asio::ip::tcp::acceptor> acceptor_ptr;
+ 	bool check_hostname_;
+ };
+ 
+--- abiword-3.0.1/plugin-configure.m4.orig	2014-12-23 06:13:14.000000000 +0100
++++ abiword-3.0.1/plugin-configure.m4	2016-05-15 19:15:04.470598705 +0200
+@@ -565,7 +565,7 @@
+ 	enable_collab_backend_tcp=$enableval
+ 	if test "$enable_collab_backend_tcp" != "no"; then
+ 		AC_LANG_PUSH(C++)
+-		AC_CHECK_HEADERS([asio.hpp], [], 
++		AC_CHECK_HEADERS([boost/asio.hpp], [], 
+ 		[
+ 			AC_MSG_ERROR([collab plugin: asio is required for the collab plugin TCP backend, see http://think-async.com/])
+ 		])
+@@ -573,7 +573,7 @@
+ 	fi
+ ], [
+ 	AC_LANG_PUSH(C++)
+-	AC_CHECK_HEADERS([asio.hpp], 
++	AC_CHECK_HEADERS([boost/asio.hpp], 
+ 	[
+ 		enable_collab_backend_tcp="yes"
+ 	])
+@@ -604,7 +604,7 @@
+ 	enable_collab_backend_service=$enableval
+ 	if test "$enable_collab_backend_service" != "no"; then
+ 		AC_LANG_PUSH(C++)
+-		AC_CHECK_HEADERS([asio.hpp], [], 
++		AC_CHECK_HEADERS([boost/asio.hpp], [], 
+ 		[
+ 			AC_MSG_ERROR([collab plugin: asio is required for the the abicollab.net backend, see http://think-async.com/])
+ 		])
+@@ -612,7 +612,7 @@
+ 	fi
+ ], [
+ 	AC_LANG_PUSH(C++)
+-	AC_CHECK_HEADERS([asio.hpp],
++	AC_CHECK_HEADERS([boost/asio.hpp],
+ 	[
+ 		enable_collab_backend_service="yes"
+ 	])
+--- abiword-3.0.1/plugins/collab/backends/tcp/xp/IOServerHandler.h.orig	2013-07-05 03:51:21.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/tcp/xp/IOServerHandler.h	2016-05-16 18:14:49.934309134 +0200
+@@ -23,7 +23,7 @@
+ 
+ #include <boost/bind.hpp>
+ #include <boost/function.hpp>
+-#include <asio.hpp>
++#include <boost/asio.hpp>
+ 
+ #include <sync/xp/Synchronizer.h>
+ #include "Session.h"
+@@ -34,7 +34,7 @@ class IOServerHandler
+ {
+ public:
+ 	IOServerHandler(int port, boost::function<void (IOServerHandler*, boost::shared_ptr<Session>)> af,
+-					boost::function<void (boost::shared_ptr<Session>)> ef, asio::io_service& io_service_)
++					boost::function<void (boost::shared_ptr<Session>)> ef, boost::asio::io_service& io_service_)
+ 	:	accept_synchronizer(boost::bind(&IOServerHandler::_signal, this)),
+ 		io_service(io_service_),
+ 		m_pAcceptor(NULL),
+@@ -43,7 +43,7 @@ public:
+ 		m_ef(ef)
+ 	{
+  		UT_DEBUGMSG(("IOServerHandler()\n"));
+- 		m_pAcceptor = new asio::ip::tcp::acceptor(io_service, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port));
++ 		m_pAcceptor = new boost::asio::ip::tcp::acceptor(io_service, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), port));
+ 	}
+ 
+ 	virtual ~IOServerHandler()
+@@ -76,7 +76,7 @@ public:
+  		session_ptr.reset(new Session(io_service, m_ef));
+ 		m_pAcceptor->async_accept(session_ptr->getSocket(),
+ 			boost::bind(&IOServerHandler::handleAsyncAccept,
+-				this, asio::placeholders::error));
++				this, boost::asio::placeholders::error));
+ 	}
+ 
+ private:
+@@ -88,7 +88,7 @@ private:
+ 		m_af(this, session_ptr);
+ 	}
+ 
+-	void handleAsyncAccept(const asio::error_code& ec)
++	void handleAsyncAccept(const boost::system::error_code& ec)
+ 	{
+ 		UT_DEBUGMSG(("IOServerHandler::handleAsyncAccept()\n"));
+ 		if (ec)
+@@ -100,8 +100,8 @@ private:
+ 	}
+ 
+ 	Synchronizer				accept_synchronizer;
+-	asio::io_service&			io_service;
+-	asio::ip::tcp::acceptor*	m_pAcceptor;
++	boost::asio::io_service&			io_service;
++	boost::asio::ip::tcp::acceptor*	m_pAcceptor;
+ 	boost::shared_ptr<Session>	session_ptr;
+ 
+ 	boost::function<void (IOServerHandler*, boost::shared_ptr<Session>)> m_af;
+--- abiword-3.0.1/plugins/collab/backends/tcp/xp/Session.h.orig	2014-02-06 02:12:15.000000000 +0100
++++ abiword-3.0.1/plugins/collab/backends/tcp/xp/Session.h	2016-05-16 18:30:27.198273019 +0200
+@@ -35,7 +35,7 @@ class TCPAccountHandler;
+ class Session : public Synchronizer, public boost::noncopyable, public boost::enable_shared_from_this<Session>
+ {
+ public:
+-	Session(asio::io_service& io_service, boost::function<void (boost::shared_ptr<Session>)> ef)
++	Session(boost::asio::io_service& io_service, boost::function<void (boost::shared_ptr<Session>)> ef)
+ 		: Synchronizer(boost::bind(&Session::_signal, this)),
+ 		socket(io_service),
+ 		queue_protector(),
+@@ -43,13 +43,13 @@ public:
+ 	{
+ 	}
+ 
+-	void connect(asio::ip::tcp::resolver::iterator& iterator)
++	void connect(boost::asio::ip::tcp::resolver::iterator& iterator)
+ 	{
+ 		socket.connect(*iterator);
+ 	}
+ 
+ 	// TODO: don't expose this
+-	asio::ip::tcp::socket& getSocket()
++	boost::asio::ip::tcp::socket& getSocket()
+ 	{
+ 		return socket;
+ 	}
+@@ -94,9 +94,9 @@ public:
+ 	{
+ 		UT_DEBUGMSG(("Session::asyncReadHeader()\n"));
+ 		packet_data = 0; // just to be sure we'll never touch a datablock we might have read before
+-		asio::async_read(socket,
+-			asio::buffer(&packet_size, 4),
+-			boost::bind(&Session::asyncReadHeaderHandler, shared_from_this(), asio::placeholders::error, asio::placeholders::bytes_transferred));
++		boost::asio::async_read(socket,
++			boost::asio::buffer(&packet_size, 4),
++			boost::bind(&Session::asyncReadHeaderHandler, shared_from_this(), boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
+ 	}
+ 
+ 	void asyncWrite(int size, const char* data)
+@@ -115,9 +115,9 @@ public:
+ 			packet_data_write = store_data;
+ 
+ 			UT_DEBUGMSG(("sending datablock of length: %d\n", packet_size_write));
+-			asio::async_write(socket,
+-				asio::buffer(&packet_size_write, 4),
+-				boost::bind(&Session::asyncWriteHeaderHandler, shared_from_this(), asio::placeholders::error));
++			boost::asio::async_write(socket,
++				boost::asio::buffer(&packet_size_write, 4),
++				boost::bind(&Session::asyncWriteHeaderHandler, shared_from_this(), boost::asio::placeholders::error));
+ 		}
+ 	}
+ 
+@@ -134,12 +134,12 @@ public:
+ 		UT_DEBUGMSG(("Session::disconnect()\n"));
+ 		if (socket.is_open())
+ 		{
+-			asio::error_code ecs;
+-			socket.shutdown(asio::ip::tcp::socket::shutdown_both, ecs);
++			boost::system::error_code ecs;
++			socket.shutdown(boost::asio::ip::tcp::socket::shutdown_both, ecs);
+ 			if (ecs) {
+ 				UT_DEBUGMSG(("Error shutting down socket: %s\n", ecs.message().c_str()));
+ 			}
+-			asio::error_code ecc;
++			boost::system::error_code ecc;
+ 			socket.close(ecc);
+ 			if (ecc) {
+ 				UT_DEBUGMSG(("Error closing socket: %s\n", ecc.message().c_str()));
+@@ -156,7 +156,7 @@ private:
+ 		m_ef(shared_from_this());
+ 	}
+ 
+-	void asyncReadHeaderHandler(const asio::error_code& error,
++	void asyncReadHeaderHandler(const boost::system::error_code& error,
+ 		std::size_t bytes_transferred)
+ 	{
+ 		if (error)
+@@ -183,12 +183,12 @@ private:
+ 		UT_DEBUGMSG(("going to read datablock of length: %d\n", packet_size));
+ 		// now continue reading the packet data
+ 		packet_data = reinterpret_cast<char*>(g_malloc(packet_size));
+-		asio::async_read(socket,
+-			asio::buffer(packet_data, packet_size),
+-			boost::bind(&Session::asyncReadHandler, shared_from_this(), asio::placeholders::error, asio::placeholders::bytes_transferred));
++		boost::asio::async_read(socket,
++			boost::asio::buffer(packet_data, packet_size),
++			boost::bind(&Session::asyncReadHandler, shared_from_this(), boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
+ 	}
+ 
+-	void asyncReadHandler(const asio::error_code& error,
++	void asyncReadHandler(const boost::system::error_code& error,
+ 		std::size_t bytes_transferred)
+ 	{
+ 		if (error)
+@@ -210,7 +210,7 @@ private:
+ 		asyncReadHeader();
+ 	}
+ 
+-	void asyncWriteHeaderHandler(const asio::error_code& ec)
++	void asyncWriteHeaderHandler(const boost::system::error_code& ec)
+ 	{
+ 		UT_DEBUGMSG(("Session::asyncWriteHeaderHandler()\n"));
+ 		if (ec)
+@@ -221,12 +221,12 @@ private:
+ 		}
+ 
+ 		// write the packet body
+-		asio::async_write(socket,
+-			asio::buffer(packet_data_write, packet_size_write),
+-			boost::bind(&Session::asyncWriteHandler, shared_from_this(), asio::placeholders::error));
++		boost::asio::async_write(socket,
++			boost::asio::buffer(packet_data_write, packet_size_write),
++			boost::bind(&Session::asyncWriteHandler, shared_from_this(), boost::asio::placeholders::error));
+ 	}
+ 
+-	void asyncWriteHandler(const asio::error_code& ec)
++	void asyncWriteHandler(const boost::system::error_code& ec)
+ 	{
+ 		UT_DEBUGMSG(("Session::asyncWriteHandler()\n"));
+ 		FREEP(packet_data_write);
+@@ -247,13 +247,13 @@ private:
+ 
+ 			UT_DEBUGMSG(("sending datablock of length: %d\n", packet_size_write));
+ 
+-			asio::async_write(socket,
+-				asio::buffer(&packet_size_write, 4),
+-				boost::bind(&Session::asyncWriteHeaderHandler, shared_from_this(), asio::placeholders::error));
++			boost::asio::async_write(socket,
++				boost::asio::buffer(&packet_size_write, 4),
++				boost::bind(&Session::asyncWriteHeaderHandler, shared_from_this(), boost::asio::placeholders::error));
+ 		}
+ 	}
+ 
+-	asio::ip::tcp::socket					socket;
++	boost::asio::ip::tcp::socket					socket;
+ 	abicollab::mutex 						queue_protector;
+ 	std::deque< std::pair<int, char*> >		incoming;
+ 	std::deque< std::pair<int, char*> >		outgoing;
+--- abiword-3.0.1/plugins/collab/backends/tcp/xp/TCPAccountHandler.cpp.orig	2013-07-05 03:51:21.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/tcp/xp/TCPAccountHandler.cpp	2016-05-16 18:39:44.224203554 +0200
+@@ -80,7 +80,7 @@ ConnectResult TCPAccountHandler::connect
+ 	UT_return_val_if_fail(!m_bConnected, CONNECT_ALREADY_CONNECTED);
+ 	UT_return_val_if_fail(!m_thread, CONNECT_INTERNAL_ERROR);
+ 	m_io_service.reset();
+-	m_thread = new asio::thread(boost::bind(&asio::io_service::run, &m_io_service));
++	m_thread = new boost::thread(boost::bind(&boost::asio::io_service::run, &m_io_service));
+ 
+ 	// set up the connection
+ 	if (getProperty("server") == "")
+@@ -97,7 +97,7 @@ ConnectResult TCPAccountHandler::connect
+ 			m_bConnected = true; // todo: ask it to the acceptor
+ 			pDelegator->run();
+ 		}
+-		catch (asio::system_error se)
++		catch (boost::system::system_error se)
+ 		{
+ 			UT_DEBUGMSG(("Failed to start accepting connections: %s\n", se.what()));
+ 			_teardownAndDestroyHandler();
+@@ -116,13 +116,13 @@ ConnectResult TCPAccountHandler::connect
+ 
+ 		try
+ 		{
+-			asio::ip::tcp::resolver resolver(m_io_service);
+-			asio::ip::tcp::resolver::query query(getProperty("server"), getProperty("port"));
+-			asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
++			boost::asio::ip::tcp::resolver resolver(m_io_service);
++			boost::asio::ip::tcp::resolver::query query(getProperty("server"), getProperty("port"));
++			boost::asio::ip::tcp::resolver::iterator iterator(resolver.resolve(query));
+ 
+ 			bool connected = false;
+ 			boost::shared_ptr<Session> session_ptr(new Session(m_io_service, boost::bind(&TCPAccountHandler::handleEvent, this, _1)));
+-			while (iterator != asio::ip::tcp::resolver::iterator())
++			while (iterator != boost::asio::ip::tcp::resolver::iterator())
+ 			{
+ 				try
+ 				{
+@@ -132,7 +132,7 @@ ConnectResult TCPAccountHandler::connect
+ 					connected = true;
+ 					break;
+ 				}
+-				catch (asio::system_error se)
++				catch (boost::system::system_error se)
+ 				{
+ 					UT_DEBUGMSG(("Connection attempt failed: %s\n", se.what()));
+ 					// make sure we close the socket after a failed attempt, as it
+@@ -158,7 +158,7 @@ ConnectResult TCPAccountHandler::connect
+ 			addBuddy(pBuddy);
+ 			m_clients.insert(std::pair<TCPBuddyPtr, boost::shared_ptr<Session> >(pBuddy, session_ptr));
+ 		}
+-		catch (asio::system_error se)
++		catch (boost::system::system_error se)
+ 		{
+ 			UT_DEBUGMSG(("Failed to resolve %s:%d: %s\n", getProperty("server").c_str(), _getPort(getProperties()), se.what()));
+ 			_teardownAndDestroyHandler();
+--- abiword-3.0.1/plugins/collab/backends/tcp/xp/TCPAccountHandler.h.orig	2013-04-07 15:53:03.000000000 +0200
++++ abiword-3.0.1/plugins/collab/backends/tcp/xp/TCPAccountHandler.h	2016-05-16 18:37:26.453612079 +0200
+@@ -20,6 +20,7 @@
+ #define __TCPACCOUNTHANDLER__
+ 
+ #include <boost/shared_ptr.hpp>
++#include <boost/thread.hpp>
+ #include <core/account/xp/AccountHandler.h>
+ 
+ #include "IOServerHandler.h"
+@@ -84,9 +85,9 @@ private:
+ 	virtual UT_sint32						_getPort(const PropertyMap& props);
+ 	void									_handleAccept(IOServerHandler* pHandler, boost::shared_ptr<Session> session);
+ 
+-	asio::io_service						m_io_service;
+-	asio::io_service::work					m_work;
+-	asio::thread*							m_thread;
++	boost::asio::io_service						m_io_service;
++	boost::asio::io_service::work					m_work;
++	boost::thread*							m_thread;
+ 	bool									m_bConnected; // TODO: drop this, ask the IO handler
+ 	IOServerHandler*						m_pDelegator;
+ 
diff --git a/abiword-parallel.patch b/abiword-parallel.patch
new file mode 100644
index 0000000..dd86e0f
--- /dev/null
+++ b/abiword-parallel.patch
@@ -0,0 +1,11 @@
+--- abiword-3.0.1/src/Makefile.am.orig	2016-05-15 17:46:25.779731460 +0200
++++ abiword-3.0.1/src/Makefile.am	2016-05-15 18:26:28.726615664 +0200
+@@ -168,7 +168,7 @@
+ 
+ INTROSPECTION_GIRS += Abi- at ABIWORD_SERIES@.gir
+ 
+-Abi_ at ABIWORD_SERIES@.gir: $(INTROSPECTION_SCANNER) libabiword- at ABIWORD_SERIES@.la Makefile
++Abi- at ABIWORD_SERIES@.gir: $(INTROSPECTION_SCANNER) libabiword- at ABIWORD_SERIES@.la Makefile
+ Abi_ at ABI_SUB_SERIES@_gir_INCLUDES = GObject-2.0 Gtk-3.0 Gsf-1
+ Abi_ at ABI_SUB_SERIES@_gir_CFLAGS = $(libabiword_ at ABIWORD_SERIES@_la_CPPFLAGS)
+ Abi_ at ABI_SUB_SERIES@_gir_LIBS = libabiword- at ABIWORD_SERIES@.la
diff --git a/abiword-tidy.patch b/abiword-tidy.patch
new file mode 100644
index 0000000..f81d24b
--- /dev/null
+++ b/abiword-tidy.patch
@@ -0,0 +1,24 @@
+--- abiword-3.0.1/plugin-configure.m4.orig	2014-12-23 06:13:14.000000000 +0100
++++ abiword-3.0.1/plugin-configure.m4	2016-05-15 17:23:24.841565627 +0200
+@@ -1612,7 +1612,7 @@
+ 	inter7eps_found="no"
+ ])
+ 
+-AC_CHECK_HEADERS([tidy/tidy.h],
++AC_CHECK_HEADERS([tidy.h],
+ [
+ 	libtidy_found="yes"
+ ], [
+--- abiword-3.0.1/plugins/mht/xp/tidyReader.h.orig	2013-04-07 15:53:03.000000000 +0200
++++ abiword-3.0.1/plugins/mht/xp/tidyReader.h	2016-05-15 20:06:39.366549827 +0200
+@@ -24,8 +24,8 @@
+ #ifndef TIDYREADER_H
+ #define TIDYREADER_H
+ 
+-#include <tidy/tidy.h>
+-#include <tidy/buffio.h>
++#include <tidy.h>
++#include <buffio.h>
+ 
+ #include "ut_xml.h"
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/abiword.git/commitdiff/a47606702aab916bb73e7d5a613722220bc87dae



More information about the pld-cvs-commit mailing list