kde/Capa0: util-linux shared variant (override incoming-kde) para libblkid
kcoreaddons falla 'blkid_* undefined': linkea libmount pero la util-linux canónica es --disable-shared (el .a no arrastra libblkid). Variante --enable-shared produce libmount.so→libblkid.so.1 (NEEDED) ⇒ resuelve solo. incoming-kde/ overridea a recipes/ para builds KDE; base-system mantiene la static. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +64 −0
diff --git a/recipes/incoming-kde/util-linux.toml b/recipes/incoming-kde/util-linux.toml
new file mode 100644
index 00000000..4a4b2291
--- /dev/null
+++ b/recipes/incoming-kde/util-linux.toml
@@ -0,0 +1,64 @@
+# util-linux 2.42.2 — VARIANTE SHARED para KDE (override de la canónica static-only en incoming-kde).
+# Campaña KDE (ADR 0011), saldo de deuda Capa 0. kcoreaddons (y KF6) linkean libmount, que necesita
+# libblkid; con la util-linux canónica (--disable-shared) el link dinámico deja `blkid_* undefined`
+# (el .a no arrastra su transitiva). Aquí --enable-shared produce libmount.so/libblkid.so/libuuid.so
+# con SONAME + NEEDED correctos (libmount.so → libblkid.so.1) ⇒ linkear -lmount resuelve blkid solo.
+# El resolver de deps mira incoming-kde/ antes que recipes/ ⇒ los builds KDE toman ESTA; el base-system
+# sigue con la canónica static. Conserva el hack del filtro -mcpu=baseline de los generadores.
+name = "util-linux"
+version = "2.42.2"
+
+[source]
+tarball = "https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz"
+sha256 = "03a05d3adf9602ef128f2da05b84b3205ce60c351e5737c0370f74000679ce8a"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+flags = []
+
+[build.phases]
+configure = '''
+./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --enable-shared \
+ --disable-static \
+ --disable-nls \
+ --disable-rpath \
+ --disable-liblastlog2 \
+ --disable-pylibmount \
+ --disable-makeinstall-setuid \
+ --disable-makeinstall-chown \
+ --without-python \
+ --without-systemd \
+ --without-systemdsystemunitdir \
+ --without-udev \
+ --without-cryptsetup \
+ --without-ncursesw \
+ --without-ncurses \
+ --without-tinfo \
+ --without-readline \
+ --without-libz \
+ --without-selinux \
+ --without-audit \
+ --without-econf
+'''
+compile = '''
+# ver receta canónica: filtrar -mcpu=baseline sólo en los generadores errnos/syscalls (zig rechaza
+# el -mcpu vacío en modo -dM -E -). El resto del build lo conserva.
+for f in tools/all_errnos tools/all_syscalls; do
+ sed -i 's#^"$@" -MD#a=(); for x in "$@"; do [ "$x" = "-mcpu=baseline" ] || a+=("$x"); done\n"${a[@]}" -MD#' "$f"
+done
+make
+'''
+install = '''
+make DESTDIR="/out" install
+'''
+
+[deps]
+build = ["linux-headers"]