From cfd190dd4328aa2656c36fc45932184f08cbb795 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= Date: Thu, 14 Nov 2024 08:17:32 +0100 Subject: [PATCH 1/3] spotify-player: format with nixfmt-rfc-style (cherry picked from commit 4de26d0760681fd44f7a76797a5bbcbe225638c6) --- pkgs/by-name/sp/spotify-player/package.nix | 143 +++++++++++++-------- 1 file changed, 88 insertions(+), 55 deletions(-) diff --git a/pkgs/by-name/sp/spotify-player/package.nix b/pkgs/by-name/sp/spotify-player/package.nix index 7adc58d48e99..09de8d6e02a9 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, -# 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, + darwin, + 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,55 @@ 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 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 + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && withMediaControl) [ + darwin.apple_sdk.frameworks.MediaPlayer + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin ( + with darwin.apple_sdk.frameworks; + [ + AppKit + AudioUnit + Cocoa + ] + ); buildNoDefaultFeatures = true; - buildFeatures = [ ] + buildFeatures = + [ ] ++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ] ++ lib.optionals withMediaControl [ "media-control" ] ++ lib.optionals withImage [ "image" ] @@ -93,7 +121,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 +134,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 + ]; }; } From ed9b773ef3d413ce47c3aabe7a4096da006fdcce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= Date: Thu, 14 Nov 2024 08:37:24 +0100 Subject: [PATCH 2/3] spotify-player: clean up old darwin SDK pattern (cherry picked from commit c5472cf2b6190d8a51bc8ead527eb4a808b15079) --- pkgs/by-name/sp/spotify-player/package.nix | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/pkgs/by-name/sp/spotify-player/package.nix b/pkgs/by-name/sp/spotify-player/package.nix index 09de8d6e02a9..782a69865408 100644 --- a/pkgs/by-name/sp/spotify-player/package.nix +++ b/pkgs/by-name/sp/spotify-player/package.nix @@ -27,7 +27,6 @@ withSixel ? true, withFuzzy ? true, stdenv, - darwin, makeBinaryWrapper, # passthru @@ -91,18 +90,7 @@ rustPlatform.buildRustPackage rec { 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 - ] - ); + ]; buildNoDefaultFeatures = true; From 46e0741208d3322505f54d70ae2d720494804833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= Date: Sat, 16 Nov 2024 08:43:12 +0100 Subject: [PATCH 3/3] spotify-player: fix x86_64-darwin (cherry picked from commit 6fe1904e43a0bd3fbb5c5e4b7c231dc8654b37b5) --- pkgs/by-name/sp/spotify-player/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/sp/spotify-player/package.nix b/pkgs/by-name/sp/spotify-player/package.nix index 782a69865408..55776515e809 100644 --- a/pkgs/by-name/sp/spotify-player/package.nix +++ b/pkgs/by-name/sp/spotify-player/package.nix @@ -15,6 +15,7 @@ dbus, fontconfig, libsixel, + apple-sdk_11, # build options withStreaming ? true, @@ -74,6 +75,9 @@ rustPlatform.buildRustPackage rec { 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 ]