# pango-shared 1.57.1 — variante DINÁMICA. **Existe por un fallo medido, no por simetría.** # # El canónico (`recipes/pango.toml`) es `-Ddefault_library=static`, así que quien lo enlaza se lo # traga entero. Y `gtk3` produce DOS objetos compartidos —`libgtk-3.so` y `libgdk-3.so`—, de modo # que cada uno se llevaba su propia copia. Los dos se cargan siempre juntos (libxul los declara # NEEDED a los dos) ⇒ dos copias en un proceso, y el navegador moría antes de pintar: # # GLib-GObject-CRITICAL: cannot register existing type 'PangoFontMap' # … decenas de líneas … tipo '' # # Se midió con `nm -D --defined-only` sobre cada `.so` del rootfs, preguntando quién DEFINE # `pango_font_map_get_type` / `cairo_create` / `gdk_pixbuf_get_type` / `hb_buffer_create`. # Respuesta: `libgtk-3.so` Y `libgdk-3.so`, las dos. Debía ser una sola librería, y ninguna de ellas. # # Es la misma regla que ya arrastraba el corpus desde GTK4 y que la cadena GTK3 se había saltado: # **las deps de una `.so` van a las variantes `-shared`, en lugar de las estáticas y jamás junto a # ellas** (las dos instalan los mismos `.pc` y cabeceras). # # ⚠ `fribidi` y `pixman` siguen siendo estáticos acá: no existe variante `-shared` de ninguno de # los dos y, al quedar embebidos en UNA sola `.so`, no hay copia duplicada que colisione. Es deuda # anotada, no un olvido — si algún día otra `.so` del cierre también los embebe, vuelve el cuadro. # # Sólo cambia el modo de librería: se conservan TODOS los switches del canónico para no arrastrar # deps nuevas ni cambiar qué se construye. name = "pango-shared" version = "1.57.1" license = "LGPL-2.0-or-later" [source] tarball = "https://download.gnome.org/sources/pango/1.57/pango-1.57.1.tar.xz" sha256 = "e65d6d117080dc3aeeb7d8b4b3b518f7383aa2e6cfce23117c623cd624764c2f" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" [build.phases] configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared -Dc_args=-Wno-error=date-time -Dintrospection=disabled -Dgtk_doc=false -Dbuild-testsuite=false -Dbuild-examples=false" compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" [deps] build = ["meson", "samurai", "python3", "pkgconf", "cairo-shared", "harfbuzz-shared", "fribidi", "glib-shared", "freetype-shared", "fontconfig-shared", "pixman", "libpng-shared", "expat-shared", "libffi-shared", "pcre2-shared", "zlib-shared"]