El rincón de Chucho / Entradas / Un sitio web personal para Chucho

Modificar el paquete de ncspot en AUR para que soporte el backend de alsa

2020-08-24

Cómo modificar el paquete de ncspot en AUR con soporte de alsa

Actualización 2020-08-25: He sugerido hacer un cambio en el PKGBUILD para que no sea necesario seguir estos pasos. Espero que el dueño del paquete acepte las sugerencias. Mas detalle aquí.

Introducción

Hola a todos, quiero empezar diciendo que odio Pulseaudio. No es nada personal, simplemente pienso que Pulseaudio cuando funciona bien es maravilloso pero cuando funciona mal puede convertirse en una pesadilla completa. Así que he decidido desinstalar el paquete de mi máquina.

Sin embargo cuando intenté usar ncspot, previamente instalado de AUR, este no funcionaba y era porque estaba compilado con pulseaudio por defecto.

Así que en esta entrada les mostraré que partes del paquete de AUR para ncspot se deben modificar para usar alsa en lugar de pulseaudio.

Proceso

Este proceso fue probado en Artixlinux y debería funcionar tanto en Archlinux como en cualquier distribución en la que se base.

  1. Clonar el paquete de AUR.

     git clone https://aur.archlinux.org/ncspot.git
    
  2. Modificar el PKGBUILD.

    • Cambiar la linea cargo build --release --locked por cargo build --release --no-default-features --features share_clipboard,alsa_backend,mpris,cursive/pancurses-backend --locked

    • Cambiar la linea cargo test --release --locked por cargo test --release --no-default-features --features share_clipboard,alsa_backend,mpris,cursive/pancurses-backend --locked

  3. Guardar el archivo.

  4. Ejecutar.

     makepkg -si
    
  5. Disfruta.

¡Que mierda ha pasado aquí! ¡Explicate!

Si, tienes toda la razón y a mi no me gusta escribir sin aclarar que está pasando.

Si abres el fichero “config.toml” encontrarás las características con las que se compila ncspot por defecto:

[features]
share_clipboard = ["clipboard"]
alsa_backend = ["librespot-playback/alsa-backend"]
pulseaudio_backend = ["librespot-playback/pulseaudio-backend"]
rodio_backend = ["librespot-playback/rodio-backend"]
portaudio_backend = ["librespot-playback/portaudio-backend"]
termion_backend = ["cursive/termion-backend"]
mpris = ["dbus"]
default = ["share_clipboard", "pulseaudio_backend", "mpris", "cursive/pancurses-backend"]

Quiero resaltar “default” y “pulseaudio-backend”, esto significa que ncspot se compilará con “pulseaudio” por defecto. Probé cambiar “pulseaudioi_backend” por “alsa_backend” y compilar pero en mi caso no funcionó.Así que decidí modificar el PKGBUILD.

Si miras el manual de cargo, el argumento “--no-default-features” ignora las características por defecto y el argumento “--features” nos permite instalar las características que queremos. En pocas palabras simplemente cambié “pulseaudio_backend” por “alsa_backend” y el resto de las características son exactamente las mismas que la instalación por defecto.

Conclusiones

Pulseaudio apesta. Bromeo, no tengo conslusiones como tal simplemente quiero agradecer a la comunidad de ncpot por permitir soporte para alsa y también a alevalv por mantener el paquete en AUR.


Prev Me cambié a Artixlinux, compartiendo mi experiencia personal. Next ¿Porqué recomiendo usar Searx?

See Also



Copyright © 2020 Jesús Ballesteros. / Power by Hugo / Theme SK1 by J-Siu / Licensed under CC-BY-SA-4.0 / Este sitio web está escrito en html puro así que no maneja "cookies", analítica o útilidades de mierda que se dediquen a extraer información suya. No me importan los datos de quien ingrese a este sitio y si voy a hablar del respeto a la privacidad de los usuarios yo debo aplicar lo mismo aquí. También he configurado Hugo para deshabilitar toda la basura que pueda violar la privacidad, mas información: https://gohugo.io/about/hugo-and-gdpr.