commit:     69fcf64318084290fc01b7f2601c8bcb97df080d
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue May 25 11:41:26 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 25 11:54:46 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69fcf643

dev-libs/rapidxml: add Debian patch to fix build

Closes: https://bugs.gentoo.org/791328
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../rapidxml/files/rapidxml-1.13-iterators.patch   | 48 ++++++++++++++++++++++
 dev-libs/rapidxml/rapidxml-1.13-r1.ebuild          |  1 +
 2 files changed, 49 insertions(+)

diff --git a/dev-libs/rapidxml/files/rapidxml-1.13-iterators.patch 
b/dev-libs/rapidxml/files/rapidxml-1.13-iterators.patch
new file mode 100644
index 00000000000..06854524138
--- /dev/null
+++ b/dev-libs/rapidxml/files/rapidxml-1.13-iterators.patch
@@ -0,0 +1,48 @@
+https://sources.debian.org/data/main/r/rapidxml/1.13-3/debian/patches/fix-iterators.patch
+https://bugs.gentoo.org/791328
+--- a/rapidxml_iterators.hpp
++++ b/rapidxml_iterators.hpp
+@@ -18,9 +18,9 @@
+     
+     public:
+ 
+-        typedef typename xml_node<Ch> value_type;
+-        typedef typename xml_node<Ch> &reference;
+-        typedef typename xml_node<Ch> *pointer;
++        typedef typename rapidxml::xml_node<Ch> value_type;
++        typedef typename rapidxml::xml_node<Ch> &reference;
++        typedef typename rapidxml::xml_node<Ch> *pointer;
+         typedef std::ptrdiff_t difference_type;
+         typedef std::bidirectional_iterator_tag iterator_category;
+         
+@@ -56,7 +56,7 @@
+         node_iterator operator++(int)
+         {
+             node_iterator tmp = *this;
+-            ++this;
++            ++(*this);
+             return tmp;
+         }
+ 
+@@ -70,7 +70,7 @@
+         node_iterator operator--(int)
+         {
+             node_iterator tmp = *this;
+-            ++this;
++            ++(*this);
+             return tmp;
+         }
+ 
+@@ -97,9 +97,9 @@
+     
+     public:
+ 
+-        typedef typename xml_attribute<Ch> value_type;
+-        typedef typename xml_attribute<Ch> &reference;
+-        typedef typename xml_attribute<Ch> *pointer;
++        typedef typename rapidxml::xml_attribute<Ch> value_type;
++        typedef typename rapidxml::xml_attribute<Ch> &reference;
++        typedef typename rapidxml::xml_attribute<Ch> *pointer;
+         typedef std::ptrdiff_t difference_type;
+         typedef std::bidirectional_iterator_tag iterator_category;
+         

diff --git a/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild 
b/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
index 80a5284c808..d072ba673bc 100644
--- a/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
+++ b/dev-libs/rapidxml/rapidxml-1.13-r1.ebuild
@@ -14,6 +14,7 @@ KEYWORDS="~amd64 ~x86"
 BDEPEND="app-arch/unzip"
 
 PATCHES=(
+       "${FILESDIR}"/${P}-iterators.patch
        "${FILESDIR}"/${P}-clang.patch
 )
 

Reply via email to