diff --git a/pkgs/by-name/sp/spotify-player/package.nix b/pkgs/by-name/sp/spotify-player/package.nix index 7adc58d48e99..55776515e809 100644 --- a/pkgs/by-name/sp/spotify-player/package.nix +++ b/pkgs/by-name/sp/spotify-player/package.nix @@ -1,39 +1,50 @@ -{ lib -, rustPlatform -, fetchFromGitHub -, pkg-config -, openssl -, cmake -# deps for audio backends -, alsa-lib -, libpulseaudio -, portaudio -, libjack2 -, SDL2 -, gst_all_1 -, dbus -, fontconfig -, libsixel +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + cmake, + # deps for audio backends + alsa-lib, + libpulseaudio, + portaudio, + libjack2, + SDL2, + gst_all_1, + dbus, + fontconfig, + libsixel, + apple-sdk_11, -# build options -, withStreaming ? true -, withDaemon ? true -, withAudioBackend ? "rodio" # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl -, withMediaControl ? true -, withLyrics ? true -, withImage ? true -, withNotify ? true -, withSixel ? true -, withFuzzy ? true -, stdenv -, darwin -, makeBinaryWrapper + # build options + withStreaming ? true, + withDaemon ? true, + withAudioBackend ? "rodio", # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl + withMediaControl ? true, + withLyrics ? true, + withImage ? true, + withNotify ? true, + withSixel ? true, + withFuzzy ? true, + stdenv, + makeBinaryWrapper, -# passthru -, nix-update-script + # passthru + nix-update-script, }: -assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaudio" "rodio" "portaudio" "jackaudio" "rodiojack" "sdl" "gstreamer" ]; +assert lib.assertOneOf "withAudioBackend" withAudioBackend [ + "" + "alsa" + "pulseaudio" + "rodio" + "portaudio" + "jackaudio" + "rodiojack" + "sdl" + "gstreamer" +]; rustPlatform.buildRustPackage rec { pname = "spotify-player"; @@ -48,38 +59,47 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-VlJ8Bz4EY2rERyOn6ifC7JAL5Mvjt0ZOzlPBOwiH6WA="; - nativeBuildInputs = [ - pkg-config - cmake - rustPlatform.bindgenHook - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - makeBinaryWrapper - ]; + nativeBuildInputs = + [ + pkg-config + cmake + rustPlatform.bindgenHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeBinaryWrapper + ]; - buildInputs = [ - openssl - dbus - fontconfig - ] + buildInputs = + [ + openssl + dbus + fontconfig + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 # can be removed once x86_64-darwin defaults to a newer SDK + ] ++ lib.optionals withSixel [ libsixel ] ++ lib.optionals (withAudioBackend == "alsa") [ alsa-lib ] ++ lib.optionals (withAudioBackend == "pulseaudio") [ libpulseaudio ] ++ lib.optionals (withAudioBackend == "rodio" && stdenv.hostPlatform.isLinux) [ alsa-lib ] ++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ] ++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ] - ++ lib.optionals (withAudioBackend == "rodiojack") [ alsa-lib libjack2 ] + ++ lib.optionals (withAudioBackend == "rodiojack") [ + alsa-lib + libjack2 + ] ++ lib.optionals (withAudioBackend == "sdl") [ SDL2 ] - ++ lib.optionals (withAudioBackend == "gstreamer") [ gst_all_1.gstreamer gst_all_1.gst-devtools gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && withMediaControl) [ darwin.apple_sdk.frameworks.MediaPlayer ] - ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ - AppKit - AudioUnit - Cocoa - ]); + ++ lib.optionals (withAudioBackend == "gstreamer") [ + gst_all_1.gstreamer + gst_all_1.gst-devtools + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + ]; buildNoDefaultFeatures = true; - buildFeatures = [ ] + buildFeatures = + [ ] ++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ] ++ lib.optionals withMediaControl [ "media-control" ] ++ lib.optionals withImage [ "image" ] @@ -93,7 +113,7 @@ rustPlatform.buildRustPackage rec { # sixel-sys is dynamically linked to libsixel postInstall = lib.optionals (stdenv.hostPlatform.isDarwin && withSixel) '' wrapProgram $out/bin/spotify_player \ - --prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [libsixel]}" + --prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsixel ]}" ''; passthru = { @@ -106,6 +126,11 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/aome510/spotify-player/releases/tag/v${version}"; mainProgram = "spotify_player"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ dit7ya xyven1 _71zenith caperren ]; + maintainers = with lib.maintainers; [ + dit7ya + xyven1 + _71zenith + caperren + ]; }; }