Commit Graph
693 Commits
Author SHA1 Message Date
sergioandClaude Opus 4.8 e263b66ec1 mirada/USB: telemetría persistente en el pendrive + bump a mirada de hoy (fix musl en tawasuyu)
TELEMETRÍA (el pedido): el rootfs de la imagen es un initramfs = RAM pura y los logs iban a /run (tmpfs)
⇒ al apagar la máquina ajena no sobrevivía NADA. Ahora la imagen lleva 2da partición FAT32 MIRADALOG
(512M), montada por findfs+LABEL con -o sync (un cuelgue de GPU o corte de luz no se lleva los logs).
Cada arranque vuelca run-NNNN/ con: resumen (modo/GPU/driver), hardware (PCI vía sysfs, módulos, DRM,
input, firmware), pantallas (status/modes por conector), dmesg ANTES y DESPUÉS de mirada, seatd, y el log
del compositor+greeter con RUST_LOG=wgpu_core=debug + EGL_LOG_LEVEL=debug + LIBGL_DEBUG=verbose (para ver
por qué wgpu eligió el backend y si hay float16). Shell de rescate + . FAT32 a propósito: el
pendrive se lee después desde cualquier SO.

metal-usb-sdboot.sh gana DATA_MB/DATA_LABEL genéricos (partición de datos opcional en la GPT).

GOTCHAs verificados antes de confiar: el kernel linux-generic SÍ trae VFAT_FS=y + NLS + USB_STORAGE=y
(sin eso no montaba); el busybox de Alpine NO trae el applet 00:00.0 Host bridge: Intel Corporation Tiger Lake-UP3/H35 4 cores Host Bridge/DRAM Registers (rev 01)
00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 01)
00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0 (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Tigerlake Telemetry Aggregator Driver (rev 01)
00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)
00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #0 (rev 01)
00:12.0 Serial controller: Intel Corporation 500 Series Chipset Family On-Package Integrated Sensor Hub (rev 20)
00:14.0 USB controller: Intel Corporation 500 Series Chipset Family On-Package USB 3.2 Gen 2x1 (10 Gbs) xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation 500 Series Chipset Family On-Package Shared SRAM (rev 20)
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20)
00:15.0 Serial bus controller: Intel Corporation 500 Series Chipset Family On-Package I2C Controller #0 (rev 20)
00:15.1 Serial bus controller: Intel Corporation 500 Series Chipset Family On-Package I2C Controller #1 (rev 20)
00:16.0 Communication controller: Intel Corporation 500 Series Chipset Family On-Package CSME HECI #1 (rev 20)
00:1c.0 PCI bridge: Intel Corporation 500 Series Chipset Family On-Package PCI Express Root Port #5 (rev 20)
00:1d.0 PCI bridge: Intel Corporation 500 Series Chipset Family On-Package PCI Express Root Port #9 (rev 20)
00:1f.0 ISA bridge: Intel Corporation 500 Series Chipset Family On-Package eSPI Controller (rev 20)
00:1f.3 Multimedia audio controller: Intel Corporation 500 Series Chipset Family On-Package High Definition Audio (HD Audio) (rev 20)
00:1f.4 SMBus: Intel Corporation 500 Series Chipset Family On-Package System Management Bus (SMBus) (rev 20)
00:1f.5 Serial bus controller: Intel Corporation 500 Series Chipset Family On-Package SPI (flash) Controller (rev 20)
39:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. NV2 NVMe SSD [SM2267XT] (DRAM-less) (rev 03)
3a:00.0 Non-Volatile memory controller: ADATA Technology Co., Ltd. IM2P33F3 NVMe SSD (DRAM-less) (rev 03) (sí findfs/blkid) ⇒ el dump de PCI
lee /sys/bus/pci/devices/*/ directo; sintaxis del init validada con busybox ash (no bash).

BUMP mirada: el pin era 9967b02c (18-jun) — 439 commits viejo. Ahora 9a17fefc, que incluye el fix de
portabilidad a musl que hice en tawasuyu (ioctl: glibc usa c_ulong, musl c_int ⇒ las constantes DRM
casteaban mal y mirada-compositor NO compilaba para musl). mirada-compositor ya selló (87ced528);
greeter/ctl en curso.

+ scripts/kde/{metal-desktop-image,plasma-start-metal}.sh del hilo KDE (imagen de escritorio en metal).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 16:20:55 -04:00
sergioandClaude Opus 4.8 964a6931d2 kde/Plasma: spectacle SELLA — la CAPTURA DE PANTALLA (la app más cara de la campaña)
spectacle 6.7.2 (7a6db883) → /usr/bin/spectacle. Cierre VERIFICADO, los 6 componentes de la cadena:
libKPipeWireRecord.so.6 + libopencv_core.so.410 + libopencv_imgproc.so.410 + libtesseract.so.5.5 +
libKF6PrisonScanner.so.6 + libKQuickImageEditor.so.1.

Cadena nueva completada en esta tanda:
  ffmpeg 7.1            faafef5e  libavcodec/avutil/avformat/avfilter/swscale — kpipewire los exige los
                                  4 REQUIRED. ffmpeg NO usa autotools: su configure toma --cc/--ar/
                                  --ranlib, y hay que darle wrappers de UN SOLO TOKEN (--ar="zig ar" con
                                  espacio se ejecutaría como binario único — mismo gotcha que el AR de
                                  los crates 'cc'). **--disable-autodetect** = determinismo: sin él
                                  configure escanea el sandbox y activa libs a discreción.
  libva 2.22.0          121cd0de  libva.so + libva-drm.so, REQUIRED por kpipewire. Sólo la capa de
                                  despacho; los drivers reales son RUNTIME (dlopen). Sólo backend DRM.
  kpipewire 6.7.2       745665f3  KPipeWire + KPipeWireRecord. Deps: pipewire + ffmpeg + libva + gbm/EGL
                                  (mesa) + libepoxy.
  kquickimageeditor     0a4f8156  **BUMP 0.5.0 → 0.6.2.1**: spectacle 6.7 incluye
                                  <KQuickImageEditor/AnnotationDocument>, que NO existe en la serie 0.5
                                  (no tiene src/annotations). La 0.6.x suma deps propias: KF6Config
                                  REQUIRED + OpenCV 4.7 (stack blur, WITH_OPENCV=TRUE por defecto).

Por qué era cara: TODO en spectacle es REQUIRED y casi nada degradable. En particular **KPipeWire no se
puede esquivar**: find_package va sin REQUIRED y set_package_properties lo marca TYPE REQUIRED (eso sí se
degrada con sed), pero src/CMakeLists.txt:101 linkea K::KPipeWireRecord INCONDICIONALMENTE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 13:08:58 -04:00
sergioandClaude Opus 4.8 8207207251 kde/Plasma: pipewire 1.2.7 — el SERVIDOR de audio real (+ destraba la cadena de spectacle)
pipewire (6d15a22c) → libpipewire-0.3.so.0 + libspa-* + daemon 'pipewire' + **'pipewire-pulse'** (habla
el protocolo PulseAudio, así que los clientes libpulse ya sellados le hablan) + tools (pw-cli/pw-play/
pw-record/pw-mon/pw-dump/...). Cierra el lado SERVIDOR del audio: hasta ahora sólo teníamos el CLIENTE
(libpulse con -Ddaemon=false).

Dos frentes lo necesitaban: (1) audio real de Plasma 6; (2) spectacle → kpipewire → pipewire.

Fuente del gitlab.freedesktop.org (como networkmanager/modemmanager). Recortado al core+SPA: sin bluez5
(arrastraría los códecs aptx/ldac/aac/opus), sin jack/v4l2/libcamera/gstreamer/ffmpeg/vulkan/roc/lv2/
avahi/x11/echo-cancel-webrtc/libusb/flatpak/snap; systemd/logind/selinux/rtkit off (no hay systemd).
alsa+sndfile+libpulse+dbus+udev enabled (las 4 ya selladas).

GOTCHA static-vs-shared (variante nueva del patrón): **sin ncurses a propósito**. Su única consumidora es
la tool pw-top (monitor de terminal), guardada por 'if ncurses_dep.found()'. El ncurses del catálogo es
static-only y su .pc arrastra '-static' al link ⇒ 'error: using shared libraries requires dynamic linking'
al enlazar pw-top contra libpipewire-0.3.so. Quitando la dep, meson saltea pw-top y el resto construye.
(Alternativa futura si se quiere pw-top: variante ncurses-shared.)

Próximo: ffmpeg → kpipewire → spectacle.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:52:51 -04:00
sergioandClaude Opus 4.8 abd7337069 kde/Plasma: tesseract/leptonica/kquickimageeditor — cadena de spectacle (queda 1 blocker: KPipeWire)
Selladas:
  leptonica 1.85.0        e80a5d36  procesamiento de imagen; dep dura de tesseract. Codecs recortados a
                                    las variantes .so/PIC que ya tenemos (libjpeg-turbo-shared +
                                    libpng-shared + zlib-shared); TIFF/WEBP/OPENJPEG/GIF off.
  tesseract 5.5.0         08c05238  OCR. spectacle lo exige DURO: pkg_check_modules(TESSERACT REQUIRED)
                                    en CMakeLists:111, sin option() para apagarlo. Sólo la lib (sin
                                    training tools, que piden pango/cairo/icu).
  kquickimageeditor 0.5.0 3d4bd904  editor de imagen QtQuick; spectacle lo marca TYPE REQUIRED.

spectacle.toml se commitea CON su blocker documentado en la cabecera (misma convención que usaba
networkmanager-qt): **KPipeWire**. find_package(KPipeWire) va sin REQUIRED y set_package_properties lo
marca TYPE REQUIRED (eso se degrada con sed), PERO src/CMakeLists.txt:101 linkea
INCONDICIONALMENTE ⇒ no hay forma de compilar sin él. Falta la cadena pipewire → (ffmpeg, para
KPipeWireRecord) → kpipewire.

El resto de su cadena YA quedó resuelto y sellado esta sesión: opencv + prison-scanner + zxing-cpp +
tesseract + leptonica + kquickimageeditor + xcb-util-cursor (sin este último: 'No suitable backend
platform was found ... XCB-CURSOR').

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:45:30 -04:00
sergioandClaude Opus 4.8 b68970675b kde/Plasma: zxing-cpp 2.3.0 + prison-scanner (KF6PrisonScanner) — cadena de spectacle
zxing-cpp 2.3.0 (c98afd82) → libZXing.so: decodificador/codificador de códigos de barras y QR.
prison-scanner 6.27.0 (cbfd6dcc) → libKF6Prison.so.6 + **libKF6PrisonScanner.so.6**.

Por qué la variante: el prison canónico de esta cola se selló con WITH_ZXING=OFF/WITH_MULTIMEDIA=OFF ⇒ no
provee KF6::PrisonScanner, y spectacle corta el build en seco:
  if (NOT TARGET KF6::PrisonScanner) message(SEND_ERROR "Prison built without required PrisonScanner")
prison-scanner activa WITH_ZXING=ON + WITH_MULTIMEDIA=ON (qtmultimedia ya sellado). Nombre distinto para
NO re-hashear el prison que ya consumen plasma-workspace/plasma-nm — mismo patrón que kcoreaddons-QML /
kwindowsystem-QML / qcoro-shared.

GOTCHA zxing: hay que compilar **READERS *y* WRITERS**. Con ZXING_WRITERS=OFF el header ZXing/BitMatrix.h
ni se instala, y prison NO sólo escanea — también GENERA códigos (zxingutil.cpp/pdf417barcode.cpp lo
incluyen) ⇒ 'fatal error: ZXing/BitMatrix.h file not found'.

spectacle sigue sin construir: además exige (sin flag para apagarlos) pkg_check_modules(TESSERACT REQUIRED
tesseract) — OCR, arrastra leptonica — y kquickimageeditor TYPE REQUIRED.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:37:17 -04:00
sergioandClaude Opus 4.8 e07e316c98 kde/Plasma: opencv 4.10.0 (core+imgproc) — dep de spectacle
opencv (79526f4b) → libopencv_core.so.4.10 + libopencv_imgproc.so.4.10 + opencv4.pc. spectacle (la
herramienta de captura de pantalla) lo exige: find_package(OpenCV 4.7 REQUIRED core imgproc), lo usa en
src/QtCV.h.

OpenCV es enorme (~95MB de fuente, decenas de módulos): se recorta con **BUILD_LIST=core,imgproc** (CMake
ni configura el resto) + todo OFF (apps/tests/docs/python/java/protobuf/DNN/GUI/video/ffmpeg/IPP/TBB/CUDA/
OpenCL/codecs). Los codecs WITH_* van OFF porque viven en imgcodecs, que no construimos.

**GOTCHA zig-wrapper DURABLE (2da vez que aparece, ahora documentado):** el wrapper clásico de esta cola
arma la lista de args en $a SIN comillas ⇒ SPLITEA cualquier arg con espacios. OpenCV pasa
-DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE="long long" ⇒ zig recibe 'long' suelto y falla con
'error: long: unrecognized file extension'. Fix acá: wrapper PASS-THROUGH con "$@" (OpenCV no es
ECM/KDE, no necesita el filtro de -Wl,--fatal-warnings). Es el mismo bug que ya había pegado en
libkscreen (moc_predefs con -I"dir1 dir2").

spectacle NO construye todavía: además de OpenCV exige KF6::PrisonScanner, y el prison sellado se hizo
con WITH_MULTIMEDIA=OFF (sin el componente Scanner, que pide ZXing + Qt Multimedia).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:32:58 -04:00
sergioandClaude Opus 4.8 e8ab362dd4 kde/Plasma: kinfocenter + kmenuedit (info del sistema y editor de menú)
kinfocenter 6.7.2 (9dee4f29): bin kinfocenter + KCMs de hardware (kcm_cpu/interrupts/kwinsupportinfo/
xserver/opencl/energyinfo/...). kmenuedit 6.7.2 (d13a64f4): editor del menú de aplicaciones. Ambos sin
recetas nuevas.

DEUDA REGISTRADA — qtbase sin Vulkan: el KCM about-distro ('Acerca de este sistema') incluye
<QVulkanInstance>/<QVulkanFunctions> tanto en sus helpers (opengl-helper/vulkan-helper) como en
GPUEntry.h. Esos headers SÓLO los genera Qt6Gui si qtbase se configuró con Vulkan, y el qtbase sellado
NO lo tiene (vulkan-headers/vulkan-loader están sellados, pero los usa kwin directo, no Qt). Se podó el
KCM entero: activar vulkan en qtbase cascadearía un rebuild de TODO el stack Qt/KF6/Plasma (horas), como
ya se vio con el fix de zlib-shared → kwin(1825 obj)+plasma-workspace(1962 obj). Pendiente para una
próxima cascada planificada de qtbase (junto con otras features que falten).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:18:59 -04:00
sergioandClaude Opus 4.8 52ca9de8b7 kde/Plasma: systemsettings 6.7.2 — el CENTRO DE CONFIGURACIÓN
systemsettings (4c304dd8) sella a la PRIMERA: bin /usr/bin/systemsettings, NEEDED libKF6KCMUtils.so.6 +
libKF6KCMUtilsCore.so.6 + libPlasmaActivities.so.7. Cero recetas nuevas (todas las deps ya selladas) y
sin pelear DocTools: systemsettings lo declara en OPTIONAL_COMPONENTS.

Era el hueco más grande del escritorio: los KCMs se habían apagado para poder compilar plasma-desktop, y
sin systemsettings no hay shell donde alojarlos. Ahora existe el contenedor + ya hay KCMs reales
construidos por otras piezas de esta sesión: kcm_networkmanagement (plasma-nm), kcm_pulseaudio
(plasma-pa), kcm_powerdevilprofilesconfig (powerdevil), kcm_kscreen (kscreen).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:14:32 -04:00
sergioandClaude Opus 4.8 3e0194609a kde/Plasma: plasma-pa SELLA — el APPLET DE VOLUMEN, frente de AUDIO cerrado
plasma-pa 6.7.2 (51d7a25b): applet QML org.kde.plasma.volume + kcm_pulseaudio + audioshortcutsservice.
Cierra el frente de audio: hasta ahora el lab sólo tenía libcanberra con backend NULL (sin reproducción).
Cadena completa nueva:
  alsa-lib/speexdsp/libsndfile → pulseaudio (cliente) → pulseaudio-qt → plasma-pa

pulseaudio 17.0 (108cac6e) → libpulse.so.0 + libpulse-mainloop-glib.so.0 + libpulse-simple.so.0 (+ .pc).
  - **-Ddaemon=false -Dclient=true**: se construye SÓLO la biblioteca cliente. Es lo correcto acá — el
    servidor de audio previsto es PipeWire (habla el protocolo PulseAudio) pero los clientes igual
    linkean el libpulse de PulseAudio. Evita todo el árbol de módulos del daemon (alsa/bluez/jack/
    avahi/orc/fftw/webrtc-aec).
  - -Dglib=enabled es OBLIGATORIO (sin él no hay libpulse-mainloop-glib, que plasma-pa exige);
    lo habilita glib-shared.
  - **GOTCHA lld durable**: PulseAudio comparte UN map-file (version script) entre libpulse,
    libpulse-simple y libpulse-mainloop-glib ⇒ al enlazar cada una, el script asigna PULSE_0 a símbolos
    que viven en las OTRAS: 'version script assignment of PULSE_0 to symbol pa_glib_mainloop_new failed:
    symbol not defined'. GNU ld sólo avisa; ld.lld (el de zig) lo trata como ERROR desde lld 17. Fix:
    -Dc_link_args=-Wl,--undefined-version.

pulseaudio-qt 1.8.1 (c6849b9e) → libKF6PulseAudioQt.so.5, selló a la primera. OJO: NO está en el path de
plasma/ sino en download.kde.org/stable/pulseaudio-qt/, y la versión viva es 1.8.x (1.6.0 del
find_package es sólo el mínimo).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:12:01 -04:00
sergioandClaude Opus 4.8 85cfb02d4d kde/Plasma: powerdevil + kscreen (energía y pantallas) + base de AUDIO (alsa-lib/speexdsp/libsndfile)
powerdevil 6.7.2 (299af51a): daemon de energía + acciones (suspendsession/dimdisplay/dpms/
brightnesscontrol) + KCMs. kscreen 6.7.2 (ef6218e6): kcm_kscreen + kscreen KDED + kscreen-console +
hdrcalibrator.

Base de audio REAL (el lab sólo tenía libcanberra con backend NULL, sin reproducción):
  alsa-lib 1.2.14   c6896caf  libasound.so.2 (--disable-python)
  speexdsp 1.2.1    dc235b15  libspeexdsp.so.1 (resampler de PulseAudio)
  libsndfile 1.2.2  c44d0142  libsndfile.so.1 (--disable-external-libs: sin FLAC/Opus, que no están
                              sellados; WAV/AIFF/AU basta para sonidos del sistema). Necesita python3.
Siguiente eslabón: pulseaudio → pulseaudio-qt → plasma-pa (applet de volumen).

3 lecciones de la depuración de powerdevil (dep-set de 69):
- ** FALTABA** y el síntoma era engañoso: 'Could NOT find KF6 (missing: KIO KCMUtils
  XmlGui)'. La cadena real es KF6ConfigWidgets→find_dependency(KF6WidgetsAddons) ausente ⇒ ConfigWidgets
  NOT_FOUND ⇒ cascadea a XmlGui/KIO/KCMUtils. Para diagnosticar hay que seguir los 'could not be found
  because dependency X' hacia ARRIBA, no fiarse de los componentes que CMake lista.
- **PlasmaWaylandProtocols/WaylandProtocols/qtwayland** son deps directas de todo lo que toca Wayland
  (powerdevil, kscreen). Idem los QML modules (kscreen: org.kde.kitemmodels + org.kde.plasma.plasma5support
  → kitemmodels/plasma5support directos; ambos YA traen su qml/, no hacía falta variante QML=ON).
- **timeout del build**:  mató powerdevil a mitad del rebuild de plasma-workspace (mi
  cambio de zlib-shared cascadeó kwin[1825 obj]+plasma-workspace[1962 obj]). Usar timeouts largos
  (9000) para recetas con dep-sets grandes. Además: 24778 AUTO-MATCHEA el propio
  comando de chequeo → usar .

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:06:01 -04:00
sergioandClaude Opus 4.8 f5a3432831 kde/Plasma: plasma-nm 6.7.2 SELLA — el APPLET DE RED, frente de red cerrado
plasma-nm (6080f27f) construido: applet QML org.kde.plasma.networkmanagement + kcm_networkmanagement +
plugins VPN (openvpn/openswan/ssh/sstp/strongswan/iodine/fortisslvpn). Cierre verificado:
libKF6NetworkManagerQt.so.6 + libKF6ModemManagerQt.so.6 + libqt6keychain.so.1.

Cierra el frente que plasma-workspace esquivó parcheando NetworkManagerQt a opcional. Cadena entera:
  glib-shared → networkmanager (libnm)    → networkmanager-qt ─┐
  glib-shared → modemmanager (libmm-glib) → modemmanager-qt ───┴→ plasma-nm

Deps nuevas de esta tanda:
  modemmanager 1.22.0   9e4ce41d  libmm-glib. -Dqmi/mbim/qrtr=false evita libqmi/libmbim/libqrtr;
                                  polkit=no, udev=false (+udevdir explícito, lo exige el assert).
  modemmanager-qt 6.27  37e954bb  KF6ModemManagerQt (REQUIRED en el find_package(KF6) de plasma-nm
                                  aunque no haya módem).
  qtkeychain 0.16.0     6a1319b0  claves WiFi. **LIBSECRET_SUPPORT=OFF**: por defecto ON y exige
                                  libsecret-1 (llavero de GNOME); apagado queda KEYCHAIN_DBUS =
                                  kwallet vía Qt6DBus, que es el backend que KDE usa ⇒ cero deps nuevas.
                                  OJO: el tag de git es '0.16.0' SIN prefijo 'v'.
  libxslt 1.1.43        b41cb0fc  xsltproc. A diferencia de NM (donde sólo servía a man/ y se degradó),
                                  ModemManager lo USA de verdad: include/meson.build:25 genera
                                  ModemManager-names.h desde header-generator.xsl.
  qcoro-shared 0.12.0   b8ed5b49  el qcoro canónico sella sólo .a sin PIC (su CMake no fija
                                  BUILD_SHARED_LIBS) ⇒ 'R_X86_64_32S QCoro::detail::TaskBase<QDBusMessage>
                                  recompile with -fPIC' al linkear plasma-nm. Variante con
                                  BUILD_SHARED_LIBS=ON; nombre distinto para no re-hashear el qcoro que
                                  ya consumen plasma-workspace/powerdevil.

BUILD_OPENCONNECT=OFF es importante: con ON, plasma-nm hace find_package(Qt6WebEngineWidgets REQUIRED)
⇒ arrastraría qtwebengine (Chromium), diferido por el ADR.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:48:26 -04:00
sergioandClaude Opus 4.8 89569a6ce2 kde/Plasma: NetworkManager 1.52 + libndp → networkmanager-qt SELLA (blocker duro resuelto)
Habilitado por glib-shared (deuda Capa 0 recién saldada). La receta networkmanager-qt documentaba un
' BLOCKER DURO': pkg_search_module(NetworkManager REQUIRED IMPORTED_TARGET libnm>=1.4.0) sin receta de
NetworkManager en el catálogo. Resuelto:

networkmanager 1.52.0 (f3d89133) → libnm.so.0 + libnm.pc + headers (NetworkManager.h/nm-version.h).
  - Fuente: gitlab.freedesktop.org (download.gnome.org sólo llega a NM 1.9.x; el proyecto migró).
  - **-Dcrypto=null es la clave**: NM ofrece crypto ∈ {nss,gnutls,null}; 'null' evita nss (→nspr/sqlite)
    y gnutls (→nettle/libtasn1/p11-kit), dos cadenas enormes. Sin validación de certificados 802.1X,
    pero libnm compila y la API D-Bus queda completa.
  - Deps duras satisfechas: libudev (libudev-zero ya sellado), gio (glib-shared), libndp (receta nueva),
    uuid (util-linux), dbus.
  - NM va pidiendo sus flags de a uno; los que hicieron falta: -Dld_gc=false (lld no soporta linker
    garbage collection), -Dsystemdsystemunitdir=no, -Dconcheck=false (curl), -Dnmcli=false/-Dreadline=none.
    sed a meson.build:92: find_program('xsltproc') es INCONDICIONAL pero xsltproc sólo se usa en man/
    (no se construye con docs=false) → required:false, evita la receta libxslt entera.

libndp 1.9 (036eb8c7): sin tarball con configure pregenerado (mirrors 404) ⇒ git-archive +
con el autoconf/automake del rootfs de build (patrón 'de gueto', como gcc/cmake).

networkmanager-qt 6.27.0 (b5850a40) SELLA. Hallazgo: libKF6NetworkManagerQt.so NO enlaza libnm — sólo
Qt6Network/DBus/Core. libnm es dep de BUILD (headers/enums); el runtime es D-Bus puro. Confirma el
comentario original de la receta. Próximo: plasma-nm (el applet).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:25:28 -04:00
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
sergioandClaude Opus 4.8 324870e566 kde/Plasma: tanda de 5 apps ligeras (9-13) — kcharselect/kfind/kruler/kdf/kwalletmanager
CERO recetas nuevas: las 5 usan sólo deps ya selladas. Binarios verificados en los artefactos.
  kcharselect  da2ea71b  selector de caracteres Unicode
  kfind        9c46fee5  buscador de archivos (+qt5compat por Qt6Core5Compat REQUIRED, +kfilemetadata)
  kruler       f69c1bc8  regla de pantalla (+kstatusnotifieritem)
  kdf          fe681807  espacio en disco → bins kdf + kwikdisk (+kcmutils)
  kwalletmanager 2d31f0be  gestor de billetera → bin kwalletmanager5 (+kwallet/kcmutils)

4/5 sellaron a la primera con el patrón app-KDE estándar. kwalletmanager pidió además degradar DocTools:
marca TYPE REQUIRED en set_package_properties ⇒ feature_summary aborta; sed TYPE REQUIRED→OPTIONAL (el
mismo patrón que konsole/gwenview; distinto de ark/okular donde DocTools va en el COMPONENTS list).

Apps: konsole+dolphin+kate(+kwrite)+kcalc+ark+filelight+gwenview+okular+kcharselect+kfind+kruler+kdf+
kwalletmanager = 13.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 10:03:33 -04:00
sergioandClaude Opus 4.8 122557615f kde/Plasma: okular 25.04.3 (8va app, visor documentos) + poppler 25.02.0 + freetype/fontconfig shared — DEUDA CAPA 0 SALDADA
okular sella (5efc2ad9) con 8 generadores: poppler (PDF) + kimgio + txt + comicbook + fax + fb + dvi +
xps. okularGenerator_poppler.so → libpoppler-qt6.so.3 verificado.

poppler 25.02.0 (59461aff), Qt6-only: sin QT5/glib/cpp/utils/tests; NSS3/GPGME/LIBCURL/LIBTIFF off y
LIBOPENJPEG=none (sin deps selladas; los JPEG2000 embebidos no renderizan, el resto del PDF sí).
Cierre libpoppler.so VERIFICADO soberano: libfreetype.so.6 + libfontconfig.so.1 + libjpeg.so.62 +
libpng16.so.16 + liblcms2.so.2 + libz.so.1 — sin fugas al sysroot.

**DEUDA CAPA 0 'freetype/fontconfig shared-PIC' (marcada pendiente en ADR 0011) SALDADA:**
freetype-shared 2.14.3 (76fd1f4b, libfreetype.so.6, --without-harfbuzz corta el ciclo con harfbuzz) +
fontconfig-shared 2.18.1 (6ed9e303, libfontconfig.so.1). expat NO necesita variante: el canónico ya usa
--with-pic. Las variantes omiten los 3 patches Alpine de rendering (viven en recipes/, copiarlos
arriesga colisión de patches homónimos; no afectan el rasterizado que poppler necesita).

Fixes okular: FORCE_NOT_REQUIRED_DEPENDENCIES (flag OFICIAL que sugiere el propio feature_summary) para
DocTools/Purpose/TIFF/LibSpectre/KExiv2Qt6/DjVuLibre/EPub/Discount/QMobipocket6; +plasma-activities
(REQUIRED), +kpty (comicbook), +kwallet (ya sellada). GOTCHA musl durable: synctex_parser.c usa
vasprintf (extensión GNU) con -std=c99 ⇒ musl no la declara en modo estricto ⇒ CMAKE_C_FLAGS=-D_GNU_SOURCE.

Apps: konsole+dolphin+kate+kcalc+ark+filelight+gwenview+okular.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 09:56:17 -04:00
sergioandClaude Opus 4.8 31fe5eb937 kde/Plasma: gwenview 25.04.3 (7ma app, visor imágenes) + phonon/exiv2 + shared image libs + fix zlib versionado
gwenview sella (1d2bb09d). NEEDED verificado: libexiv2.so.28 + libjpeg.so.62 + libpng16.so.16 +
liblcms2.so.2 + libphonon4qt6.so.4. Deps nuevas: phonon 4.12.0 (f0cdba38, multimedia REQUIRED, recorte
Qt6-mín) + exiv2 0.28.5 (3eebcce9, EXIF REQUIRED vía FindLibExiv2 de ECM, minimal sólo-zlib + fix
-Wno-error=date-time). kImageAnnotator degradado a OPTIONAL.

Más deuda Capa 0 (static→shared/PIC): libjpeg-turbo-shared (2c0dca7f, libjpeg.so.8) + libpng-shared
(bf8f7724, libpng16.so.16) — el .a canónico no enlaza en gwenviewlib.so.

FIX SOBERANÍA zlib versionado: zlib-shared re-hecho con -Wl,--version-script,zlib.map ⇒ ahora exporta
compressBound@@ZLIB_1.2.0 e inflateReset2@@ZLIB_1.2.3.4. Qt6 (libQt6Core/Gui) NEEDED esos @tags; el
libz.so previo (--whole-archive sin mapa) sólo daba nombres pelados → ld.lld fallaba con
--no-allow-shlib-undefined y Qt caía en runtime a la libz de Alpine (fuga). El .so versionado satisface
consumidores versionados y no-versionados. Apps: konsole+dolphin+kate+kcalc+ark+filelight+gwenview.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 08:44:40 -04:00
sergioandClaude Opus 4.8 2e0b77852b kde/Plasma: filelight 25.04.3 (6ta app, uso de disco) — Qt Quick, sin deps nuevas
filelight sella (46a6ece8) con KIO/I18n/ColorScheme/Config/Crash + QtQuick/QuickControls2 (todo ya
sellado). Kirigami + qqc2-desktop-style son estilo RUNTIME. App QML pura. Apps: konsole + dolphin +
kate + kcalc + ark + filelight.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 08:16:03 -04:00
sergioandClaude Opus 4.8 89cf661d9e kde/Plasma: ark 25.04.3 (5ta app, comprimidos) + libarchive/libzip + bzip2-shared/xz-shared
ark sella (8ebf0e10) con sus plugins kerfuffle: kerfuffle_libarchive.so→libarchive.so.13 y
kerfuffle_libzip.so→libzip.so.5. Motor nuevo: libarchive 3.7.7 (41f9959c) + libzip 1.11.3 (f64869dc).

Deuda Capa 0 pagada (static↔dinámico): el libbz2.a/liblzma.a canónicos son SIN -fPIC → no enlazan en
un .so ('R_X86_64_PC32 recompile with -fPIC'). Nuevas variantes shared como zlib-shared: bzip2-shared
(4a015f8a, Makefile-libbz2_so → libbz2.so.1.0) y xz-shared (25765982, autotools --enable-shared →
liblzma.so.5). Cierre libarchive.so verificado soberano: liblzma.so.5 + libzstd.so.1 + libbz2.so.1.0 +
libz.so.1, sin fugas al sysroot. Apps: konsole + dolphin + kate + kcalc + ark.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 08:12:03 -04:00
sergioandClaude Opus 4.8 2192aeb8b1 kde/Plasma: kcalc 25.04.3 (4ta app, calculadora) + mpc 1.3.1
kcalc sella (156ea599) con su lib interna knumber sobre GMP+MPFR+MPC. mpc 1.3.1 (f3ca42a4, deps
gmp/mpfr ya sellados) es build-dep duro: knumber_complex.cpp incluye <mpc.h> incondicionalmente.
NEEDED verificado: libgmp.so.10 + libmpfr.so.6 + libmpc.so.3 + cierre KF6/Qt6 (Widgets/XmlGui/
ConfigWidgets/Crash/Notifications/...). Apps: konsole + dolphin + kate + kcalc.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 08:00:44 -04:00
sergio 6054de73a5 kde/Plasma: kate 25.04.3 (3ra app, editor) + threadweaver 6.27
kate sella (08b3c385) con ktexteditor+threadweaver (KF6 nuevo)+musl-fts+cierre KF6. Fix: quitar
examples/ (Qt6Gui en subdir), DocTools/UserFeedback opcionales. threadweaver necesita set Qt6-consumer
(mesa/libdrm/libxkbcommon/wayland). Apps: konsole + dolphin + kate.
2026-07-14 07:21:32 -04:00
sergio b4dd416663 kde/Plasma: dolphin 25.04.3 (2da app) + musl-fts 1.2.7 — gestor de archivos, con fix de musl real
dolphin sella (4fe0cab4). BLOCKER musl real: <fts.h> (fts_open/read) NO existe en musl (glibc/BSD) →
receta musl-fts 1.2.7 (047c45c9, fts.c compilada a mano, config.h stub) + link -lfts global. Phonon
(sonido) + UserFeedback (telemetría) patcheados a opcional/quitados del link. Patrón reusable: apps que
usan fts (find-like) necesitan musl-fts en deps + -DCMAKE_*_LINKER_FLAGS=-lfts.
2026-07-14 07:09:27 -04:00
sergio cdb2616a96 kde/Plasma: konsole 25.04.3 + kpty 6.27 — la PRIMERA app (terminal) desde fuente
konsole (emulador de terminal) construye+sella con musl+zig-cc. Deps nuevas: kpty (pseudo-terminal,
cb0f3836) + icu4c + qtmultimedia + cierre knewstuff (attica/kpackage/kirigami). DocTools/doc a opcional.
Primera app del escritorio KDE construida — el shell ahora tiene con qué abrir algo.
2026-07-14 06:53:29 -04:00
sergio 54e07d0593 kde/Plasma: kquickcharts 6.27 (org.kde.quickcharts) — el applet de notificaciones lo importa 2026-07-14 06:30:34 -04:00
sergio 5b316f63a9 kde/Plasma: fuentes (dejavu 2.37) + iconos (breeze-icons 6.27, sin generación 24px que pide lxml) 2026-07-14 06:28:14 -04:00
sergio b3bb5d08bc kde/Plasma: el LANZADOR (kickoff) abre — coreaddons-QML + kirigami-addons
kickoff (menú de apps) importaba org.kde.coreaddons (kcoreaddons con KCOREADDONS_USE_QML=ON,
variante sellada 6c0dd30e + hidratada aparte; receta revertida a OFF para no cascadear) +
org.kde.kirigamiaddons.components (kirigami-addons 1.9.0 a318888d, receta nueva). Ya no falla.
Applets rotos restantes: notifications (org.kde.quickcharts), keyboardlayout (kcm removido).
2026-07-14 06:23:23 -04:00
sergio dcae94f411 kde/Plasma: 🎉 H-SHELL — plasmashell carga el escritorio + panel sobre kwin (headless, soberano)
run-plasma-headless.sh lanza kactivitymanagerd antes de plasmashell (plasmashell aborta sin él).
RESULTADO: kwin_wayland --virtual composita + plasmashell carga org.kde.plasma.desktop (Desktop.qml),
el panel puebla applets, kactivitymanagerd corre, actividades registran, xkb funciona. El escritorio
KDE Plasma 6 PRENDE headless por software desde el rootfs musl soberano. Applets restantes (polish):
kickoff/notifications piden org.kde.coreaddons QML (kcoreaddons KCOREADDONS_USE_QML, cascadea) +
kirigami-addons (no construido); pager podado; iconos breeze + fuentes dejavu pendientes.
2026-07-14 03:55:20 -04:00
sergio dfc8d370b9 kde/Plasma: plasma-desktop restaura imports/activitymanager (org.kde.plasma.activityswitcher)
El shell Desktop.qml IMPORTA org.kde.plasma.activityswitcher (de imports/activitymanager) + org.kde.
kwindowsystem. Fix activityswitcher: switcherbackend.cpp usa XWindowTasksModel (X11, QList<WId>) bajo
#if HAVE_X11, pero HAVE_X11=1 pese a WITH_X11=OFF y el header falta en plasma-workspace wayland-puro;
WaylandTasksModel retorna QList<QUuid> (incompat) ⇒ desactivamos los bloques #if HAVE_X11 (#if 0) +
borramos el include (drag-drop X11 de ventanas entre actividades, feature menor). kwindowsystem: el
módulo QML org.kde.kwindowsystem se sella aparte (QML=ON, c9ff13c5) e hidrata al runtime; la receta
queda QML=OFF para NO cascadear el rebuild de kwin/plasma-workspace (deuda reproducibilidad ADR).
2026-07-14 03:51:58 -04:00
sergio 664af06523 kde/Plasma: kactivitymanagerd 6.7.2 + boost 1.86 (headers) sellados — plasmashell exige el daemon de actividades 2026-07-14 02:55:45 -04:00
sergio c26add7827 kde/Plasma: plasma-desktop 6.7.2 SELLADO (05e0382e) — el shell org.kde.plasma.desktop
Cadena de configure+compile resuelta (de-Alpinización wayland-puro): DocTools TYPE REQUIRED→OPTIONAL,
doc/kdoctools_install removidos, kcms off, kaccess/runners/imports-activitymanager/applet-pager podados
(headers X11/kcm-generados ausentes en wayland-puro). Deps: +qt5compat/knotifyconfig/plasma5support/
qqc2-desktop-style/plasma-workspace/xkeyboard-config. Provee containments+applets core (kickoff/
taskmanager/systemtray/folder) + el shell. BUG durable: sandbox usa busybox grep (sin --include).
2026-07-14 02:46:25 -04:00
sergio c3042b3102 kde/Plasma: handoff — estado final plasma-desktop + bug busybox-grep + blocker feature_summary 2026-07-14 01:54:13 -04:00
sergio 1120193538 kde/Plasma: plasma-desktop configure avanza hondo (bug busybox-grep resuelto)
BUG CLAVE resuelto: el sandbox usa busybox grep (NO soporta --include) ⇒ mi sed de libwacom vía
grep -rl fallaba silencioso. Fix = seds directos sobre CMakeLists.txt. Cadena de blockers resuelta:
libwacom→opt, plasma-workspace añadido (LibKLookAndFeel/LibKWorkspace/LibTaskManager), KSMServer→opt
(wayland-puro sin ksmserver), xkbregistry→opt, xkeyboard-config SELLADO (ConfigureChecks xkb_base).
BLOCKER VIVO: feature_summary aborta por REQUIRED no hallados (XCB-XKB kcm-teclado, KF6Kirigami/
QQC2DesktopStyle pese a estar en deps, EGL, Qt6QuickWidgets) — interacción kcms-removido/wayland-puro,
necesita investigación fresca. Build detenido.
2026-07-14 01:53:40 -04:00
sergio 906e45aa92 kde/Plasma: xkeyboard-config 2.44 sellado (xkb_base para plasma-desktop ConfigureChecks + fix xkb runtime) 2026-07-14 01:50:39 -04:00
sergio f6f0385297 kde/Plasma: handoff — cadena de blockers de plasma-desktop + recomendación shell-only 2026-07-14 01:35:01 -04:00
sergio 76266167fb kde/Plasma: plasma-desktop WIP — patches NetworkManagerQt/DocTools/libwacom opcional + kcms off
Cadena de blockers de configure descubierta (de-Alpinización KDE): qt5compat✓ knotifyconfig✓(sellado)
plasma5support✓ qqc2-desktop-style✓ → NetworkManagerQt/DocTools REQUIRED (patcheados a opcional) →
libwacom REQUIRED (KCM tableta) → KAccounts6 REQUIRED (online accounts). Desactivé subdir kcms (el shell
está en containments/applets, no en KCMs) pero libwacom/KAccounts6 los piden subdirs no-kcms (applets).
Tail pendiente: podar applets/subdirs que exigen accounts/wacom, o buildear shell-only. Ver handoff.
2026-07-14 01:34:38 -04:00
sergio 87511eeab9 kde/Plasma: handoff — caveat cascada de rebuild total en plasma-desktop + alternativas (farm-up snapshot) 2026-07-14 01:14:26 -04:00
sergio 2a8bab70c8 kde/Plasma: handoff nocturno — plasma-desktop en construcción + comandos de mañana para H-shell 2026-07-14 00:38:16 -04:00
sergio 1ac1c5f86e kde/Plasma: receta plasma-desktop 6.7.2 WIP (el shell org.kde.plasma.desktop faltante)
Configura OK (deps: qt5compat+knotifyconfig+plasma5support añadidos) y compila (155 obj);
en curso con cascada de rebuild de deps (fragilidad de hashing dinámico). Al sellar → hidratar
al rootfs → plasmashell cargaría la corona (H-shell). WITH_X11=OFF wayland-puro, patrón KF6.
2026-07-14 00:31:46 -04:00
sergio 726b3095d6 kde/Plasma: knotifyconfig 6.27.0 sellado (dep de plasma-desktop, KF6NotifyConfig) 2026-07-14 00:11:48 -04:00
sergioandClaude Opus 4.8 c813664497 kde/Plasma: LANDMARK — kwin+plasmashell corren headless end-to-end (software, rootfs soberano)
- Fix clave: bwrap con rootfs merged como / (el hack loader --library-path rompía el dlopen
  de plugins de kwin → QPA create() core-dump). Paths FHS nativos + LD_LIBRARY_PATH lib64.
- kwin_wayland --virtual LEVANTA el compositor (socket wayland-0, compositing software tras
  fallar gbm); plasmashell CONECTA y arranca (QtQuick software). Stack Plasma 6 soberano
  (musl/zig-cc) EJECUTA end-to-end SIN GPU real.
- Bloqueo a H-shell: falta el shell org.kde.plasma.desktop (paquete plasma-desktop, no
  construido) → 'invalid corona'. Próximo: construir plasma-desktop + kpipewire + baloo.
- run-plasma-headless.sh reescrito con la sesión bwrap validada (dbus+kwin+cliente).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 00:02:46 -04:00
sergioandClaude Opus 4.8 725adbd487 kde/Plasma: mesa-swrast (GL software) + lanzador Plasma headless + handoff nocturno
- run-plasma-headless.sh: lanzador de sesión Plasma headless (software EGL/softpipe sobre KMS).
- mesa-swrast construido (softpipe, sin LLVM, sello c59738eb): swrast_dri/kms_swrast_dri.
- HANDOFF-noche-kde: kwin_wayland linkea+carga QPA pero create() del compositor crashea headless
  (virtio-gpu/EGL-sw/seat en musl, opaco sin gdb). El rootfs es para GPU Intel real (iris) →
  camino recomendado = imagen booteable para metal (laptop TigerLake). Estado + próximos pasos.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 23:56:59 -04:00
sergioandClaude Opus 4.8 a7449a0b88 kde/Plasma: cierre runtime COMPLETO del rootfs + zlib soberano shared
- complete-closure.sh: escanea DT_NEEDED de todos los ELF del rootfs y proyecta del store
  sellado el artefacto que provee cada soname AUSENTE, iterando a punto fijo. Resuelve las
  deps runtime que el índice del repo NO lista (libmount.so.1/util-linux, libltdl, libzstd,
  libQt6UiTools). Sonames base (musl libc/loader) no se hidratan.
- zlib-shared.toml: variante DINÁMICA de zlib (el canónico es --static). El stack GUI NEEDED
  libz.so.1 por soname y ningún artefacto lo proveía → caía al libz.so.1 de Alpine (fuga de
  soberanía Capa 0). .so fabricado del libz.a PIC vía --whole-archive (soname libz.so.1).
- Resultado: rootfs kde-store-rootfs con 1269 .so, 0 sonames faltantes; kwin_wayland resuelve
  TODAS sus libs y carga su QPA (bloqueado sólo en render: worker sin GPU/llvmpipe).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 23:43:18 -04:00
sergioandClaude Opus 4.8 d6944b2cd9 kde/Plasma: hidratación del ESCRITORIO COMPLETO store-directa (rebuild-free), cierre runtime verificado
- hydrate-from-store.sh: proyecta artefactos SELLADOS del store al FHS vía hammer hydrate,
  sin reproduce (install-reproduce rebuildеa qtbase por consumidor — hashing frágil bajo
  régimen dinámico). Selección por-pkg = artefacto más reciente con mtime<hoy (cosecha final
  coherente de la granja). 137/137 proyectados, 0 faltantes, 1257 .so, 5.0G en kde-store-rootfs.
- Hashes elegidos = los sellados de la campaña (kwin 3a674cb6, plasma-workspace 284c862f,
  libplasma 963403fe, kscreenlocker 55120487, breeze df1d1e68, kio 44376420).
- Cierre runtime VERIFICADO completo: todos los NEEDED de plasmashell(30)/kwin_wayland(24)/
  startplasma-wayland(11)/krunner(19) + libs core resuelven en el rootfs — cero colgantes.
- hydrate-fhs.sh: soporte multi-target (TARGETS) + canon prefiere nombre real qt6-* (el alias
  fuerza cache-miss+rebuild) + más build-only excluidos.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 23:26:26 -04:00
sergioandClaude Opus 4.8 08510c0424 kde/Plasma: hito H-QML PASADO — hidratación FHS del cierre runtime + reproducer QML
- repo-selfcontain.py: work/repo-kde auto-contenido (alias qt-corto→qt6-* + cierre base
  desde dist/repo), re-firmado 884 pkgs, repo verify trusted.
- hydrate-fhs.sh: hidrata el cierre runtime instalando cada pkg del cierre en el mismo
  prefix (install --prefix sólo baja el pkg pedido); 32 pkgs → work/kde-rootfs, 455 .so
  (libQt6Core/Gui/Qml/Quick + QPA offscreen + mesa/xcb/wayland/openssl).
- h-qml-run.sh + h-qml-test.cpp: QQmlApplicationEngine carga QtQuick Window+Text, compila
  zig-cc/musl contra el FHS, corre offscreen rc=0 (engine instancia el árbol QML).
- ADR 0011: sección resultado H-QML + deudas (target_bin espurio en libs, cache-miss por
  re-resolución de deps → qtbase más completo con SSL, fuentes).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 22:22:54 -04:00
sergio 436d303ad5 kde/Plasma: plasma-integration +libXcursor+libXrender+libXfixes (X11_Xcursor_LIB en QPA) 2026-07-13 20:54:27 -04:00
sergio e4d97b3888 kde/Plasma: plasma-integration +kstatusnotifieritem 2026-07-13 20:51:26 -04:00
sergio e24bdece04 kde/Plasma: plasma-integration -DBUILD_QT5=OFF (subdir qt5 legacy) 2026-07-13 20:48:49 -04:00
sergio 2425c917f4 kde/Plasma: plasma-integration +plasma-wayland-protocols 2026-07-13 20:46:08 -04:00
sergio 8ca5efab2c kde/Plasma: receta plasma-integration 6.7.2 (QPA platform theme) 2026-07-13 20:43:32 -04:00
sergio 732f43e061 kde/Plasma: qqc2-desktop-style +qttools (Qt6LinguistTools) 2026-07-13 20:40:56 -04:00
sergio 15ff5806ac kde/Plasma: receta qqc2-desktop-style 6.27.0 (estilo QtQuick Controls del escritorio) 2026-07-13 20:38:17 -04:00