diff --git a/recipes/incoming-kde/glib-shared.toml b/recipes/incoming-kde/glib-shared.toml new file mode 100644 index 00000000..555e1116 --- /dev/null +++ b/recipes/incoming-kde/glib-shared.toml @@ -0,0 +1,32 @@ +# glib-shared 2.88.1 — variante DINÁMICA (libglib-2.0.so.0 + libgobject/libgio/libgmodule/libgthread) +# para el escritorio KDE. El canónico (recipes/glib.toml) es `-Ddefault_library=static --prefer-static` +# (sólo .a) ⇒ no enlaza dentro de un .so. Es la **deuda Capa 0 "glib shared-PIC"** que el ADR 0011 arrastra +# desde plasma-workspace (se esquivó parcheando NetworkManagerQt a opcional). +# +# glib es foundational para el resto del escritorio: libnm (NetworkManager→plasma-nm), polkit (auth), +# xdg-desktop-portal, gstreamer. Esta variante lo destraba. +# +# Deps: libffi ya es PIC (--with-pic en el canónico, enlazable en .so) ⇒ no necesita variante. +# pcre2-shared SÍ (el pcre2 canónico no tiene --with-pic). zlib-shared por el libz.so versionado. +# Se conservan los switches del canónico (tests/nls/libmount/selinux/introspection off) para no arrastrar +# deps nuevas; sólo cambia el modo de librería. +name = "glib-shared" +version = "2.88.1" + +[source] +tarball = "https://download.gnome.org/sources/glib/2.88/glib-2.88.1.tar.xz" +sha256 = "51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +flags = [] + +[build.phases] +configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Ddefault_library=shared -Dtests=false -Dnls=disabled -Dlibmount=disabled -Dselinux=disabled -Dman-pages=disabled -Dintrospection=disabled -Dglib_debug=disabled -Dglib_assert=false -Dglib_checks=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", "libffi", "pcre2-shared", "zlib-shared"] diff --git a/recipes/incoming-kde/pcre2-shared.toml b/recipes/incoming-kde/pcre2-shared.toml new file mode 100644 index 00000000..7ebc72d7 --- /dev/null +++ b/recipes/incoming-kde/pcre2-shared.toml @@ -0,0 +1,36 @@ +# 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"]