[PATCH 3/4] [addendum] kde.org.eclass: Allow CARGO_OPTIONAL=1 (call cargo_src_unpack conditionally)

Andreas Sturmlechner <[email protected]> Mon, 08 Jun 2026 19:32:38 +0200
Newsgroups gmane.linux.gentoo.devel
Message-ID <[email protected]>
Detect if CARGO is set, similar to what cargo.eclass is doing.

Signed-off-by: Andreas Sturmlechner <[email protected]>
---
 eclass/kde.org.eclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass
index cc610f4d1771..074d619e295b 100644
--- a/eclass/kde.org.eclass
+++ b/eclass/kde.org.eclass
@@ -235,16 +235,22 @@ _kde.org_live_corrosion_unpack() {
 kde.org_src_unpack() {
 	debug-print-function ${FUNCNAME} "$@"
 
+	# cargo detection, but only if rust_pkg_setup was called (CARGO_OPTIONAL support)
+	local isrusty
+	if has cargo ${INHERITED} && [[ -n "${CARGO}" ]]; then
+		isrusty=true
+	fi
+
 	case ${KDE_BUILD_TYPE} in
 		live)
 			git-r3_src_unpack
 			default
-			if has cmake ${INHERITED} && has cargo ${INHERITED}; then
+			if has cmake ${INHERITED} && [[ ${isrusty} ]]; then
 				_kde.org_live_corrosion_unpack
 			fi
 			;;
 		*)
-			if has cargo ${INHERITED}; then
+			if [[ ${isrusty} ]]; then
 				cargo_src_unpack
 			else
 				default
-- 
2.54.0
signature.asc (application/pgp-signature, 829 B)
-----BEGIN PGP SIGNATURE-----

iQIvBAABCgCZFiEE34gXUSooizdYNDu3S5FW4z0PgBkFAmom/LYbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMiwyXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25z
Lm9wZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRERjg4MTc1MTJBMjg4QjM3NTgzNDNC
Qjc0QjkxNTZFMzNEMEY4MDE5AAoJEEuRVuM9D4AZKuQL/iFe0DSP9C/hVIZ65PuD
P/Nm8aAylkl09RB/PO14jZRqJWz9aAwHq7U4NNNEjK9NNA1o0JSggHDX8mdySV33
i+KyNv+fYTkEZyc/p8yb4QDxSxRnzD531WDk+wGKH5mFzut/RQmZ7xeJ2W/OYfne
iyj8Gjt71Zv4NdqyHs1qePl8XxiDemt9j22NvBRZCYbNRcdKOZSsJ317bg65msQw
ogT7cu5w7k7f0L8xbi1GwuxFTqDgNFsYcGW8+lILdLZEEY9+Ae5ek9DSEczy7YED
1WPjokI9tjjZe+iVAW6iFVAYrGfKRn36iVnx5JjjQQHgKorQs59pEO58YFfx4PQB
+/M2Sn/36C8tLAuw8Yp/UtEOqL+BNc8RlpQyfWQcUgJcB3yOYoP+cbkF5PEjipte
Xl4+mS6i6bT16PuYMuRFis5jgm2KLvwAr8kck2Ff1gjBECKanHwAIGxGJYS7BMRF
64/en2cAacZOu43sggGH9Ux80tMJOZ43AACrX99jEwm05g==
=lIkt
-----END PGP SIGNATURE-----