From fd100b9ec42006eea266eaf8f816d3bd34834109 Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Sun, 28 Dec 2025 18:32:32 +0300
Subject: trinity-base/noatun-plugins: fix build with USE=berkdb

- cmake wasn't properly processing BERKELEY_DB_LIBS with only libname
- the version of sys-libs/db wasn't actually enforced
- bump required sys-libs/db version to 5 as it seem to build fine
  against it

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
---
 .../noatun-plugins/noatun-plugins-14.1.2.ebuild     | 21 ++++++++++-----------
 .../noatun-plugins/noatun-plugins-14.1.4.ebuild     | 19 +++++++++----------
 .../noatun-plugins/noatun-plugins-9999.ebuild       | 21 ++++++++++-----------
 3 files changed, 29 insertions(+), 32 deletions(-)

diff --git a/trinity-base/noatun-plugins/noatun-plugins-14.1.2.ebuild b/trinity-base/noatun-plugins/noatun-plugins-14.1.2.ebuild
index 62eeb8f6..bc0c0047 100644
--- a/trinity-base/noatun-plugins/noatun-plugins-14.1.2.ebuild
+++ b/trinity-base/noatun-plugins/noatun-plugins-14.1.2.ebuild
@@ -1,5 +1,5 @@
 # Copyright 1999-2024 Gentoo Authors
-# Copyright 2020-2024 The Trinity Desktop Project
+# Copyright 2020-2025 The Trinity Desktop Project
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="8"
@@ -7,7 +7,7 @@ EAPI="8"
 TRINITY_NEED_ARTS="optional"
 TRINITY_MODULE_NAME="tdeaddons"
 TRINITY_MODULE_TYPE="core"
-inherit trinity-meta-2 db-use
+inherit trinity-meta-2 db-use multilib
 
 DESCRIPTION="Various plugins for Noatun"
 if [[ ${PV} != *9999* ]] ; then
@@ -17,7 +17,7 @@ IUSE="sdl berkdb"
 
 COMMON_DEPEND="
 	~trinity-base/noatun-${PV}
-	berkdb? ( =sys-libs/db-4*:= )
+	berkdb? ( <sys-libs/db-6:=[cxx] )
 "
 DEPEND="${COMMON_DEPEND}
 	sdl? ( media-libs/libsdl )
@@ -29,17 +29,16 @@ RDEPEND="${COMMON_DEPEND}
 src_configure() {
 	local mycmakeargs=(
 		-DWITH_SDL="$(usex sdl)"
+		-DWITH_BERKELEY_DB="$(usex berkdb)"
 	)
 
 	if use berkdb; then
-		local mycmakeargs+=(
-			-DWITH_BERKELEY_DB=ON
-			-DBERKELEY_DB_LIBS="$(db_libname)"
-			-DBERKELEY_DB_INCLUDE_DIRS="${ESYSROOT}$(db_includedir)"
-		)
-	else
-		local mycmakeargs+=(
-			-DWITH_BERKELEY_DB=OFF
+		# not using db_libname() because a full path to the library is required
+		local ver="$(db_findver "<sys-libs/db-6")"
+		[ -n "$ver" ] || die "No suitable sys-libs/db version found"
+		mycmakeargs+=(
+			-DBERKELEY_DB_LIBS="${ESYSROOT}/usr/$(get_libdir)/libdb_cxx-${ver}$(get_libname)"
+			-DBERKELEY_DB_INCLUDE_DIRS="${ESYSROOT}/usr/include/db${ver}"
 		)
 	fi
 
diff --git a/trinity-base/noatun-plugins/noatun-plugins-14.1.4.ebuild b/trinity-base/noatun-plugins/noatun-plugins-14.1.4.ebuild
index bd5eb69d..ada5c4c6 100644
--- a/trinity-base/noatun-plugins/noatun-plugins-14.1.4.ebuild
+++ b/trinity-base/noatun-plugins/noatun-plugins-14.1.4.ebuild
@@ -7,7 +7,7 @@ EAPI="8"
 TRINITY_NEED_ARTS="optional"
 TRINITY_MODULE_NAME="tdeaddons"
 TRINITY_MODULE_TYPE="core"
-inherit trinity-meta-2 db-use
+inherit trinity-meta-2 db-use multilib
 
 DESCRIPTION="Various plugins for Noatun"
 if [[ ${PV} != *9999* ]] ; then
@@ -17,7 +17,7 @@ IUSE="sdl berkdb"
 
 COMMON_DEPEND="
 	~trinity-base/noatun-${PV}
-	berkdb? ( =sys-libs/db-4*:= )
+	berkdb? ( <sys-libs/db-6:=[cxx] )
 "
 DEPEND="${COMMON_DEPEND}
 	sdl? ( media-libs/libsdl )
@@ -29,17 +29,16 @@ RDEPEND="${COMMON_DEPEND}
 src_configure() {
 	local mycmakeargs=(
 		-DWITH_SDL="$(usex sdl)"
+		-DWITH_BERKELEY_DB="$(usex berkdb)"
 	)
 
 	if use berkdb; then
-		local mycmakeargs+=(
-			-DWITH_BERKELEY_DB=ON
-			-DBERKELEY_DB_LIBS="$(db_libname)"
-			-DBERKELEY_DB_INCLUDE_DIRS="${ESYSROOT}$(db_includedir)"
-		)
-	else
-		local mycmakeargs+=(
-			-DWITH_BERKELEY_DB=OFF
+		# not using db_libname() because a full path to the library is required
+		local ver="$(db_findver "<sys-libs/db-6")"
+		[ -n "$ver" ] || die "No suitable sys-libs/db version found"
+		mycmakeargs+=(
+			-DBERKELEY_DB_LIBS="${ESYSROOT}/usr/$(get_libdir)/libdb_cxx-${ver}$(get_libname)"
+			-DBERKELEY_DB_INCLUDE_DIRS="${ESYSROOT}/usr/include/db${ver}"
 		)
 	fi
 
diff --git a/trinity-base/noatun-plugins/noatun-plugins-9999.ebuild b/trinity-base/noatun-plugins/noatun-plugins-9999.ebuild
index f1f3bba8..ada5c4c6 100644
--- a/trinity-base/noatun-plugins/noatun-plugins-9999.ebuild
+++ b/trinity-base/noatun-plugins/noatun-plugins-9999.ebuild
@@ -1,5 +1,5 @@
 # Copyright 1999-2020 Gentoo Authors
-# Copyright 2020 The Trinity Desktop Project
+# Copyright 2020-2025 The Trinity Desktop Project
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="8"
@@ -7,7 +7,7 @@ EAPI="8"
 TRINITY_NEED_ARTS="optional"
 TRINITY_MODULE_NAME="tdeaddons"
 TRINITY_MODULE_TYPE="core"
-inherit trinity-meta-2 db-use
+inherit trinity-meta-2 db-use multilib
 
 DESCRIPTION="Various plugins for Noatun"
 if [[ ${PV} != *9999* ]] ; then
@@ -17,7 +17,7 @@ IUSE="sdl berkdb"
 
 COMMON_DEPEND="
 	~trinity-base/noatun-${PV}
-	berkdb? ( =sys-libs/db-4*:= )
+	berkdb? ( <sys-libs/db-6:=[cxx] )
 "
 DEPEND="${COMMON_DEPEND}
 	sdl? ( media-libs/libsdl )
@@ -29,17 +29,16 @@ RDEPEND="${COMMON_DEPEND}
 src_configure() {
 	local mycmakeargs=(
 		-DWITH_SDL="$(usex sdl)"
+		-DWITH_BERKELEY_DB="$(usex berkdb)"
 	)
 
 	if use berkdb; then
-		local mycmakeargs+=(
-			-DWITH_BERKELEY_DB=ON
-			-DBERKELEY_DB_LIBS="$(db_libname)"
-			-DBERKELEY_DB_INCLUDE_DIRS="${ESYSROOT}$(db_includedir)"
-		)
-	else
-		local mycmakeargs+=(
-			-DWITH_BERKELEY_DB=OFF
+		# not using db_libname() because a full path to the library is required
+		local ver="$(db_findver "<sys-libs/db-6")"
+		[ -n "$ver" ] || die "No suitable sys-libs/db version found"
+		mycmakeargs+=(
+			-DBERKELEY_DB_LIBS="${ESYSROOT}/usr/$(get_libdir)/libdb_cxx-${ver}$(get_libname)"
+			-DBERKELEY_DB_INCLUDE_DIRS="${ESYSROOT}/usr/include/db${ver}"
 		)
 	fi
 
-- 
cgit v1.2.3

