From 54d5469e9f1272cc654296bcab1bc85ca99b4352 Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 11 Jul 2026 22:40:44 -0400 Subject: [PATCH] kde/Capa0: cadena X11/xcb foundational (9 recetas) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit util-macros/xorgproto/xcb-proto/libXau/libXdmcp/libpthread-stubs/libxcb/xtrans/libX11. SHAs reales de x.org/xorg.freedesktop. Patrón soberano zig-cc 0.13 + musl + dynamic. PKG_CONFIG_PATH lib+share (proto .pc caen en share), PYTHONPATH para xcbgen en libxcb. Desbloquea kguiaddons/kwindowsystem (X11 backend) + XWayland futuro. ADR 0011. Co-Authored-By: Claude Opus 4.8 --- recipes/incoming-kde/libX11.toml | 32 ++++++++++++++++++++++ recipes/incoming-kde/libXau.toml | 24 ++++++++++++++++ recipes/incoming-kde/libXdmcp.toml | 23 ++++++++++++++++ recipes/incoming-kde/libpthread-stubs.toml | 24 ++++++++++++++++ recipes/incoming-kde/libxcb.toml | 31 +++++++++++++++++++++ recipes/incoming-kde/util-macros.toml | 24 ++++++++++++++++ recipes/incoming-kde/xcb-proto.toml | 24 ++++++++++++++++ recipes/incoming-kde/xorgproto.toml | 26 ++++++++++++++++++ recipes/incoming-kde/xtrans.toml | 23 ++++++++++++++++ 9 files changed, 231 insertions(+) create mode 100644 recipes/incoming-kde/libX11.toml create mode 100644 recipes/incoming-kde/libXau.toml create mode 100644 recipes/incoming-kde/libXdmcp.toml create mode 100644 recipes/incoming-kde/libpthread-stubs.toml create mode 100644 recipes/incoming-kde/libxcb.toml create mode 100644 recipes/incoming-kde/util-macros.toml create mode 100644 recipes/incoming-kde/xcb-proto.toml create mode 100644 recipes/incoming-kde/xorgproto.toml create mode 100644 recipes/incoming-kde/xtrans.toml diff --git a/recipes/incoming-kde/libX11.toml b/recipes/incoming-kde/libX11.toml new file mode 100644 index 00000000..f19329f4 --- /dev/null +++ b/recipes/incoming-kde/libX11.toml @@ -0,0 +1,32 @@ +# libX11 1.8.10 — la Xlib clásica (libX11.so + libX11-xcb.so). Cima de la Capa 0 X11 de la campaña KDE +# (ADR 0011): muchos componentes de Qt/KDE y libs GUI todavía la enlazan por encima de libxcb. Autotools; +# consume xorgproto (headers + keysymdef), xtrans, libxcb (>=1.11) y sus .pc. Sin docs (specs off, evita +# xmlto/fop/xsltproc) y sin xf86bigfont. En el build genera tablas de keysyms con un helper C compilado +# nativo (build==host musl ⇒ CC_FOR_BUILD=CC, sin cross real). Linking dinámico. +name = "libX11" +version = "1.8.10" + +[source] +tarball = "https://www.x.org/releases/individual/lib/libX11-1.8.10.tar.xz" +sha256 = "2b3b3dad9347db41dca56beb7db5878f283bde1142f04d9f8e478af435dfdc53" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# PKG_CONFIG_PATH: xproto/xextproto/kbproto.pc en /usr/share/pkgconfig; xcb/xtrans/xau.pc en /usr/lib. +# --disable-specs + --without-xmlto/fop/xsltproc: sin documentación (toolchain sin esos generadores). +configure = ''' +PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig \ +./configure --prefix=/usr --disable-static --enable-shared \ + --disable-xf86bigfont --disable-specs \ + --without-xmlto --without-fop --without-xsltproc +''' +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "python3", "util-macros", "xorgproto", "xcb-proto", "libxcb", "xtrans"] diff --git a/recipes/incoming-kde/libXau.toml b/recipes/incoming-kde/libXau.toml new file mode 100644 index 00000000..49f886b5 --- /dev/null +++ b/recipes/incoming-kde/libXau.toml @@ -0,0 +1,24 @@ +# libXau 1.0.11 — autorización de conexiones X (.Xauthority): libXau.so. Capa 0 de la campaña KDE +# (ADR 0011). Dep de libxcb (y por transitividad de libX11/Qt XCB). Autotools; usa los headers de +# xorgproto (xproto.pc) y las macros de util-macros. Linking dinámico (todo .so en la campaña KDE). +name = "libXau" +version = "1.0.11" + +[source] +tarball = "https://www.x.org/releases/individual/lib/libXau-1.0.11.tar.xz" +sha256 = "f3fa3282f5570c3f6bd620244438dbfbdd580fc80f02f549587a0f8ab329bbeb" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# xproto.pc vive en /usr/share/pkgconfig (xorgproto meson); el propio xau.pc irá a /usr/lib/pkgconfig. +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure --prefix=/usr --disable-static --enable-shared" +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "util-macros", "xorgproto"] diff --git a/recipes/incoming-kde/libXdmcp.toml b/recipes/incoming-kde/libXdmcp.toml new file mode 100644 index 00000000..37ba287b --- /dev/null +++ b/recipes/incoming-kde/libXdmcp.toml @@ -0,0 +1,23 @@ +# libXdmcp 1.1.5 — X Display Manager Control Protocol: libXdmcp.so. Capa 0 de la campaña KDE (ADR 0011). +# Dep de libxcb (y transitivamente de libX11/Qt XCB). Autotools; headers de xorgproto + util-macros. +# Sin arc4random en musl ⇒ configure cae al fallback interno (no requiere libbsd). Linking dinámico. +name = "libXdmcp" +version = "1.1.5" + +[source] +tarball = "https://www.x.org/releases/individual/lib/libXdmcp-1.1.5.tar.xz" +sha256 = "d8a5222828c3adab70adf69a5583f1d32eb5ece04304f7f8392b6a353aa2228c" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig ./configure --prefix=/usr --disable-static --enable-shared" +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "util-macros", "xorgproto"] diff --git a/recipes/incoming-kde/libpthread-stubs.toml b/recipes/incoming-kde/libpthread-stubs.toml new file mode 100644 index 00000000..c5cdc9ea --- /dev/null +++ b/recipes/incoming-kde/libpthread-stubs.toml @@ -0,0 +1,24 @@ +# libpthread-stubs 0.5 — stubs débiles de pthread para plataformas donde no están en libc. Capa 0 de la +# campaña KDE (ADR 0011); dep de build de libxcb (pkg-config pthread-stubs). En musl todas las funciones +# pthread VIVEN en libc ⇒ el resultado es esencialmente vacío: sólo instala el .pc pthread-stubs.pc. +# Autotools trivial, sin dependencias más allá de pkgconf. +name = "libpthread-stubs" +version = "0.5" + +[source] +tarball = "https://www.x.org/releases/individual/lib/libpthread-stubs-0.5.tar.xz" +sha256 = "59da566decceba7c2a7970a4a03b48d9905f1262ff94410a649224e33d2442bc" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +configure = "./configure --prefix=/usr" +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf"] diff --git a/recipes/incoming-kde/libxcb.toml b/recipes/incoming-kde/libxcb.toml new file mode 100644 index 00000000..cf373e82 --- /dev/null +++ b/recipes/incoming-kde/libxcb.toml @@ -0,0 +1,31 @@ +# libxcb 1.17.0 — binding C del protocolo X11 (libxcb.so + libxcb-*.so de las extensiones). Núcleo de la +# Capa 0 de la campaña KDE (ADR 0011): Qt usa la QPA xcb, y libX11 se apoya en libxcb. Autotools; su build +# CORRE el generador python c_client.py que importa `xcbgen` (de xcb-proto) ⇒ PYTHONPATH a site-packages +# durante configure Y compile. Consume xcb-proto (xml/xcbgen), libXau, libXdmcp, libpthread-stubs y los +# headers de xorgproto. Linking dinámico, sin docs (doxygen off). +name = "libxcb" +version = "1.17.0" + +[source] +tarball = "https://xorg.freedesktop.org/releases/individual/lib/libxcb-1.17.0.tar.xz" +sha256 = "599ebf9996710fea71622e6e184f3a8ad5b43d0e5fa8c4e407123c88a59a6d55" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# PKG_CONFIG_PATH incluye /usr/share/pkgconfig (xcb-proto.pc + xorgproto) y /usr/lib/pkgconfig (Xau/Xdmcp/ +# pthread-stubs). PYTHONPATH: xcbgen instalado por xcb-proto en python3.12/site-packages. +configure = ''' +PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig \ +PYTHONPATH=/usr/lib/python3.12/site-packages \ +./configure --prefix=/usr --disable-static --enable-shared --without-doxygen +''' +compile = "PYTHONPATH=/usr/lib/python3.12/site-packages make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "python3", "util-macros", "xorgproto", "xcb-proto", "libXau", "libXdmcp", "libpthread-stubs"] diff --git a/recipes/incoming-kde/util-macros.toml b/recipes/incoming-kde/util-macros.toml new file mode 100644 index 00000000..df0fbee8 --- /dev/null +++ b/recipes/incoming-kde/util-macros.toml @@ -0,0 +1,24 @@ +# xorg util-macros 1.20.2 — colección de macros m4 (xorg-macros.m4) + xorg-macros.pc que usa el +# autoreconf/configure de CASI toda la cadena autotools de X.org. Capa 0 de la campaña KDE (ADR 0011), +# raíz de la cadena X11/xcb que necesita Qt/KDE. No compila nada: instala m4 + un .pc a /usr/share. +name = "util-macros" +version = "1.20.2" + +[source] +tarball = "https://www.x.org/releases/individual/util/util-macros-1.20.2.tar.xz" +sha256 = "9ac269eba24f672d7d7b3574e4be5f333d13f04a7712303b1821b2a51ac82e8e" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# Sin código C: sólo instala xorg-macros.m4 (aclocal) y xorg-macros.pc (/usr/share/pkgconfig). +configure = "./configure --prefix=/usr" +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf"] diff --git a/recipes/incoming-kde/xcb-proto.toml b/recipes/incoming-kde/xcb-proto.toml new file mode 100644 index 00000000..ff37e9de --- /dev/null +++ b/recipes/incoming-kde/xcb-proto.toml @@ -0,0 +1,24 @@ +# xcb-proto 1.17.0 — descripciones XML del protocolo X + el módulo Python `xcbgen` que genera el código +# C de libxcb. Capa 0 de la campaña KDE (ADR 0011). No compila C: instala los .xml a /usr/share/xcb, el +# módulo xcbgen a site-packages y xcb-proto.pc. libxcb IMPORTA xcbgen en su fase de build (vía PYTHONPATH). +name = "xcb-proto" +version = "1.17.0" + +[source] +tarball = "https://xorg.freedesktop.org/releases/individual/proto/xcb-proto-1.17.0.tar.xz" +sha256 = "2c1bacd2110f4799f74de6ebb714b94cf6f80fb112316b1219480fd22562148c" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# xcbgen se instala en /usr/lib/python3.12/site-packages (python3 del catálogo = 3.12). +configure = "./configure --prefix=/usr" +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "python3"] diff --git a/recipes/incoming-kde/xorgproto.toml b/recipes/incoming-kde/xorgproto.toml new file mode 100644 index 00000000..07b2caa2 --- /dev/null +++ b/recipes/incoming-kde/xorgproto.toml @@ -0,0 +1,26 @@ +# xorgproto 2024.1 — headers del protocolo X11 (X.h, Xproto.h, keysymdef.h, extensiones…) + los .pc +# (xproto, xextproto, kbproto, inputproto…). Sin binarios: sólo cabeceras. Capa 0 de la campaña KDE +# (ADR 0011); dep de build de libXau/libXdmcp/libxcb/libX11. Build meson con -Dlegacy=true para incluir +# los headers legacy (kbproto/inputproto/…) que libX11 y consumidores viejos todavía piden. +# (Alternativa autotools: el tarball trae ./configure; `./configure --prefix=/usr --enable-legacy`.) +name = "xorgproto" +version = "2024.1" + +[source] +tarball = "https://www.x.org/releases/individual/proto/xorgproto-2024.1.tar.xz" +sha256 = "372225fd40815b8423547f5d890c5debc72e88b91088fbfb13158c20495ccb59" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +# Los .pc de proto se instalan en /usr/share/pkgconfig (datadir), no en /usr/lib/pkgconfig. +configure = "meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Dlegacy=true" +compile = "ninja -C output" +install = "DESTDIR=/out ninja -C output install" + +[deps] +build = ["meson", "samurai", "python3", "pkgconf"] diff --git a/recipes/incoming-kde/xtrans.toml b/recipes/incoming-kde/xtrans.toml new file mode 100644 index 00000000..29de4de8 --- /dev/null +++ b/recipes/incoming-kde/xtrans.toml @@ -0,0 +1,23 @@ +# xtrans 1.5.2 — capa de abstracción de transporte de X (sockets unix/tcp/local), distribuida como +# HEADERS + macros (sin .so). Capa 0 de la campaña KDE (ADR 0011); dep de build de libX11 (y de servidores +# X). Autotools; sólo instala cabeceras Xtrans*.h y xtrans.pc. util-macros para las macros del configure. +name = "xtrans" +version = "1.5.2" + +[source] +tarball = "https://www.x.org/releases/individual/lib/xtrans-1.5.2.tar.xz" +sha256 = "5c5cbfe34764a9131d048f03c31c19e57fb4c682d67713eab6a65541b4dff86c" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "dynamic" +zig_version = "0.13.0" + +[build.phases] +configure = "./configure --prefix=/usr" +compile = "make -j\"$(nproc)\"" +install = "make install DESTDIR=/out" + +[deps] +build = ["pkgconf", "util-macros"]