Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611436 - net-libs/librespot-9999 - Open Source Spotify client library
Summary: net-libs/librespot-9999 - Open Source Spotify client library
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-02 20:51 UTC by Bram Verweij
Modified: 2022-08-08 18:59 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Tentative librespot ebuild (librespot-9999.ebuild,786 bytes, text/plain)
2017-03-02 20:51 UTC, Bram Verweij
Details
systemd service (librespot.service,373 bytes, text/plain)
2017-03-02 20:52 UTC, Bram Verweij
Details
Template configuration file (librespot.conf,252 bytes, text/plain)
2017-03-02 20:53 UTC, Bram Verweij
Details
Tentative librespot ebuild (librespot-9999.ebuild,801 bytes, text/plain)
2018-03-18 15:12 UTC, Bram Verweij
Details
systemd service (librespot.service,283 bytes, text/x-dbus-service)
2018-03-18 15:14 UTC, Bram Verweij
Details
Template configuration file (librespot.service.conf,430 bytes, text/plain)
2018-03-18 15:16 UTC, Bram Verweij
Details
Tentative librespot ebuild (librespot-9999.ebuild,792 bytes, text/plain)
2018-06-08 08:27 UTC, Bram Verweij
Details
Ebuild for librespot-0.1.1 (librespot-0.1.1.ebuild,7.33 KB, text/plain)
2020-03-31 21:01 UTC, Bram Verweij
Details
systemd service (librespot.service,307 bytes, text/x-dbus-service)
2020-03-31 21:03 UTC, Bram Verweij
Details
Template configuration file (librespot.service.conf,390 bytes, text/plain)
2020-03-31 21:05 UTC, Bram Verweij
Details
Template configuration file (librespot.service.conf,296 bytes, text/plain)
2020-03-31 21:09 UTC, Bram Verweij
Details
Ebuild for librespot-0.1.3 (librespot-0.1.3.ebuild,7.41 KB, text/plain)
2021-01-31 21:41 UTC, Bram Verweij
Details
Updated ebuild for librespot-0.2.0 (librespot-0.2.0.ebuild,5.98 KB, text/plain)
2021-05-13 19:00 UTC, Bram Verweij
Details
Updated ebuild for librespot-0.3.1. (librespot-0.3.1.ebuild,6.21 KB, text/plain)
2021-12-31 15:21 UTC, Bram Verweij
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bram Verweij 2017-03-02 20:51:19 UTC
Created attachment 465778 [details]
Tentative librespot ebuild

Hi!

Please find attached a proposal for librespot-9999.ebuild together with librespot.service and librespot.conf. Librespot seems to be by far the most convenient way to make a raspberry pi play spotify premium. It allows you to remotely control the music playing from the pi using official spotify clients from any platform. Furthermore, it doesn't hog the audio device when music us not playing.

In order to build it requires rust >= 1.15 and cargo. This is slightly problematic as currently rust and cargo in portage are not keyworded for arm. I have used rust-bin-1.15.1 from portage (after massaging it to also work for armv7) and cargo-bin-1.15.1 (adapted similarly from the cargo-bin ebuild in the rust overlay).

The systemd service file and librespot.conf file are taken from Arch Linux.

Bram
Comment 1 Bram Verweij 2017-03-02 20:52:12 UTC
Created attachment 465780 [details]
systemd service
Comment 2 Bram Verweij 2017-03-02 20:53:19 UTC
Created attachment 465782 [details]
Template configuration file
Comment 3 Michael Palimaka (kensington) gentoo-dev 2017-03-03 23:25:36 UTC
Are you interested in maintaining this package at all?

https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
Comment 4 Bram Verweij 2017-03-04 11:15:54 UTC
Hey Michael,

I am interested in maintaining the librespot package itself. It's just a live e-build for now, there are no releases. So it should not be too much work.

The e-build itself requires some more work to also make it suitable for other arm flavours and/or x86/amd64. I would need some help there.

However I am a bit concerned about the rust dependencies. For my RPi2 I strongly prefer rust-bin, since it does not require llvm (and rust does). Llvm is a real pain to compile on the RPi2. So basically it seems to be a pre-requisite that there is support for rust-bin and cargo-bin in portage (for arm), together with some virtuals in order to correctly specify dependencies (like in the rust overlay).

So it seems there is some ground to cover before this package is ready for inclusion.

Bram
Comment 5 Michael Palimaka (kensington) gentoo-dev 2017-03-04 23:26:52 UTC
I see that upstream also provides rust-bin binaries for arm, but I'm not sure how to handle the hardfloat/softfloat variants in the ebuild - I'll ask around.
Comment 6 Michael Palimaka (kensington) gentoo-dev 2017-03-05 01:18:53 UTC
I filed bug #611756 with a patch for adding arm support to rust-bin.
Comment 7 Bram Verweij 2018-03-18 15:12:25 UTC
Created attachment 524266 [details]
Tentative librespot ebuild

The original librespot project is dead upstream. There is now a new active fork at https://github.com/librespot-org. The ebuild has been adapted.
Comment 8 Bram Verweij 2018-03-18 15:14:42 UTC
Created attachment 524268 [details]
systemd service

The systemd service file has been adjusted to follow the standard for systemd configuration files on gentoo.
Comment 9 Bram Verweij 2018-03-18 15:16:01 UTC
Created attachment 524270 [details]
Template configuration file
Comment 10 Bram Verweij 2018-06-08 08:27:16 UTC
Created attachment 535240 [details]
Tentative librespot ebuild

Modified the e-build to depend on virtual/rust and dev-util/cargo from portage.
Comment 11 Bram Verweij 2020-03-31 21:01:50 UTC
Created attachment 628118 [details]
Ebuild for librespot-0.1.1
Comment 12 Bram Verweij 2020-03-31 21:03:45 UTC
Created attachment 628120 [details]
systemd service
Comment 13 Bram Verweij 2020-03-31 21:05:04 UTC
Created attachment 628122 [details]
Template configuration file
Comment 14 Bram Verweij 2020-03-31 21:09:01 UTC
Created attachment 628124 [details]
Template configuration file
Comment 15 Bram Verweij 2020-04-03 09:04:47 UTC
- Compared to the situation of 2017, by now the v0.1.1 ebuild works with all dependencies from portage, tested both on arm and on amd64.
- It is based upon a skeleton generated using cargo-ebuild-0.2.0. The only oddity being that, in cargo_src_unpack, I had to work around tar not being able to unpack archives that have timestamps from other platforms. For those, Linux tar seems to unpack them but exits with an error status, which breaks the stock cargo_src_unpack. For some funny reason cargo wants to know about dependencies from other platforms.
Comment 16 Bram Verweij 2021-01-31 21:41:10 UTC
Created attachment 685350 [details]
Ebuild for librespot-0.1.3

Updated the ebuild to librespot-0.1.3. Tested on a RPi 4.
Comment 17 Bram Verweij 2021-05-13 19:00:13 UTC
Created attachment 708141 [details]
Updated ebuild for librespot-0.2.0

Tested on arm64
Comment 18 Bram Verweij 2021-12-31 15:21:45 UTC
Created attachment 760935 [details]
Updated ebuild for librespot-0.3.1.

Tested on arm64 using the alsa backend.
Comment 19 Bram Verweij 2022-08-08 18:59:18 UTC
For those interested, a new ebuild for librespot-0.4.2 can be found in the menelkir overlay.