Etapa G: stack de entrada para mirada-compositor — libinput + libudev-zero + libevdev + mtdev
mirada-compositor (smithay, default features) enlaza en build input-sys/libudev-sys/drm-sys/ gbm-sys/libseat-sys. drm/gbm/libseat ya están (libdrm/mesa/seatd). Faltaban: - libudev-zero 1.0.4: libudev SIN udevd (lee /sys y /dev directo) — encaja con la filosofía no-systemd de tawasuyu (arje es el init). Alternativa pesada: eudev. - mtdev 1.1.6: multitouch. config.sub viejo no conoce *-musl ⇒ se reemplaza por el moderno del sandbox (autoconf build-aux) antes de configurar. - libevdev 1.13.4: wrapper de ioctls evdev. - libinput 1.27.1 (meson): -Dlibwacom=false (sin tablets Wacom), sin debug-gui/tests/docs. Los cuatro sellados. xkbcommon NO hace falta como build-dep (smithay usa xkbcommon-dl = dlopen); sí en runtime. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
4 archivos · +92 −0
- recipes/libevdev.toml +22 −0
- recipes/libinput.toml +24 −0
- recipes/libudev-zero.toml +23 −0
- recipes/mtdev.toml +23 −0
diff --git a/recipes/libevdev.toml b/recipes/libevdev.toml
new file mode 100644
index 00000000..417d17af
--- /dev/null
+++ b/recipes/libevdev.toml
@@ -0,0 +1,22 @@
+# libevdev 1.13.4 — wrapper de los ioctls evdev del kernel. Dep de build de libinput. Autotools.
+# Sin docs (evita doxygen) ni tests.
+name = "libevdev"
+version = "1.13.4"
+
+[source]
+tarball = "https://www.freedesktop.org/software/libevdev/libevdev-1.13.4.tar.xz"
+sha256 = "f00ab8d42ad8b905296fab67e13b871f1a424839331516642100f82ad88127cd"
+
+[build]
+compiler = "gcc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+flags = []
+
+[build.phases]
+configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --disable-static'
+compile = 'make'
+install = 'make DESTDIR=/out install'
+
+[deps]
+build = ["pkgconf"]
diff --git a/recipes/libinput.toml b/recipes/libinput.toml
new file mode 100644
index 00000000..55a4f50a
--- /dev/null
+++ b/recipes/libinput.toml
@@ -0,0 +1,24 @@
+# libinput 1.27.1 — manejo de dispositivos de entrada (teclado/touchpad/ratón) sobre evdev. La pide
+# `mirada-compositor` vía smithay (input-sys/libudev-sys). Proyecto meson.
+# Recorte: sin libwacom (tablets Wacom), sin debug-gui (GTK), sin tests ni docs.
+# Deps: libudev (libudev-zero), libevdev, mtdev.
+name = "libinput"
+version = "1.27.1"
+
+[source]
+tarball = "https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.27.1/libinput-1.27.1.tar.gz"
+sha256 = "f6d623dd8230db337a6457645ebca96b9d4788a56385463bb14b8174910dfe23"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+zig_version = "0.13.0"
+
+[build.phases]
+configure = "meson setup output --prefix=/usr --buildtype=release -Dlibwacom=false -Ddebug-gui=false -Dtests=false -Ddocumentation=false"
+compile = "ninja -C output"
+install = "DESTDIR=/out ninja -C output install"
+
+[deps]
+build = ["meson", "samurai", "python3", "pkgconf", "libudev-zero", "libevdev", "mtdev"]
diff --git a/recipes/libudev-zero.toml b/recipes/libudev-zero.toml
new file mode 100644
index 00000000..224ff84f
--- /dev/null
+++ b/recipes/libudev-zero.toml
@@ -0,0 +1,23 @@
+# libudev-zero 1.0.4 — implementación de libudev SIN udevd (lee /sys y /dev directo). Encaja con la
+# filosofía no-systemd de tawasuyu (arje es el init, sin daemon udev). La pide `libinput` (vía
+# input-sys/libudev-sys de smithay) para enumerar dispositivos de entrada/DRM. Provee libudev.so +
+# libudev.pc + headers. Makefile simple (sin autotools/meson).
+# (Alternativa si hiciera falta hotplug real: eudev — más pesado, autotools.)
+name = "libudev-zero"
+version = "1.0.4"
+
+[source]
+tarball = "https://github.com/illiliti/libudev-zero/archive/refs/tags/1.0.4.tar.gz"
+sha256 = "10148cfd6047d387bf71eca72cd19c177084224d96434a118d8def6e0a3d6316"
+
+[build]
+compiler = "zig-cc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+
+[build.phases]
+compile = 'make PREFIX=/usr'
+install = 'make PREFIX=/usr DESTDIR=/out install install-pkgconfig'
+
+[deps]
+build = ["pkgconf"]
diff --git a/recipes/mtdev.toml b/recipes/mtdev.toml
new file mode 100644
index 00000000..6b87c286
--- /dev/null
+++ b/recipes/mtdev.toml
@@ -0,0 +1,23 @@
+# mtdev 1.1.6 — protocolo multitouch (slots). Dep de build de libinput. Autotools, sin deps.
+name = "mtdev"
+version = "1.1.6"
+
+[source]
+tarball = "https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.gz"
+sha256 = "1325f389a2f25cd5f5a8ea4d29aad24aa7c3ec30401d679400dd79eb9c0a8dbb"
+
+[build]
+compiler = "gcc"
+target = "x86_64-linux-musl"
+link = "dynamic"
+flags = []
+
+[build.phases]
+# El config.sub de mtdev 1.1.6 es viejo y NO conoce el triple `*-musl` ⇒ lo reemplazamos por el
+# moderno del sandbox (autoconf build-aux) antes de configurar.
+configure = 'cp /usr/share/autoconf/build-aux/config.sub config-aux/config.sub; cp /usr/share/autoconf/build-aux/config.guess config-aux/config.guess; ./configure --build=$CBUILD --host=$CHOST --prefix=/usr'
+compile = 'make'
+install = 'make DESTDIR=/out install'
+
+[deps]
+build = ["pkgconf"]