diff --git a/dev-cpp/htmlcxx/files/htmlcxx-0.87-c++20.patch b/dev-cpp/htmlcxx/files/htmlcxx-0.87-c++20.patch new file mode 100644 index 0000000000000..4e8a7aff0c98d --- /dev/null +++ b/dev-cpp/htmlcxx/files/htmlcxx-0.87-c++20.patch @@ -0,0 +1,78 @@ +https://sourceforge.net/p/htmlcxx/patches/9/ + +Author: Frantisek Boranek +Date: Thu, 6 Oct 2022 22:39:21 +0200 +Subject: [PATCH] fix compiling with c++20 + +The second parameter in function allocate() was removed in C++20 standard. +These changes are backward compatible. Prior standard will use these: +* < C++17: pointer allocate( size_type n, const void * hint = 0 ); // (until C++17) +* < C++20: T* allocate( std::size_t n ); // (since C++17) +* = C++20: [[nodiscard]] constexpr T* allocate( std::size_t n ); +--- a/html/tree.h ++++ b/html/tree.h +@@ -416,8 +416,8 @@ tree::~tree() + template + void tree::head_initialise_() + { +- head = alloc_.allocate(1,0); // MSVC does not have default second argument +- feet = alloc_.allocate(1,0); ++ head = alloc_.allocate(1); ++ feet = alloc_.allocate(1); + + head->parent=0; + head->first_child=0; +@@ -672,7 +672,7 @@ iter tree::append_child(iter position) + { + assert(position.node!=head); + +- tree_node* tmp = alloc_.allocate(1,0); ++ tree_node* tmp = alloc_.allocate(1); + kp::constructor(&tmp->data); + tmp->first_child=0; + tmp->last_child=0; +@@ -700,7 +700,7 @@ iter tree::append_child(iter position, const T& x) + // the API change. + assert(position.node!=head); + +- tree_node* tmp = alloc_.allocate(1,0); ++ tree_node* tmp = alloc_.allocate(1); + kp::constructor(&tmp->data, x); + tmp->first_child=0; + tmp->last_child=0; +@@ -756,7 +756,7 @@ iter tree::insert(iter position, const T& x) + position.node=feet; // Backward compatibility: when calling insert on a null node, + // insert before the feet. + } +- tree_node* tmp = alloc_.allocate(1,0); ++ tree_node* tmp = alloc_.allocate(1); + kp::constructor(&tmp->data, x); + tmp->first_child=0; + tmp->last_child=0; +@@ -776,7 +776,7 @@ iter tree::insert(iter position, const T& x) + template + typename tree::sibling_iterator tree::insert(sibling_iterator position, const T& x) + { +- tree_node* tmp = alloc_.allocate(1,0); ++ tree_node* tmp = alloc_.allocate(1); + kp::constructor(&tmp->data, x); + tmp->first_child=0; + tmp->last_child=0; +@@ -804,7 +804,7 @@ template + template + iter tree::insert_after(iter position, const T& x) + { +- tree_node* tmp = alloc_.allocate(1,0); ++ tree_node* tmp = alloc_.allocate(1); + kp::constructor(&tmp->data, x); + tmp->first_child=0; + tmp->last_child=0; +@@ -864,7 +864,7 @@ iter tree::replace(iter position, const iterator_base& f + + // replace the node at position with head of the replacement tree at from + erase_children(position); +- tree_node* tmp = alloc_.allocate(1,0); ++ tree_node* tmp = alloc_.allocate(1); + kp::constructor(&tmp->data, (*from)); + tmp->first_child=0; + tmp->last_child=0; diff --git a/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild b/dev-cpp/htmlcxx/htmlcxx-0.87-r1.ebuild similarity index 89% rename from dev-cpp/htmlcxx/htmlcxx-0.87.ebuild rename to dev-cpp/htmlcxx/htmlcxx-0.87-r1.ebuild index a1ac35ac47fea..00352fd75bc33 100644 --- a/dev-cpp/htmlcxx/htmlcxx-0.87.ebuild +++ b/dev-cpp/htmlcxx/htmlcxx-0.87-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit multilib-minimal @@ -15,6 +15,7 @@ IUSE="static-libs" PATCHES=( "${FILESDIR}"/${P}-c++17.patch + "${FILESDIR}"/${P}-c++20.patch ) ECONF_SOURCE="${S}"