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:
@@ -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"]
|
||||
@@ -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"]
|
||||
Reference in New Issue
Block a user