[PATCH 2/4] kde.org.eclass: Introduce _kde.org_live_corrosion_unpack()

Andreas Sturmlechner <[email protected]> Sat, 06 Jun 2026 01:08:55 +0200
Newsgroups gmane.linux.gentoo.devel
Message-ID <[email protected]>
asturm: Adapted from initial draft for cmake.eclass

Signed-off-by: Alfred Wingate <[email protected]>
Signed-off-by: Andreas Sturmlechner <[email protected]>
---
 eclass/kde.org.eclass | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/eclass/kde.org.eclass b/eclass/kde.org.eclass
index a522bb07c1af..93909d58e71e 100644
--- a/eclass/kde.org.eclass
+++ b/eclass/kde.org.eclass
@@ -34,7 +34,10 @@ fi
 export KDE_BUILD_TYPE
 
 if [[ ${KDE_BUILD_TYPE} == live ]]; then
-	inherit git-r3
+	case ${EAPI} in
+		8) inherit eapi9-pipestatus ;&
+		*) inherit git-r3 ;;
+	esac
 fi
 
 # @ECLASS_VARIABLE: KDE_ORG_CATEGORIES
@@ -223,6 +226,20 @@ kde.org_pkg_nofetch() {
 	eerror "${KDE_ORG_SCHEDULE_URI}"
 }
 
+# @FUNCTION: _kde.org_live_corrosion_unpack
+# @DESCRIPTION:
+# Handle rust crates for live packages. Iterates S directory with
+# corrosion_import_crate to fetch with cargo_live_src_unpack.
+_kde.org_live_corrosion_unpack() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	# Need to handle every corrosion "project" individually.
+	local path
+	while IFS= read -r -d '' path ; do
+		S="${path%/*}" cargo_live_src_unpack
+	done < <(find "${S}" -type f -iname CMakeLists.txt -print0 | xargs -0 grep -z -Z -l -i corrosion_import_crate; pipestatus || die)
+}
+
 # @FUNCTION: kde.org_src_unpack
 # @DESCRIPTION:
 # Unpack the sources, automatically handling both release and live ebuilds.
-- 
2.54.0
signature.asc (application/pgp-signature, 829 B)
-----BEGIN PGP SIGNATURE-----

iQIvBAABCgCZFiEE34gXUSooizdYNDu3S5FW4z0PgBkFAmojVwcbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMiwyXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25z
Lm9wZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRERjg4MTc1MTJBMjg4QjM3NTgzNDNC
Qjc0QjkxNTZFMzNEMEY4MDE5AAoJEEuRVuM9D4AZtRoMAIV3Dz83flGscWi1oDm4
KpRYgTeA3AkWy+MKiWWwBBR1yKP4JTWfQav/WDibLXoUUC3tgALmNUa6D5DVOsqj
FdAMMnNw2KMVycz8PeH85a6yDrzTzwPrglv/IyjZDYh+3/GvFABaDuz62Gn4+4R8
BDA/iuthY1R4sjer081jt/uMb5bqIE8ZCoDWPPgyswxqgCQWUfsjz2WtyiAyO152
Ve2LZL1sys49P1/QRpkdWd5LQoQop5gwNUoeSxnCVi2/h+HgLdmfUY7+f/GYHnsW
yjYvAYukMp4nNcdRet5XoUvCFPFzUwyRQM+3dcUPOuFG3cdYej39nWCV9KeUH/XN
FMYFf2uJkaP7OChGz5XUcVQXlsx+aN82eG/Eneu8FSFQp1/hK4OJAmm+RuhH/gl9
0xYRNHHcmucBV8ReD/zWp2H2nP+uEHIMTtIWzWS83QVZZdRGPyjnyfa0EY6Gn/aY
A6Am3KBHv1SMg0xyE9CdIkSghgsRUCFs4mz9E1qTm0rM8g==
=dbCM
-----END PGP SIGNATURE-----