music-assistant: build librespot fork (#447147)

This commit is contained in:
Martin Weinelt
2025-10-07 20:53:46 +00:00
committed by GitHub
3 changed files with 65 additions and 1 deletions
@@ -85,7 +85,7 @@ in
lsof
]
++ lib.optionals (lib.elem "spotify" cfg.providers) [
librespot
librespot-ma
]
++ lib.optionals (lib.elem "snapcast" cfg.providers) [
snapcast
+39
View File
@@ -0,0 +1,39 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage {
pname = "librespot-ma";
version = "0.6.0-unstable-2025-08-10";
src = fetchFromGitHub {
owner = "music-assistant";
repo = "librespot";
rev = "accecb60a16334013c0c99a5ded553794ee871b7";
hash = "sha256-vPiI8llXB6+ahX+iad/Ut81D3iZcTSVmYGDXXwApk/w=";
};
cargoHash = "sha256-Lujz2revTAok9B0hzdl8NVQ5XMRY9ACJzoQHIkIgKMg=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [ openssl ];
meta = {
description = "Fork of librespot for use in Music Assistant only";
homepage = "https://github.com/music-assistant/librespot";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
sweenu
emilylange
];
mainProgram = "librespot";
platforms = lib.platforms.linux;
};
}
@@ -0,0 +1,25 @@
diff --git a/music_assistant/providers/spotify/helpers.py b/music_assistant/providers/spotify/helpers.py
index 8b6c4e78f5f3f64c9dc6206028177c99ed0542ed..25ed6e468b393d2da74167e3c2ac4bdcd2e2699e 100644
--- a/music_assistant/providers/spotify/helpers.py
+++ b/music_assistant/providers/spotify/helpers.py
@@ -4,6 +4,7 @@ from __future__ import annotations
import os
import platform
+from shutil import which
from music_assistant.helpers.process import check_output
@@ -20,12 +21,8 @@ async def get_librespot_binary() -> str:
except OSError:
return None
- base_path = os.path.join(os.path.dirname(__file__), "bin")
- system = platform.system().lower().replace("darwin", "macos")
- architecture = platform.machine().lower()
-
if bridge_binary := await check_librespot(
- os.path.join(base_path, f"librespot-{system}-{architecture}")
+ which("librespot")
):
return bridge_binary