# ⚠ LLEVA UN PARCHE: `libudev-zero-scan-class.patch`. Upstream enumera SÓLO `/sys/dev/block` y
# `/sys/dev/char`, o sea sólo devices con `major:minor` y nodo en /dev; el udev real recorre
# `/sys/class` entero. La diferencia es invisible para casi todos los consumidores y letal para los que
# piden un device de CLASE: PipeWire busca el `card` de una tarjeta de sonido, que no tiene nodo, y sin
# él `wpctl status` daba `Devices:` vacío con ALSA funcionando y /dev/snd poblado. El parche explica por
# qué se arregla ACÁ y no empaquetando eudev (que sin udevd es PEOR: rompió el input en otro frente).
# Ojo al radio: `yupana radio libudev-zero` = 51 sellados a deuda.
#
# 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"
patches = ["libudev-zero-scan-class.patch"]

[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", "make"]
