Etapa G: htop — consumidor TUI canónico de ncurses (55→56)

htop 3.5.1 ejerce la API curses real de ncurses (ventanas/teclado/colores widec),
no sólo el lookup de terminfo de less. deps.build=[ncurses, linux-headers]; sale
static-pie y corre (--version). Valida ncurses como lib TUI completa del corpus.

Ajustes sobre el import: quito lm-sensors (opcional, no en corpus) con
--disable-sensors; gueto gcc (zig-cc miscompila); auto-detecta ncursesw widec.
This commit is contained in:
2026-06-21 10:59:32 -04:00
parent cbca6143f0
commit 371d2f7cce
+32
View File
@@ -0,0 +1,32 @@
# htop 3.5.1 — monitor de procesos interactivo. Etapa G, tier-2 C. Consumidor TUI canónico de
# ncurses: valida la capa CURSES real (ventanas/teclado/colores), no sólo el lookup de terminfo de less.
#
# Importada de Alpine aports (release tarball, trae configure). Ajustes:
# - deps.build = ["ncurses", "linux-headers"]: htop usa la API de curses widec (-lncursesw) y headers
# de Linux (taskstats/cgroup). Quito lm-sensors del makedepends de Alpine: el soporte de sensores
# es OPCIONAL (libsensors auto-detectado) y no está en el corpus ⇒ `--disable-sensors` explícito.
# - compiler=gcc (gueto, igual que ncurses/less): zig-cc miscompila estos C clásicos.
# - link=static + sin libtool en el link del binario ⇒ LDFLAGS=-static del lab basta (htop static-pie).
# htop auto-detecta ncursesw (widec) para soporte unicode — la ncurses del corpus es widec.
#
# $CBUILD/$CHOST los da el lab (build==host ⇒ nativo).
name = "htop"
version = "3.5.1"
[source]
tarball = "https://github.com/htop-dev/htop/releases/download/3.5.1/htop-3.5.1.tar.xz"
sha256 = "526cecd62870aa8d14d2a79a35ea197e4e2b5317d275b567cee0574b2ddb2e9a"
[build]
compiler = "gcc"
target = "x86_64-linux-musl"
link = "static"
[build.phases]
configure = "./configure --build=$CBUILD --host=$CHOST --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man --enable-cgroup --enable-taskstats --disable-sensors"
compile = "make -j\"$(nproc)\""
install = "make DESTDIR=/out install"
[deps]
build = ["ncurses", "linux-headers"]