diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index 46fe0f28..a3e9bd33 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -2216,7 +2216,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 142 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -4766,7 +4766,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 100 + "dependientes_total": 101 }, "gh": { "iname": "gh", @@ -8393,7 +8393,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 138 + "dependientes_total": 139 }, "libelogind": { "iname": "libelogind", @@ -8498,7 +8498,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 98 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -9712,7 +9712,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 136 + "dependientes_total": 137 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -9802,7 +9802,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 116 + "dependientes_total": 117 }, "micro": { "iname": "micro", @@ -11350,7 +11350,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 374 + "dependientes_total": 376 }, "plow": { "iname": "plow", @@ -11719,7 +11719,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 283 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -12274,7 +12274,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 249 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -14501,7 +14501,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 147 + "dependientes_total": 148 }, "wayland-protocols": { "iname": "wayland-protocols", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index 592d588c..5c57b062 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -2328,7 +2328,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 142 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -4601,7 +4601,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 100 + "dependientes_total": 101 }, "gh": { "iname": "gh", @@ -8658,7 +8658,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 138 + "dependientes_total": 139 }, "libei": { "iname": "libei", @@ -8793,7 +8793,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 98 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -10369,7 +10369,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 136 + "dependientes_total": 137 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -10459,7 +10459,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 116 + "dependientes_total": 117 }, "micro": { "iname": "micro", @@ -12131,7 +12131,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 374 + "dependientes_total": 376 }, "plow": { "iname": "plow", @@ -12570,7 +12570,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 283 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -13125,7 +13125,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 249 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -15451,7 +15451,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 147 + "dependientes_total": 148 }, "wayland-protocols": { "iname": "wayland-protocols", diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index 4336a9c4..bd024d42 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -1,18 +1,18 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 976, - "nodes": 978, - "sealed": 976, - "wanted": 2 + "recipes": 978, + "nodes": 979, + "sealed": 978, + "wanted": 1 }, "by_class": { - "c": 343, + "c": 345, "go": 362, "gui": 36, "kernel": 6, "rust": 229, - "wanted": 2 + "wanted": 1 }, "debt_by_class": {}, "by_queue": { @@ -20,8 +20,8 @@ "sealed": 770 }, "incoming-kde": { - "sealed": 206, - "wanted": 2 + "sealed": 208, + "wanted": 1 } }, "by_profile": { @@ -37,8 +37,8 @@ }, "escritorio-kde": { "raices": 11, - "clausura": 166, - "sealed": 166 + "clausura": 171, + "sealed": 171 }, "escritorio-mirada": { "raices": 14, @@ -46,7 +46,7 @@ "sealed": 29 } }, - "sin_perfil": 724, + "sin_perfil": 720, "orphan_deps": [], "topo_ok": true, "nodes": { @@ -2449,7 +2449,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 142 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -2970,7 +2970,7 @@ "perfiles": [ "escritorio-kde" ], - "dependientes_total": 115 + "dependientes_total": 117 }, "ddh": { "iname": "ddh", @@ -4781,7 +4781,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 100 + "dependientes_total": 101 }, "gh": { "iname": "gh", @@ -5244,8 +5244,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 10 + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 12 }, "glow": { "iname": "glow", @@ -12126,7 +12128,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 138 + "dependientes_total": 139 }, "libepoxy": { "iname": "libepoxy", @@ -12210,7 +12212,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 98 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -13072,7 +13074,7 @@ "perfiles": [ "escritorio-kde" ], - "dependientes_total": 115 + "dependientes_total": 116 }, "libxml2": { "iname": "libxml2", @@ -13838,7 +13840,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 136 + "dependientes_total": 137 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -13928,7 +13930,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 116 + "dependientes_total": 117 }, "micro": { "iname": "micro", @@ -15483,8 +15485,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 11 + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 13 }, "peco": { "iname": "peco", @@ -15771,7 +15775,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 374 + "dependientes_total": 376 }, "plasma-activities": { "iname": "plasma-activities", @@ -16553,19 +16557,65 @@ "perfiles": [], "dependientes_total": 0 }, - "polkit-qt-1": { - "iname": "polkit-qt-1", - "version": null, - "link": null, - "compiler": null, - "deps": [], - "cls": "wanted", + "polkit": { + "iname": "polkit", + "version": "127", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "meson", + "samurai", + "python3", + "pkgconf", + "gettext-tiny", + "dbus", + "glib-shared", + "pcre2-shared", + "zlib-shared", + "libffi" + ], + "cls": "c", "queue": "incoming-kde", - "hash": null, - "state": "wanted", + "hash": "b3:04d30a79f113849bf2828cd4b6664bb382b8b17424cae906a2c5f7c98336e458", + "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 1 + }, + "polkit-qt-1": { + "iname": "polkit-qt-1", + "version": "0.201.1", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "cmake", + "samurai", + "python3", + "pkgconf", + "qtbase", + "dbus", + "polkit", + "glib-shared", + "pcre2-shared", + "zlib-shared", + "libffi", + "mesa", + "libdrm", + "libxkbcommon", + "wayland" + ], + "cls": "c", + "queue": "incoming-kde", + "hash": "b3:bc050ddcffc15fa6b34f98548719de442d204a6fa73dbd55abc128348fe37d6d", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-kde" + ], "dependientes_total": 0 }, "pop": { @@ -17077,7 +17127,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 283 + "dependientes_total": 285 }, "qcoro": { "iname": "qcoro", @@ -17382,7 +17432,7 @@ "perfiles": [ "escritorio-kde" ], - "dependientes_total": 118 + "dependientes_total": 119 }, "qtdeclarative": { "iname": "qt6-qtdeclarative", @@ -18221,7 +18271,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 249 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -20874,7 +20924,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 147 + "dependientes_total": 148 }, "wayland-protocols": { "iname": "wayland-protocols", @@ -21702,8 +21752,10 @@ "state": "sealed", "blocked_by": [], "unblocks": 0, - "perfiles": [], - "dependientes_total": 34 + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 36 }, "zola": { "iname": "zola", diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index a286d09e..db1fe9f9 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -2174,7 +2174,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 142 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -4277,7 +4277,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 100 + "dependientes_total": 101 }, "gh": { "iname": "gh", @@ -7841,7 +7841,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 138 + "dependientes_total": 139 }, "libepoxy": { "iname": "libepoxy", @@ -7929,7 +7929,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 98 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -9078,7 +9078,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 136 + "dependientes_total": 137 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -9168,7 +9168,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 116 + "dependientes_total": 117 }, "micro": { "iname": "micro", @@ -10625,7 +10625,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 374 + "dependientes_total": 376 }, "plow": { "iname": "plow", @@ -10924,7 +10924,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 283 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -11479,7 +11479,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 249 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -13904,7 +13904,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 147 + "dependientes_total": 148 }, "wayland-protocols": { "iname": "wayland-protocols", diff --git a/docs/state/build-state.json b/docs/state/build-state.json index d59c8a1b..40cca4c2 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -2166,7 +2166,7 @@ "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 142 + "dependientes_total": 143 }, "cmctl": { "iname": "cmctl", @@ -4211,7 +4211,7 @@ "escritorio-gnome", "escritorio-kde" ], - "dependientes_total": 100 + "dependientes_total": 101 }, "gh": { "iname": "gh", @@ -7703,7 +7703,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 138 + "dependientes_total": 139 }, "libepoxy": { "iname": "libepoxy", @@ -7791,7 +7791,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 98 + "dependientes_total": 100 }, "libffi-shared": { "iname": "libffi-shared", @@ -8940,7 +8940,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 136 + "dependientes_total": 137 }, "mesa-llvmpipe": { "iname": "mesa-llvmpipe", @@ -9030,7 +9030,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 116 + "dependientes_total": 117 }, "micro": { "iname": "micro", @@ -10487,7 +10487,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 374 + "dependientes_total": 376 }, "plow": { "iname": "plow", @@ -10786,7 +10786,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 283 + "dependientes_total": 285 }, "qrcp": { "iname": "qrcp", @@ -11341,7 +11341,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 249 + "dependientes_total": 251 }, "sassc": { "iname": "sassc", @@ -13568,7 +13568,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 147 + "dependientes_total": 148 }, "wayland-protocols": { "iname": "wayland-protocols", diff --git a/recipes/incoming-kde/polkit-qt-1.toml b/recipes/incoming-kde/polkit-qt-1.toml new file mode 100644 index 00000000..a56a2fec --- /dev/null +++ b/recipes/incoming-kde/polkit-qt-1.toml @@ -0,0 +1,84 @@ +# polkit-qt-1 0.201.1 — los bindings Qt de polkit. Último de los cuatro huecos de RUNTIME del triaje +# de la frontera que tiene sentido cerrar: sin él Plasma no puede PEDIR autorización — montar un +# disco, cambiar ajustes del sistema, cualquier acción que necesite elevar privilegios. +# +# Los dos consumidores están escritos en el corpus y hoy lo esquivan a propósito: +# · `kauth` construye con el backend polkit OPCIONAL apagado ⇒ cae al backend "fake" (no bloquea, +# pero KAuth::Action no autoriza nada); +# · `plasma-workspace` apaga el helper de Región&Idioma con +# -DGLIBC_LOCALE_GEN=OFF -DGLIBC_LOCALE_PREGENERATED=ON, que es exactamente lo que evita el +# `PolkitQt6-1 REQUIRED`. +# Esta receta pone la pieza; ENCENDER esos dos es otra decisión, con su propio radio de re-hash +# (plasma-workspace arrastra medio escritorio). Se deja explícito y sin tocar. +# +# ⚠ QUÉ SIGNIFICA "AUTORIZAR" ACÁ. El demonio no es polkitd sino `arje-polkit-compat`, que responde +# `is_authorized = true` a TODO y deja traza. Estas librerías son la INTERFAZ que el escritorio +# espera; la política real del fractal está en otro lado (SO_PEERCRED + capability grants). Ver +# recipes/arje-polkit-compat.toml y recipes/incoming-kde/polkit.toml. +name = "polkit-qt-1" +version = "0.201.1" +license = "LGPL-2.1-or-later" + +[source] +tarball = "https://download.kde.org/stable/polkit-qt-1/polkit-qt-1-0.201.1.tar.xz" +# Contrastado contra el .sha256 que publica KDE al lado del tarball. +sha256 = "95d8e2cae530c546d9437459deb8a1bea38d572f0f9772cc2860dc143637f256" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +flags = [] + +[build.phases] +# No lleva el wrapper `.zwrap` de las recetas KF6/Plasma: este proyecto usa cmake pelado +# (GNUInstallDirs + CMakePackageConfigHelpers), no KDECompilerSettings, así que nadie inyecta el +# `-Wl,--fatal-warnings` que zig ld no entiende. +# +# -DQT_MAJOR_VERSION=6 es OBLIGATORIO: el default del CMakeLists es "5". Sin él busca Qt5 y falla — +# o peor, en una máquina con Qt5 construiría los bindings equivocados con nombres distintos +# (polkit-qt5-1 en vez de polkit-qt6-1) y el fallo aparecería recién en el dependiente. +# -DCMAKE_INSTALL_LIBDIR=lib para que el `.pc` caiga junto al de polkit, en /usr/lib/pkgconfig. +configure = ''' +set -e +cmake -B build -G Ninja -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_PREFIX_PATH=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DQT_MAJOR_VERSION=6 \ + -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF + +# ── GUARDIÁN CONTRA UNA DEGRADACIÓN SILENCIOSA ───────────────────────────────────────────────── +# El CMakeLists sondea polkit con `check_function_exists`, que COMPILA Y ENLAZA. Si ese enlace falla +# por cualquier motivo del sandbox —y no por que la función no exista—, cmake no da error: imprime +# «You have an older polkit-1 version» y define POLKIT_QT_1_COMPATIBILITY_MODE. El build sella, el +# artefacto tiene el tamaño esperado y la autorización queda recortada sin que nadie se entere. +# `HAVE_POLKIT_SYSTEM_BUS_NAME_GET_USER_SYNC` es el único de los tres sondeos que llega al header +# generado, así que sirve de testigo: polkit 127 tiene esa función, luego un 0 acá significa que el +# sondeo no pudo enlazar, no que polkit sea viejo. +grep -q "define HAVE_POLKIT_SYSTEM_BUS_NAME_GET_USER_SYNC 1" build/core/polkitqt1-config.h || { + echo "los sondeos check_function_exists NO enlazaron contra polkit ⇒ cmake habría activado" >&2 + echo "POLKIT_QT_1_COMPATIBILITY_MODE en silencio. Abortando." >&2 + exit 1 +} +''' +compile = "cmake --build build" +install = ''' +set -e +DESTDIR=/out cmake --install build + +# Verificación por CONTENIDO: las tres librerías (core/gui/agent) con su SONAME, y el `.pc` con el +# nombre de Qt6 —no el de Qt5— que es el que buscarán kauth y plasma-workspace. +test -f /out/usr/lib/libpolkit-qt6-core-1.so.1 +test -f /out/usr/lib/libpolkit-qt6-gui-1.so.1 +test -f /out/usr/lib/libpolkit-qt6-agent-1.so.1 +test -s /out/usr/lib/pkgconfig/polkit-qt6-1.pc +test -s /out/usr/lib/cmake/PolkitQt6-1/PolkitQt6-1Config.cmake +''' + +# `polkit` acá es la variante de ESTA cola (libs-only, sin introspección), no la de incoming-gnome: +# hammer resuelve hermano→padre y no cruza colas hermanas. glib-shared/pcre2-shared/zlib-shared son +# las variantes dinámicas de la cola KDE — el glib canónico es sólo `.a` y no entra en un `.so`. +[deps] +build = ["cmake", "samurai", "python3", "pkgconf", "qtbase", "dbus", "polkit", + "glib-shared", "pcre2-shared", "zlib-shared", "libffi", + "mesa", "libdrm", "libxkbcommon", "wayland"] diff --git a/recipes/incoming-kde/polkit.toml b/recipes/incoming-kde/polkit.toml new file mode 100644 index 00000000..475f6eb8 --- /dev/null +++ b/recipes/incoming-kde/polkit.toml @@ -0,0 +1,67 @@ +# polkit 127 — variante incoming-kde: SÓLO las librerías, SIN introspección. +# +# ── POR QUÉ UNA SEGUNDA RECETA Y NO REUSAR recipes/incoming-gnome/polkit.toml ─────────────────── +# Porque no se puede: hammer resuelve las deps hermano→padre (la cola propia, después `recipes/`) y +# NUNCA cruza a una cola hermana. Desde incoming-kde, la de incoming-gnome es invisible. Y aunque se +# pudiera, no serviría tal cual: aquella se construye con `-Dintrospection=true` contra +# `glib-introspected`, que es la ISLA DINÁMICA del shell de GNOME (gjs importa `gi://Polkit` y por eso +# necesita el typelib). KDE no importa nada por gjs: enlaza libpolkit-gobject-1 y libpolkit-agent-1 +# desde C++ y el typelib le sobra — traerlo obligaría a meter gobject-introspection entero en la cola. +# +# ⚠ HOMÓNIMA A PROPÓSITO. El artefacto se llama `polkit` igual que el de incoming-gnome, así que en el +# store conviven dos `-polkit` con contenido distinto. Es el mismo patrón deliberado que ya +# tienen `dbus` (incoming-kde vs raíz) y `gmp` (incoming-kde vs incoming-cosmic), y tiene el mismo +# coste conocido: `store-gc` no puede decidir por NOMBRE cuál de los dos sellados es el vigente, sólo +# por hash. No renombrarla a `polkit-kde` es deliberado: el `.pc` que busca polkit-qt-1 es +# `polkit-gobject-1`, no el nombre del paquete, y renombrar sólo movería el problema al lector. +# +# ── LO QUE ESTA RECETA NO TRAE, Y NO ES UN OLVIDO ────────────────────────────────────────────── +# `-Dlibs-only=true` deja fuera polkitd, y ahí la opción recorta de verdad: el bloque `if not +# libs_only` del meson.build es justo el que pide expat y duktape (el motor JS de las reglas). +# El demonio lo pone arje: `recipes/arje-polkit-compat.toml` implementa +# `org.freedesktop.PolicyKit1` sobre el bus. Meter polkitd encima sería competirle, no completarlo. +# ⚠ Y con ello viaja la postura de seguridad que ese shim declara: responde `is_authorized = true` a +# TODO. Quien enlace estas librerías en esta distro está autorizado. Está escrito allá; lo repito acá +# porque esta receta es la que pone las librerías en manos del escritorio. +# +# `-Dsession_tracking=ConsoleKit` NO es una preferencia por ConsoleKit: es la única de las tres +# opciones que no exige una C-ABI de logind (`logind` pide libsystemd, `elogind` pide libelogind). +# Con libs-only ese camino queda inerte —el seguimiento de sesión lo hace polkitd, que no +# construimos—, así que la opción sólo sirve para que meson no salga a buscar una lib que no existe. +name = "polkit" +version = "127" +license = "LGPL-2.0-or-later" + +[source] +# El .orig.tar.gz inmutable del pool de Debian. El proyecto se mudó a github.com/polkit-org/polkit y +# sus `archive/refs/tags/*.tar.gz` son autogenerados ⇒ no deterministas (lección de cairo/iso-codes). +tarball = "http://deb.debian.org/debian/pool/main/p/policykit-1/policykit-1_127.orig.tar.gz" +sha256 = "9b7bc16f086479dcc626c575976568ba4a85d34297a750d8ab3d2e57f6d8b988" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +flags = [] + +[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 -Dlibs-only=true -Dsession_tracking=ConsoleKit -Dauthfw=shadow -Dintrospection=false -Dexamples=false -Dtests=false -Dman=false -Dgtk_doc=false -Dgettext=false -Dc_args=-Wno-error=date-time" +compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" +install = ''' +set -e +PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild + +# Verificación por CONTENIDO: lo que polkit-qt-1 busca son estos dos `.pc` y sus `.so` versionados. +# Un polkit sin libpolkit-agent-1 instala, pesa y deja el fallo para el dependiente. +test -s /out/usr/lib/pkgconfig/polkit-gobject-1.pc +test -s /out/usr/lib/pkgconfig/polkit-agent-1.pc +test -f /out/usr/lib/libpolkit-gobject-1.so.0 +test -f /out/usr/lib/libpolkit-agent-1.so.0 +''' + +# glib-shared / pcre2-shared / zlib-shared: las variantes DINÁMICAS de la cola KDE. El glib canónico +# es sólo `.a` sin PIC ⇒ no entra en un `.so`. Es la deuda Capa 0 que `glib-shared` existe para saldar +# —y su propio encabezado ya nombraba a polkit como uno de los motivos por los que se escribió. +[deps] +build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "dbus", + "glib-shared", "pcre2-shared", "zlib-shared", "libffi"]