# wireguard-tools 1.0.20260223 — `wg` y `wg-quick`, el userland de WireGuard. C, Makefile a secas. # # ── POR QUÉ ENTRA ────────────────────────────────────────────────────────────────────────────── # El VPN ya está en el kernel (`CONFIG_WIREGUARD`, ver SDD 22); lo que faltaba era con qué # configurarlo. Sin esto una caja takana puede hablar WireGuard y no hay forma de decirle con quién. # Pesa dos binarios y un puñado de scripts. # # ── `link = "dynamic"`, Y NO ES GUSTO ────────────────────────────────────────────────────────── # `wg` enlaza `libmnl`, y la receta canónica de libmnl es `--disable-static --enable-shared`: en el # store NO hay un `libmnl.a` contra el que enlazar. Forzar `static` acá no daría un binario estático # sino un enlace contra el `.a` del sysroot Alpine DEL LAB —la fuga que documenta el perfil de sway # con zlib/expat/libffi—, que sella bien y sólo corre en una máquina con Alpine debajo. Dinámico es # lo honesto: el `NEEDED libmnl.so.0` lo cubre la clausura. # # ⚠ `wg-quick` es un script bash y pide `bash`, `ip` (iproute2) y `resolvconf`/`openresolv` en # RUNTIME. `wg` a secas no necesita nada de eso. Se declara lo que existe en el corpus; el día que # `wg-quick` falle por `ip`, el que falta es iproute2, no esta receta. name = "wireguard-tools" version = "1.0.20260223" license = "GPL-2.0-only" [source] repo = "https://git.zx2c4.com/wireguard-tools" commit = "49ce333da02056ae7b22ee2aeb6afe8aaed79b19" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" [build.phases] # WITH_SYSTEMDUNITS=no: esta distro no tiene systemd (arje). WITH_BASHCOMPLETION/WITH_WGQUICK van # explícitos para que el paquete no cambie de contenido si upstream mueve un default. compile = 'make -C src WITH_WGQUICK=yes WITH_BASHCOMPLETION=yes WITH_SYSTEMDUNITS=no' install = 'make -C src DESTDIR=/out PREFIX=/usr WITH_WGQUICK=yes WITH_BASHCOMPLETION=yes WITH_SYSTEMDUNITS=no install' [deps] build = ["libmnl", "pkgconf"] runtime = ["bash"]