mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 00:12:56 +00:00
[Backport release-24.11] spotify-player: clean up old Darwin SDK pattern; fix x86_64-darwin (#356750)
This commit is contained in:
commit
81ddfbcb27
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user