diff --git a/recipes/cmus.toml b/recipes/cmus.toml new file mode 100644 index 00000000..f15289cf --- /dev/null +++ b/recipes/cmus.toml @@ -0,0 +1,35 @@ +# cmus 2.12.0 — reproductor de música en terminal. C, con un `configure` PROPIO (no autotools). +# +# ── POR QUÉ ENTRA ────────────────────────────────────────────────────────────────────────────── +# El catálogo cerró el vídeo con `mpv` y no tenía nada para escuchar música: ni reproductor ni +# gestor de biblioteca. cmus lo cubre en las cuatro imágenes sin tocar ninguna decisión de +# escritorio — es una TUI, no depende del compositor. +# +# ── EL `configure` NO ES AUTOTOOLS, Y ESO CAMBIA LA SINTAXIS ────────────────────────────────── +# Toma asignaciones `clave=valor`, no `--flags`: `prefix=/usr`, `CONFIG_ALSA=y`. Pasarle +# `--prefix=/usr` no da un error, lo IGNORA — y el paquete acabaría en /usr/local sin que nada +# falle. Es el modo de fallo silencioso de siempre, así que va anotado. +# +# `CONFIG_PULSE=n`: el corpus tiene `pipewire` (promovida el 2026-09-03) y su capa ALSA +# (`-Dpipewire-alsa=enabled`), así que la salida ALSA desemboca en PipeWire igual que hace `mpv`. +# `libpulse` del corpus es la variante con la glib ESTÁTICA adentro y no se quiere en un cliente. +name = "cmus" +version = "2.12.0" +license = "GPL-2.0-only" + +[source] +repo = "https://github.com/cmus/cmus" +commit = "58d34cf9db5c29e01a985a48a9b6947855cb6cc9" + +[build] +compiler = "zig-cc" +target = "x86_64-linux-musl" +link = "static" + +[build.phases] +configure = './configure prefix=/usr CONFIG_ALSA=y CONFIG_PULSE=n CONFIG_JACK=n CONFIG_AO=n CONFIG_SNDIO=n CONFIG_ROAR=n CONFIG_FFMPEG=y CONFIG_CDIO=n CONFIG_MPRIS=n' +compile = 'make' +install = 'make DESTDIR=/out install' + +[deps] +build = ["ncurses", "ffmpeg", "alsa-lib", "pkgconf"] diff --git a/recipes/nushell.toml b/recipes/nushell.toml new file mode 100644 index 00000000..030fd6c8 --- /dev/null +++ b/recipes/nushell.toml @@ -0,0 +1,28 @@ +# nushell 0.115.1 — shell estructurada (los comandos devuelven TABLAS, no texto). Rust puro. +# +# ── POR QUÉ ENTRA ────────────────────────────────────────────────────────────────────────────── +# El catálogo tiene TRES shells y ninguna es una alternativa moderna: `bash` (la de base), +# `busybox` (ash, la del rootfs) y `elvish`. nushell es la que la gente busca por nombre cuando +# dice «shell moderna», y encaja con la capa CLI en Rust que este corpus ya tiene entera. +# +# ⚠ NO ES LA SHELL DE `/bin/sh` NI LO VA A SER. Su lenguaje no es POSIX: un script del sistema NO +# corre acá. Entra como shell INTERACTIVA, junto a bash, no en su lugar. Ponerla de login shell por +# defecto rompería todo lo que `#!/bin/sh` asume — eso sería una decisión de distro, no una receta. +name = "nushell" +version = "0.115.1" +license = "MIT" + +[source] +repo = "https://github.com/nushell/nushell" +commit = "798c55d19505fd52f205d7eb32a571b9d06ec9e6" + +[build] +# `compiler = "gcc"` por el mismo motivo que zellij/gitui/delta: el árbol trae crates `*-sys` con +# build-script en C, y cc-rs invoca `gcc`. El LINKER sigue siendo zig-cc. +compiler = "gcc" +target = "x86_64-linux-musl" +link = "static" +flags = ["--bin", "nu"] + +[deps] +build = ["zlib", "openssl", "pkgconf"]