Modificar el paquete de ncspot en AUR para que soporte el backend de alsa
2020-08-24Có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.
-
Clonar el paquete de AUR.
git clone https://aur.archlinux.org/ncspot.git
-
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
-
-
Guardar el archivo.
-
Ejecutar.
makepkg -si
-
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?