From 12097e6a14ff00dbbc1c866464b119f589927154 Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 11 Jul 2026 21:31:36 -0400 Subject: [PATCH] kde/Capa0: util-linux shared variant (override incoming-kde) para libblkid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- recipes/incoming-kde/util-linux.toml | 64 ++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 recipes/incoming-kde/util-linux.toml 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"]