Chucho's place / Posts / A personal website for chucho

How to modify ncspot AUR package with alsa backend support

2020-08-24

How 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.

  1. Clone the package from AUR.

     git clone https://aur.archlinux.org/ncspot.git
    
  2. 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

  3. Save the file.

  4. Execute.

     makepkg -si
    
  5. 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?

See Also



Copyright © 2022 Jesús Ballesteros. / Power by Hugo / Theme SK1 by J-Siu / Licensed under CC-BY-SA-4.0 / This site is html pure so there is no cookies, analytics or crap tools to store information from you. I do not care who enters or not. If I talk about privacy respect I should apply the same in my website. I also disabled all the crap that would violate privacy in Hugo, more information: https://gohugo.io/about/hugo-and-gdpr.