gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 188Rust 55Shell 30Markdown 281211 Definitions

⎇ ff78b3d54fb9786c53bf223dde4d428469948289 recipes/aerc.toml TOML · 45 lines · 2.5 KB History raw

recetas: aerc y syncthing — correo en terminal y sincronización, sellados a65910298 · Sergio ·

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