recetas: nushell y cmus — shell moderna y reproductor de música, sellados

nushell  b3:742c008b462930c6ee9c2af0646fe842e9e1bad7fe35277eddabdb15aa4fdae6  (41m17s de cargo)
  cmus     b3:cae8d90b5c1c7e5864c708371b2bdefbbccaa3ef1248f165a20f2dc2ce481b8b

- nushell entra como shell INTERACTIVA y va escrito en la receta que no es ni va a ser /bin/sh: su
  lenguaje no es POSIX y un script del sistema no corre ahí. El catálogo tenía tres shells (bash,
  busybox/ash, elvish) y ninguna era una alternativa moderna. compiler="gcc" por el patrón
  zellij/gitui/delta: hay crates *-sys con build-script en C y cc-rs invoca gcc; el linker sigue
  siendo zig-cc.

- cmus cierra el hueco de audio: el catálogo había cerrado el vídeo con mpv y no tenía con qué
  escuchar música. Su configure NO es autotools — toma asignaciones clave=valor, no --flags — y
  eso importa: pasarle --prefix=/usr no da error, lo IGNORA, y el paquete acabaría en /usr/local
  sin que nada falle. CONFIG_PULSE=n a propósito: la salida ALSA desemboca en PipeWire por
  -Dpipewire-alsa, igual que hace mpv, y la libpulse del corpus es la variante con la glib
  ESTÁTICA adentro, que no se quiere en un cliente.
This commit is contained in:
Sergio
2026-09-12 20:26:53 +00:00
parent b8738c6c3f
commit 3f2620f6b7
2 changed files with 63 additions and 0 deletions
+35
View File
@@ -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"]
+28
View File
@@ -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"]