Files
sergioandClaude Opus 4.8 4e02422680 kde/Plasma: glib-shared + pcre2-shared — DEUDA CAPA 0 'glib shared-PIC' SALDADA
La deuda más arrastrada del ADR 0011: glib canónico es -Ddefault_library=static --prefer-static (sólo
.a) ⇒ no enlaza en un .so; por eso plasma-workspace tuvo que parchear NetworkManagerQt a opcional
(esquivando el rabbit-hole libnm→glib).

glib-shared 2.88.1 (dc46a620) produce el set dinámico completo: libglib-2.0.so.0 + libgobject-2.0.so.0 +
libgio-2.0.so.0 + libgmodule-2.0.so.0 + libgthread-2.0.so.0 + libgirepository-2.0.so.0. Conserva los
switches del canónico (tests/nls/libmount/selinux/introspection off) — sólo cambia el modo de librería,
sin arrastrar deps nuevas.

pcre2-shared 10.47 (f254abaa) era el prerrequisito: el pcre2 canónico es --disable-shared SIN --with-pic
⇒ su .a no entra en libglib.so. compiler=gcc como el canónico (su comentario advierte que zig-cc
MISCOMPILA libs C, patrón file/jq); el .so es ABI-compatible con los consumidores zig. libffi NO necesitó
variante: ya usa --with-pic.

Cierre verificado: libglib-2.0.so.0 → libpcre2-8.so.0; libffi PIC queda embebido estático.
Destraba: libnm (NetworkManager→plasma-nm), polkit, xdg-desktop-portal, gstreamer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:08:10 -04:00

37 lines
1.3 KiB
TOML

# pcre2-shared 10.47 — variante DINÁMICA (libpcre2-8.so.0, PIC) para el escritorio KDE.
# El canónico (recipes/pcre2.toml) es --disable-shared SIN --with-pic ⇒ su .a no enlaza dentro de un .so.
# Lo exige glib-shared (libglib-2.0.so linkea pcre2 para GRegex). Deuda Capa 0 (static↔dinámico).
#
# compiler=gcc igual que el canónico: su comentario advierte que zig-cc MISCOMPILA libs C (patrón file/jq);
# el gcc del rootfs es musl, y el .so resultante es ABI-compatible con los consumidores zig.
# --disable-symvers como el canónico (musl no maneja symbol versioning de la forma que asume pcre2).
name = "pcre2-shared"
version = "10.47"
[source]
tarball = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.47/pcre2-10.47.tar.bz2"
sha256 = "47fe8c99461250d42f89e6e8fdaeba9da057855d06eb7fc08d9ca03fd08d7bc7"
[build]
compiler = "gcc"
target = "x86_64-linux-musl"
link = "dynamic"
flags = []
[build.phases]
compile = '''
./configure \
--build=$CBUILD --host=$CHOST \
--prefix=/usr \
--enable-shared --disable-static \
--enable-pcre2-16 --enable-pcre2-32 \
--enable-jit \
--enable-pcre2grep-libz \
--disable-symvers
make -j"$(nproc)"
'''
install = "make DESTDIR=/out install && find /out -name '*.la' -delete"
[deps]
build = ["zlib-shared"]