How to modify ncspot AUR package with alsa backend support
2020-08-24How to modify ncspot AUR package with alsa-backend support
Update 2020-08-25: I suggested to the maintainer some changes to avoid this post. I hope he accepts. More details here
Important note
English is not my mother tongue and I will make grammar mistakes for sure. In any way I hope you forgive me for that. If you think I am making a mistake you should contact me here
Introduction
Hello, I want to say I hate Pulseaudio. It is not personal. It is just when Pulseaudio works it is amazing but when it does not it could be something like a nightmare. So I decided to uninstall pulseaudio from my computer.
However when I tried to use ncspot, previously installed from AUR, it did not work because it was compiled with pulseaudio by default.
So I will show you, which parts from the ncspot AUR package you should modify to use Alsa instead of Pulseaudio.
Process
I tried this process in Artixlinux but It should work in ArchLinux or any Arch based distro.
-
Clone the package from AUR.
git clone https://aur.archlinux.org/ncspot.git
-
Edit the PKGBUILD file.
-
Change the line cargo build --release --locked for cargo build --release --no-default-features --features share_clipboard,alsa_backend,mpris,cursive/pancurses-backend --locked
-
Change the line cargo test --release --locked for cargo test --release --no-default-features --features share_clipboard,alsa_backend,mpris,cursive/pancurses-backend --locked
-
-
Save the file.
-
Execute.
makepkg -si
-
Enjoy.
What the fuck! Explain yourself!!
Yes, you are right and I don’t like to write without explaining what is going on.
If you read the file “config.toml” you will find what are the default settings when you compile:
[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"]
I want to highlight “default” and “pulseaudio-backend”. That is mean ncspot will compile with pulseaudio by default. I tried to change the “pulseaudio_backend” with “alsa_backend” in the “config.toml” and I compile but it did not work in my case. So, I decided to change the PKGBUILD.
If you see cargo manual the argument “--no-default-features” ignores default features and the “--features” argument allows me to choose the features I want. In short words I changed “pulseaudio_backend” with “alsa_backend”.
Conclusions
Pulseaudio sucks. I am joking, I do not have conclusions at all. I just want to thanks ncspot community because they have alsa support. I want to thank alevalv too for maintaining the package in AUR.
Prev Switched to ArtixLinux, I am sharing my personal experience Next Why I recommend using Searx?