ncurses es la lib fundacional del userland TUI (destraba less/htop/top/nano/ncdu). La importo de Alpine pero RE-ANCLADA al release ESTABLE 6.5 de GNU (pineable; el import traia el snapshot semanal de invisible-mirror, no reproducible) y SIMPLIFICADA a estatico widec (--without-shared --enable-widec), sin el binding C++ (rompe contra el libstdc++ del host) ni la maraña .so del APKBUILD. El install crea los symlinks libncurses/libtinfo/libcurses -> libncursesw para que un consumidor que enlaza -lncurses/-ltinfo resuelva. less 704 es el primer CONSUMIDOR que lo valida: deps.build=[ncurses], enlaza -ltinfo, sale static-pie y pagina. Confirma ncurses usable como lib del corpus. Notas: gcc del lab = Alpine musl gcc (x86_64-alpine-linux-musl, no glibc) -> mezcla limpia con objetos zig-cc/musl. gueto gcc en ambos (el build de ncurses corre tic para generar terminfo; zig-cc lo miscompila). Corpus 53->55.
31 lines
1.2 KiB
TOML
31 lines
1.2 KiB
TOML
# less 704 — paginador. Etapa G, tier-2 C. Primer CONSUMIDOR de ncurses (valida la lib): enlaza
|
|
# -ltinfo de ncurses para la base de datos terminfo (control de terminal/scroll).
|
|
#
|
|
# Importada de Alpine aports; ajustes: URL fija (`less-704.tar.gz`; el import dejó la substitución
|
|
# bash `${pkgver/_beta/-beta}` sin expandir) + sha256 oficial. El tarball trae `configure`.
|
|
#
|
|
# deps.build = ["ncurses"]: el lab apila el árbol de ncurses (libtinfo.a→libncursesw.a + term.h +
|
|
# tinfo.pc + terminfo) en /usr y el configure de less lo halla por pkgconf. link=static ⇒ less ELF
|
|
# estático musl. compiler=gcc (gueto): zig-cc miscompila estos C clásicos (segfault, ver file/jq).
|
|
# $CBUILD/$CHOST los da el lab (build==host ⇒ nativo).
|
|
|
|
name = "less"
|
|
version = "704"
|
|
|
|
[source]
|
|
tarball = "https://www.greenwoodsoftware.com/less/less-704.tar.gz"
|
|
sha256 = "20a0b0a2bb2525fa53c7eee9beb854b4c9cf172eabb209af7020743547bfe9fb"
|
|
|
|
[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"
|
|
compile = "make -j\"$(nproc)\""
|
|
install = "make DESTDIR=/out install"
|
|
|
|
[deps]
|
|
build = ["ncurses"]
|