mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 18:03:04 +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
|
lib,
|
||||||
, fetchFromGitHub
|
rustPlatform,
|
||||||
, pkg-config
|
fetchFromGitHub,
|
||||||
, openssl
|
pkg-config,
|
||||||
, cmake
|
openssl,
|
||||||
# deps for audio backends
|
cmake,
|
||||||
, alsa-lib
|
# deps for audio backends
|
||||||
, libpulseaudio
|
alsa-lib,
|
||||||
, portaudio
|
libpulseaudio,
|
||||||
, libjack2
|
portaudio,
|
||||||
, SDL2
|
libjack2,
|
||||||
, gst_all_1
|
SDL2,
|
||||||
, dbus
|
gst_all_1,
|
||||||
, fontconfig
|
dbus,
|
||||||
, libsixel
|
fontconfig,
|
||||||
|
libsixel,
|
||||||
|
apple-sdk_11,
|
||||||
|
|
||||||
# build options
|
# build options
|
||||||
, withStreaming ? true
|
withStreaming ? true,
|
||||||
, withDaemon ? true
|
withDaemon ? true,
|
||||||
, withAudioBackend ? "rodio" # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl
|
withAudioBackend ? "rodio", # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl
|
||||||
, withMediaControl ? true
|
withMediaControl ? true,
|
||||||
, withLyrics ? true
|
withLyrics ? true,
|
||||||
, withImage ? true
|
withImage ? true,
|
||||||
, withNotify ? true
|
withNotify ? true,
|
||||||
, withSixel ? true
|
withSixel ? true,
|
||||||
, withFuzzy ? true
|
withFuzzy ? true,
|
||||||
, stdenv
|
stdenv,
|
||||||
, darwin
|
makeBinaryWrapper,
|
||||||
, makeBinaryWrapper
|
|
||||||
|
|
||||||
# passthru
|
# passthru
|
||||||
, nix-update-script
|
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 {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "spotify-player";
|
pname = "spotify-player";
|
||||||
@ -48,38 +59,47 @@ rustPlatform.buildRustPackage rec {
|
|||||||
|
|
||||||
cargoHash = "sha256-VlJ8Bz4EY2rERyOn6ifC7JAL5Mvjt0ZOzlPBOwiH6WA=";
|
cargoHash = "sha256-VlJ8Bz4EY2rERyOn6ifC7JAL5Mvjt0ZOzlPBOwiH6WA=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs =
|
||||||
pkg-config
|
[
|
||||||
cmake
|
pkg-config
|
||||||
rustPlatform.bindgenHook
|
cmake
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
rustPlatform.bindgenHook
|
||||||
makeBinaryWrapper
|
]
|
||||||
];
|
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||||
|
makeBinaryWrapper
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
openssl
|
[
|
||||||
dbus
|
openssl
|
||||||
fontconfig
|
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 withSixel [ libsixel ]
|
||||||
++ lib.optionals (withAudioBackend == "alsa") [ alsa-lib ]
|
++ lib.optionals (withAudioBackend == "alsa") [ alsa-lib ]
|
||||||
++ lib.optionals (withAudioBackend == "pulseaudio") [ libpulseaudio ]
|
++ lib.optionals (withAudioBackend == "pulseaudio") [ libpulseaudio ]
|
||||||
++ lib.optionals (withAudioBackend == "rodio" && stdenv.hostPlatform.isLinux) [ alsa-lib ]
|
++ lib.optionals (withAudioBackend == "rodio" && stdenv.hostPlatform.isLinux) [ alsa-lib ]
|
||||||
++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ]
|
++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ]
|
||||||
++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ]
|
++ 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 == "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 (withAudioBackend == "gstreamer") [
|
||||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && withMediaControl) [ darwin.apple_sdk.frameworks.MediaPlayer ]
|
gst_all_1.gstreamer
|
||||||
++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
|
gst_all_1.gst-devtools
|
||||||
AppKit
|
gst_all_1.gst-plugins-base
|
||||||
AudioUnit
|
gst_all_1.gst-plugins-good
|
||||||
Cocoa
|
];
|
||||||
]);
|
|
||||||
|
|
||||||
buildNoDefaultFeatures = true;
|
buildNoDefaultFeatures = true;
|
||||||
|
|
||||||
buildFeatures = [ ]
|
buildFeatures =
|
||||||
|
[ ]
|
||||||
++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ]
|
++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ]
|
||||||
++ lib.optionals withMediaControl [ "media-control" ]
|
++ lib.optionals withMediaControl [ "media-control" ]
|
||||||
++ lib.optionals withImage [ "image" ]
|
++ lib.optionals withImage [ "image" ]
|
||||||
@ -93,7 +113,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
# sixel-sys is dynamically linked to libsixel
|
# sixel-sys is dynamically linked to libsixel
|
||||||
postInstall = lib.optionals (stdenv.hostPlatform.isDarwin && withSixel) ''
|
postInstall = lib.optionals (stdenv.hostPlatform.isDarwin && withSixel) ''
|
||||||
wrapProgram $out/bin/spotify_player \
|
wrapProgram $out/bin/spotify_player \
|
||||||
--prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [libsixel]}"
|
--prefix DYLD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsixel ]}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
@ -106,6 +126,11 @@ rustPlatform.buildRustPackage rec {
|
|||||||
changelog = "https://github.com/aome510/spotify-player/releases/tag/v${version}";
|
changelog = "https://github.com/aome510/spotify-player/releases/tag/v${version}";
|
||||||
mainProgram = "spotify_player";
|
mainProgram = "spotify_player";
|
||||||
license = lib.licenses.mit;
|
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