btop b3:d1e3d3111d306e158f2269ba3ecb4852d7d095f688e707db54381dbb3b26e34f Dos cosas que valían el viaje: - `configure = 'true'` NO es relleno. btop 1.4.x trae CMakeLists.txt *y* Makefile; el autodetector del lab ve el primero y generaba `cmake -S . -B _build`, que muere con `cmake: not found` (cmake es una receta del corpus, no una herramienta del lab). Apagar la fase de configure es lo que elige la vía soportada por upstream. - C++20 (<ranges>, <format>) compila y ENLAZA ESTÁTICO con la libc++ de zig, sin gueto gcc. Se puede porque btop no enlaza ninguna librería C++ del corpus: todo su C++ es suyo. El binario sale con -D_LIBCPP_HARDENING_MODE, o sea libc++ de verdad y no libstdc++.
36 lines
2.0 KiB
TOML
36 lines
2.0 KiB
TOML
# btop 1.4.7 — monitor de recursos en TUI (CPU/mem/disco/red/procesos). C++20, Makefile.
|
|
#
|
|
# ── POR QUÉ ENTRA SI YA ESTÁ `bottom` ──────────────────────────────────────────────────────────
|
|
# No se solapan del todo: `bottom` (Rust) es el monitor de la cola CLI y btop es el que la gente
|
|
# busca por nombre. Pesa un binario y cero deps de runtime — el corpus ya tiene `ncurses`, pero
|
|
# btop NO la usa: dibuja con secuencias ANSI propias.
|
|
#
|
|
# ── C++20 CON LA libc++ DE ZIG, Y POR QUÉ ESO NO ES GRATIS ────────────────────────────────────
|
|
# btop es C++20 (`<ranges>`, `<format>`) y upstream compila con g++. Acá el compilador es zig-cc,
|
|
# que trae **libc++** (`std::__1::`), no la libstdc++ de GNU — ver [[cxx-runtime-debe-coincidir]].
|
|
# Eso es seguro porque btop NO enlaza ninguna librería C++ del corpus: todo su C++ es suyo. Si
|
|
# algún día pidiera una, habría que decidir el runtime primero y la receta después.
|
|
name = "btop"
|
|
version = "1.4.7"
|
|
license = "Apache-2.0"
|
|
|
|
[source]
|
|
repo = "https://github.com/aristocratos/btop"
|
|
commit = "6e39144aaf5a6bc01b9f795010b0914431067183"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
|
|
[build.phases]
|
|
# ⚠ `configure = "true"` NO ES RELLENO. btop 1.4.x trae CMakeLists.txt **y** Makefile, y el
|
|
# autodetector del lab ve el primero ⇒ generaba un `cmake -S . -B _build` que muere con
|
|
# `cmake: not found` (cmake es una receta del corpus, no una herramienta del lab). La vía
|
|
# soportada por upstream es el Makefile; apagar la fase de configure es lo que la elige.
|
|
configure = 'true'
|
|
# STATIC=true es la perilla de upstream para el binario estático; el `LDFLAGS=-static` del lab no
|
|
# alcanza porque el Makefile arma su propia línea de enlace.
|
|
compile = 'make STATIC=true VERBOSE=true'
|
|
install = 'make install DESTDIR=/out PREFIX=/usr'
|