# udev-pc — el `udev.pc` que falta, y nada más.
#
# QUÉ ES: mutter pide DOS pkg-config distintos para su backend nativo (meson.build:262-264):
# `libudev` (la librería, que da libudev-zero) y `udev` (metadata: la variable `udevdir`, dónde van
# las reglas). libudev-zero provee el primero y no el segundo — no tiene por qué: es una libudev sin
# udevd. En distros con systemd el `udev.pc` lo pone systemd; en las que no, lo pone eudev.
#
# POR QUÉ UNA RECETA APARTE Y NO AGREGARLO A libudev-zero: `yupana radio libudev-zero` da **51
# sellados cayendo a deuda**, en las cinco imágenes (base, cli y los tres escritorios). Un fichero de
# 4 líneas no justifica reconstruir medio catálogo. Esta receta instala SÓLO el .pc, así que no pisa
# nada de libudev-zero y las dos conviven en el mismo cierre.
#
# LA FUENTE es el tarball de libudev-zero a propósito, aunque no se compile nada de él: `[source]` es
# obligatorio en el esquema de receta, y atarla a su upstream natural deja claro de quién es
# compañera. El .pc se escribe acá porque libudev-zero no lo trae.
#
# udevdir=/usr/lib/udev es la ruta real de esta distro: la Semilla de arje arranca /usr/bin/udevd y
# ahí busca sus reglas. mutter sólo usa el valor para saber dónde instalar las suyas.
name    = "udev-pc"
version = "1.0.4"
license = "ISC"

[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 = 'true'
install = '''
set -e
mkdir -p /out/usr/share/pkgconfig
cat > /out/usr/share/pkgconfig/udev.pc <<'PC'
prefix=/usr
udevdir=${prefix}/lib/udev

Name: udev
Description: udev device manager (metadata; la libreria la provee libudev-zero)
Version: 252
PC
'''

[deps]
build = ["pkgconf"]
