# aerc 0.22.0 — cliente de correo en terminal (Go + filtros en C). Es el primer MUA del catálogo. # # ── POR QUÉ ESTE Y NO OTRO ───────────────────────────────────────────────────────────────────── # Los clientes de correo gráficos que el usuario espera —Thunderbird, Evolution— son un frente # entero: Thunderbird es la plataforma Gecko otra vez y Evolution arrastra GNOME. aerc es un # binario Go, habla IMAP/SMTP/Maildir nativo y corre en cualquier terminal ⇒ cubre el caso de uso # en las CUATRO imágenes sin tocar ninguna decisión de escritorio. # # ── SE CONSTRUYE CON SU MAKEFILE, NO CON EL DRIVER GO GENÉRICO ──────────────────────────────── # El driver Go de takana hace `go install` y deja un binario en `/out/usr/bin`. Acá eso daría un # paquete que ARRANCA Y NO SIRVE: aerc busca sus plantillas, sus filtros y su config de ejemplo en # `/usr/share/aerc`, y dos de los filtros (`colorize`, `wrap`) son **fuente C que hay que # compilar**. Todo eso lo hace su GNUmakefile, así que se usa el suyo. Es la figura de siempre — # un ausente falla ruidosamente; un paquete a medias arranca y decepciona después. # # ⚠ `VERSION` SE FIJA A MANO. El GNUmakefile la saca de `git describe`, y en el sandbox el árbol # llega SIN `.git` ⇒ caería al literal de respaldo. Declararla es lo determinista: que la versión # del binario dependa de si hay un `.git` al lado es exactamente la clase de entrada invisible que # rompe la reproducibilidad meses después. # # ⚠ `GOFLAGS` TAMBIÉN. Upstream los calcula con `contrib/goflags.sh`, que consulta el entorno. Se # pisan desde la línea de `make` (una asignación en la línea de comandos gana sobre `?=`). # # `scdoc` es dep de build REAL, no cosmética: las páginas man son parte del install del Makefile. name = "aerc" version = "0.22.0" license = "MIT" [source] repo = "https://git.sr.ht/~rjarry/aerc" commit = "c2f86b7abde3a70ad71aad57a3db185e7e48a1d1" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" [build.phases] compile = '''export GOCACHE=/src/.gocache GOTMPDIR=/src/.gotmp GOPATH=/tmp/gopath GOTOOLCHAIN=local CGO_ENABLED=0 GOPROXY=off mkdir -p /src/.gotmp make PREFIX=/usr VERSION=0.22.0 GOFLAGS="-mod=vendor -trimpath"''' install = 'make PREFIX=/usr VERSION=0.22.0 DESTDIR=/out install' [deps] build = ["go", "scdoc"]