sergio/takana
> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…
udisks: el cierre de bloque entero pasa a variantes -shared, y parted se cae de la cadena
1# libblkid-shared 2.42.2 — SÓLO libblkid.so del tarball de util-linux, para la isla dinámica.
2# Hermana de `libuuid-shared.toml`, escrita por el mismo motivo y con su mismo criterio.
3#
4# ── POR QUÉ, MEDIDO ───────────────────────────────────────────────────────────────────────────
5# `libblockdev` construye sus plugins como `.so` (los carga con `dlopen`) y el util-linux canónico
6# es `--disable-shared --enable-static`. Su `libblkid.a` NO es PIC, y el enlace muere nombrando el
7# fichero exacto:
8#
9# ld.lld: error: relocation R_X86_64_64 cannot be used against local symbol; recompile with -fPIC
10# >>> defined in /usr/lib/libblkid.a(la-init.o)
11# >>> referenced by init.c:65 (libblkid/src/init.c:65)
12#
13# Es el mismo cuadro que ya documentan `libarchive-shared` y `lz4-shared` en esta cola, y que
14# `libuuid-shared` pagó antes para evolution-data-server.
15#
16# ── ANGOSTA A PROPÓSITO ───────────────────────────────────────────────────────────────────────
17# `--disable-all-programs` apaga los ~100 binarios de util-linux (mount, fdisk, lsblk…) y
18# `--enable-libblkid` deja exactamente una librería. NO se duplica el canónico entero: su lista de
19# `--without-*` está elegida para el userland estático y mantenerla en dos sitios es cómo divergen.
20#
21# El sed de `-mcpu=baseline` se conserva del canónico: zig cc traduce ese flag a un `-mcpu=` VACÍO
22# en modo preprocesador y los generadores `errnos.h`/`syscalls.h` lo invocan así.
23name = "libblkid-shared"
24version = "2.42.2"
25license = "LGPL-2.1-or-later"
26
27[source]
28tarball = "https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz"
29sha256 = "03a05d3adf9602ef128f2da05b84b3205ce60c351e5737c0370f74000679ce8a"
30
31[build]
32compiler = "zig-cc"
33target = "x86_64-linux-musl"
34link = "dynamic"
35flags = []
36
37[build.phases]
38configure = '''
39./configure \
40 --build=$CBUILD --host=$CHOST \
41 --prefix=/usr \
42 --enable-shared --disable-static \
43 --disable-all-programs \
44 --enable-libblkid \
45 --disable-nls --disable-rpath \
46 --without-python --without-systemd --without-systemdsystemunitdir \
47 --without-udev --without-ncursesw --without-ncurses --without-tinfo \
48 --without-readline --without-libz --without-selinux --without-audit --without-econf
49'''
50compile = '''
51for f in tools/all_errnos tools/all_syscalls; do
52 [ -f "$f" ] || continue
53 sed -i 's#^"$@" -MD#a=(); for x in "$@"; do [ "$x" = "-mcpu=baseline" ] || a+=("$x"); done\n"${a[@]}" -MD#' "$f"
54done
55make -j"$(nproc)"
56'''
57install = 'make DESTDIR=/out install'
58
59[deps]
60build = ["linux-headers", "make", "pkgconf"]