From 0f15f4e37db0485d08e96cfe809d4d4c3094804c Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Sun, 17 May 2026 01:33:23 +0300
Subject: trinity-base/arts: fix build with gcc-16/C++20

Closes: https://mirror.git.trinitydesktop.org/gitea/TDE/tde-packaging-gentoo/issues/507
Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
---
 trinity-base/arts/arts-14.1.5-r1.ebuild            |  4 +++
 trinity-base/arts/arts-14.1.6.ebuild               |  4 +++
 ...caused-by-reserved-word-in-C-20-or-higher.patch | 38 ++++++++++++++++++++++
 3 files changed, 46 insertions(+)
 create mode 100644 trinity-base/arts/files/arts-14.1.6-Fix-FTBFS-caused-by-reserved-word-in-C-20-or-higher.patch

diff --git a/trinity-base/arts/arts-14.1.5-r1.ebuild b/trinity-base/arts/arts-14.1.5-r1.ebuild
index 282711b7..38e852e0 100644
--- a/trinity-base/arts/arts-14.1.5-r1.ebuild
+++ b/trinity-base/arts/arts-14.1.5-r1.ebuild
@@ -28,6 +28,10 @@ DEPEND="~dev-tqt/tqtinterface-${PV}
 	jack? ( virtual/jack )"
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+	"$FILESDIR/${PN}-14.1.6-Fix-FTBFS-caused-by-reserved-word-in-C-20-or-higher.patch"
+)
+
 src_configure() {
 	local mycmakeargs=(
 		-DWITH_AUDIOFILE=ON
diff --git a/trinity-base/arts/arts-14.1.6.ebuild b/trinity-base/arts/arts-14.1.6.ebuild
index 282711b7..a9397792 100644
--- a/trinity-base/arts/arts-14.1.6.ebuild
+++ b/trinity-base/arts/arts-14.1.6.ebuild
@@ -28,6 +28,10 @@ DEPEND="~dev-tqt/tqtinterface-${PV}
 	jack? ( virtual/jack )"
 RDEPEND="${DEPEND}"
 
+PATCHES=(
+	"$FILESDIR/${P}-Fix-FTBFS-caused-by-reserved-word-in-C-20-or-higher.patch"
+)
+
 src_configure() {
 	local mycmakeargs=(
 		-DWITH_AUDIOFILE=ON
diff --git a/trinity-base/arts/files/arts-14.1.6-Fix-FTBFS-caused-by-reserved-word-in-C-20-or-higher.patch b/trinity-base/arts/files/arts-14.1.6-Fix-FTBFS-caused-by-reserved-word-in-C-20-or-higher.patch
new file mode 100644
index 00000000..434b1227
--- /dev/null
+++ b/trinity-base/arts/files/arts-14.1.6-Fix-FTBFS-caused-by-reserved-word-in-C-20-or-higher.patch
@@ -0,0 +1,38 @@
+From c2d77ef454ebd7bac45a1816a5d4c455418001a3 Mon Sep 17 00:00:00 2001
+From: Michele Calgaro <michele.calgaro@yahoo.it>
+Date: Sat, 2 May 2026 22:01:40 +0900
+Subject: [PATCH] Fix FTBFS caused by reserved word in C++20 or higher.
+
+This resolves issue #37.
+
+Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
+---
+ mcop/objectmanager.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mcop/objectmanager.cpp b/mcop/objectmanager.cpp
+index fc545fa..6fb10c2 100644
+--- a/mcop/objectmanager.cpp
++++ b/mcop/objectmanager.cpp
+@@ -73,15 +73,15 @@ Object_skel *ObjectManager::create(const string& name)
+ 		 * implementation requires to run
+ 		 */
+ 		bool requirementsOk = true;
+-		vector<string> *requires = oi->getProperty("Requires");
++		vector<string> *requireList = oi->getProperty("Requires");
+ 
+ 		vector<string>::iterator ri;
+-		for(ri = requires->begin(); ri != requires->end(); ri++)
++		for(ri = requireList->begin(); ri != requireList->end(); ri++)
+ 		{
+ 			if(d->capabilities[*ri] <= 0)
+ 				requirementsOk = false;
+ 		}
+-		delete requires;
++		delete requireList;
+ 
+ 		vector<string> *language = oi->getProperty("Language");
+ 		vector<string> *libs = oi->getProperty("Library");
+-- 
+2.53.0
+
-- 
cgit v1.2.3

