48 lines
1.5 KiB
Nix
48 lines
1.5 KiB
Nix
{ lib, stdenv, fetchFromGitHub, rustPackages, pkg-config, openssl
|
|
, withALSA ? true, alsa-lib
|
|
, withPulseAudio ? false, libpulseaudio
|
|
, withPortAudio ? false, portaudio
|
|
, withMpris ? false
|
|
, withKeyring ? false
|
|
, dbus
|
|
}:
|
|
|
|
rustPackages.rustPlatform.buildRustPackage rec {
|
|
pname = "spotifyd";
|
|
version = "0.3.5";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Spotifyd";
|
|
repo = "spotifyd";
|
|
rev = "v${version}";
|
|
hash = "sha256-+P85FWJIsfAv8/DnQFxfoWvNY8NpbZ2xUidfwN8tiA8=";
|
|
};
|
|
|
|
cargoHash = "sha256-j+2yEtn3D+vNRcY4+NnqSX4xRQIE5Sq7bentxTh6kMI=";
|
|
|
|
nativeBuildInputs = [ pkg-config ];
|
|
|
|
buildInputs = lib.optionals stdenv.isLinux [ openssl ]
|
|
++ lib.optional withALSA alsa-lib
|
|
++ lib.optional withPulseAudio libpulseaudio
|
|
++ lib.optional withPortAudio portaudio
|
|
++ lib.optional (withMpris || withKeyring) dbus;
|
|
|
|
buildNoDefaultFeatures = true;
|
|
buildFeatures = lib.optional withALSA "alsa_backend"
|
|
++ lib.optional withPulseAudio "pulseaudio_backend"
|
|
++ lib.optional withPortAudio "portaudio_backend"
|
|
++ lib.optional withMpris "dbus_mpris"
|
|
++ lib.optional withKeyring "dbus_keyring";
|
|
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "An open source Spotify client running as a UNIX daemon";
|
|
homepage = "https://spotifyd.rs/";
|
|
changelog = "https://github.com/Spotifyd/spotifyd/raw/v${version}/CHANGELOG.md";
|
|
license = licenses.gpl3Plus;
|
|
maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|