git: 679af423b16e - main - audio/ncspot: Update to 0.13.2

From: Rodrigo Osorio <rodrigo_at_FreeBSD.org>
Date: Mon, 29 May 2023 14:20:40 UTC
The branch main has been updated by rodrigo:

URL: https://cgit.FreeBSD.org/ports/commit/?id=679af423b16e12a09aac8f0125656ffc96b90e73

commit 679af423b16e12a09aac8f0125656ffc96b90e73
Author:     Rodrigo Osorio <rodrigo@FreeBSD.org>
AuthorDate: 2023-05-29 13:34:37 +0000
Commit:     Rodrigo Osorio <rodrigo@FreeBSD.org>
CommitDate: 2023-05-29 14:06:30 +0000

    audio/ncspot: Update to 0.13.2
    
    Port changes:
      - Move cargo list to Makefile.crates for a cleaner Makefile
      - Use default termios (standalone library directly talking to the TTY)
      - Delete ncurses dependency (USES)
      - Use multiple-choice for backend, where at least one option must be enabled
        by default we only enable PORTAUDIO so this change has no effect on people
        using ncspot from packages.
    
    Full app changeLog:
      https://github.com/hrkfdn/ncspot/releases/tag/v0.13.2
      https://github.com/hrkfdn/ncspot/releases/tag/v0.13.1
    
    PR:             271701
    Reported by:    eduardo
---
 audio/ncspot/Makefile        | 396 +--------------------------------------
 audio/ncspot/Makefile.crates | 435 +++++++++++++++++++++++++++++++++++++++++++
 audio/ncspot/distinfo        | 424 +++++++++++++++++++++++++----------------
 3 files changed, 704 insertions(+), 551 deletions(-)

diff --git a/audio/ncspot/Makefile b/audio/ncspot/Makefile
index 4e04c2912066..73ee0d11129e 100644
--- a/audio/ncspot/Makefile
+++ b/audio/ncspot/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	ncspot
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.13.0
-PORTREVISION=	2
+DISTVERSION=	0.13.2
 CATEGORIES=	audio
 
 MAINTAINER=	rodrigo@FreeBSD.org
@@ -13,402 +12,19 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 LIB_DEPENDS=	libdbus-1.so:devel/dbus
 
-USES=		cargo ncurses ssl
+USES=		cargo ssl
 USE_GITHUB=	yes
 GH_ACCOUNT=	hrkfdn
 
-CARGO_CRATES=	addr2line-0.19.0 \
-		adler-1.0.2 \
-		aes-0.6.0 \
-		aes-ctr-0.6.0 \
-		aes-soft-0.6.4 \
-		aesni-0.10.0 \
-		ahash-0.8.3 \
-		aho-corasick-0.7.20 \
-		alsa-0.6.0 \
-		alsa-sys-0.3.1 \
-		android_system_properties-0.1.5 \
-		async-trait-0.1.66 \
-		autocfg-1.1.0 \
-		backtrace-0.3.67 \
-		base64-0.13.1 \
-		base64-0.21.0 \
-		bindgen-0.61.0 \
-		bitflags-1.3.2 \
-		block-0.1.6 \
-		block-buffer-0.9.0 \
-		block-buffer-0.10.4 \
-		bumpalo-3.12.0 \
-		bytecount-0.6.3 \
-		byteorder-1.4.3 \
-		bytes-1.4.0 \
-		cc-1.0.79 \
-		cesu8-1.1.0 \
-		cexpr-0.6.0 \
-		cfg-if-1.0.0 \
-		chrono-0.4.23 \
-		cipher-0.2.5 \
-		clang-sys-1.6.0 \
-		clap-4.1.8 \
-		clap_complete-4.1.4 \
-		clap_lex-0.3.2 \
-		clap_mangen-0.2.9 \
-		clipboard-0.5.0 \
-		clipboard-win-2.2.0 \
-		codespan-reporting-0.11.1 \
-		combine-4.6.6 \
-		cookie-0.16.2 \
-		cookie_store-0.19.0 \
-		core-foundation-0.9.3 \
-		core-foundation-sys-0.8.3 \
-		coreaudio-rs-0.10.0 \
-		coreaudio-sys-0.2.11 \
-		cpal-0.13.5 \
-		cpufeatures-0.2.5 \
-		crossbeam-channel-0.5.7 \
-		crossbeam-utils-0.8.15 \
-		crypto-common-0.1.6 \
-		crypto-mac-0.11.1 \
-		ctr-0.6.0 \
-		cursive-0.20.0 \
-		cursive_buffered_backend-0.6.1 \
-		cursive_core-0.3.7 \
-		cxx-1.0.92 \
-		cxx-build-1.0.92 \
-		cxxbridge-flags-1.0.92 \
-		cxxbridge-macro-1.0.92 \
-		darling-0.13.4 \
-		darling-0.14.3 \
-		darling_core-0.13.4 \
-		darling_core-0.14.3 \
-		darling_macro-0.13.4 \
-		darling_macro-0.14.3 \
-		dbus-0.9.7 \
-		dbus-tree-0.9.2 \
-		derive-new-0.5.9 \
-		digest-0.9.0 \
-		digest-0.10.6 \
-		dirs-next-1.0.2 \
-		dirs-next-2.0.0 \
-		dirs-sys-next-0.1.2 \
-		downcast-rs-1.2.0 \
-		encoding_rs-0.8.32 \
-		enum-map-2.4.2 \
-		enum-map-derive-0.11.0 \
-		enum_dispatch-0.3.11 \
-		enumset-1.0.12 \
-		enumset_derive-0.6.1 \
-		errno-0.2.8 \
-		errno-dragonfly-0.1.2 \
-		fastrand-1.9.0 \
-		fern-0.6.1 \
-		fixedbitset-0.4.2 \
-		fnv-1.0.7 \
-		foreign-types-0.3.2 \
-		foreign-types-shared-0.1.1 \
-		form_urlencoded-1.1.0 \
-		futures-0.3.26 \
-		futures-channel-0.3.26 \
-		futures-core-0.3.26 \
-		futures-executor-0.3.26 \
-		futures-io-0.3.26 \
-		futures-macro-0.3.26 \
-		futures-sink-0.3.26 \
-		futures-task-0.3.26 \
-		futures-util-0.3.26 \
-		generic-array-0.14.6 \
-		getrandom-0.2.8 \
-		gimli-0.27.2 \
-		glob-0.3.1 \
-		h2-0.3.16 \
-		half-1.8.2 \
-		hashbrown-0.12.3 \
-		headers-0.3.8 \
-		headers-core-0.2.0 \
-		heck-0.3.3 \
-		heck-0.4.1 \
-		hermit-abi-0.2.6 \
-		hermit-abi-0.3.1 \
-		hmac-0.11.0 \
-		http-0.2.9 \
-		http-body-0.4.5 \
-		httparse-1.8.0 \
-		httpdate-1.0.2 \
-		hyper-0.14.24 \
-		hyper-proxy-0.9.1 \
-		hyper-tls-0.5.0 \
-		iana-time-zone-0.1.53 \
-		iana-time-zone-haiku-0.1.1 \
-		ident_case-1.0.1 \
-		idna-0.3.0 \
-		indexmap-1.9.2 \
-		instant-0.1.12 \
-		io-lifetimes-1.0.6 \
-		ioctl-rs-0.2.0 \
-		ipnet-2.7.1 \
-		is-terminal-0.4.4 \
-		itoa-1.0.6 \
-		jni-0.19.0 \
-		jni-sys-0.3.0 \
-		jobserver-0.1.26 \
-		js-sys-0.3.61 \
-		lazy_static-1.4.0 \
-		lazycell-1.3.0 \
-		lewton-0.10.2 \
-		libc-0.2.140 \
-		libdbus-sys-0.2.4 \
-		libloading-0.7.4 \
-		libm-0.2.6 \
-		libpulse-binding-2.27.1 \
-		libpulse-simple-binding-2.27.1 \
-		libpulse-simple-sys-1.20.1 \
-		libpulse-sys-1.20.1 \
-		librespot-audio-0.4.2 \
-		librespot-core-0.4.2 \
-		librespot-metadata-0.4.2 \
-		librespot-playback-0.4.2 \
-		librespot-protocol-0.4.2 \
-		link-cplusplus-1.0.8 \
-		linux-raw-sys-0.1.4 \
-		lock_api-0.4.9 \
-		log-0.4.17 \
-		mac-notification-sys-0.5.6 \
-		mach-0.3.2 \
-		malloc_buf-0.0.6 \
-		maplit-1.0.2 \
-		maybe-async-0.2.7 \
-		memchr-2.5.0 \
-		memoffset-0.6.5 \
-		mime-0.3.16 \
-		minimal-lexical-0.2.1 \
-		miniz_oxide-0.6.2 \
-		mio-0.8.6 \
-		native-tls-0.2.11 \
-		ncurses-5.101.0 \
-		ndk-0.6.0 \
-		ndk-context-0.1.1 \
-		ndk-glue-0.6.2 \
-		ndk-macro-0.3.0 \
-		ndk-sys-0.3.0 \
-		nix-0.23.2 \
-		nix-0.24.3 \
-		nom-7.1.3 \
-		notify-rust-4.8.0 \
-		num-0.2.1 \
-		num-0.4.0 \
-		num-bigint-0.2.6 \
-		num-bigint-0.4.3 \
-		num-complex-0.2.4 \
-		num-complex-0.4.3 \
-		num-derive-0.3.3 \
-		num-integer-0.1.45 \
-		num-iter-0.1.43 \
-		num-rational-0.2.4 \
-		num-rational-0.4.1 \
-		num-traits-0.2.15 \
-		num_cpus-1.15.0 \
-		num_enum-0.5.11 \
-		num_enum_derive-0.5.11 \
-		num_threads-0.1.6 \
-		numtoa-0.1.0 \
-		objc-0.2.7 \
-		objc-foundation-0.1.1 \
-		objc_id-0.1.1 \
-		object-0.30.3 \
-		oboe-0.4.6 \
-		oboe-sys-0.4.5 \
-		ogg-0.8.0 \
-		once_cell-1.17.1 \
-		opaque-debug-0.3.0 \
-		openssl-0.10.45 \
-		openssl-macros-0.1.0 \
-		openssl-probe-0.1.5 \
-		openssl-sys-0.9.80 \
-		os_pipe-1.1.3 \
-		os_str_bytes-6.4.1 \
-		owning_ref-0.4.1 \
-		pancurses-0.17.0 \
-		parking_lot-0.11.2 \
-		parking_lot-0.12.1 \
-		parking_lot_core-0.8.6 \
-		parking_lot_core-0.9.7 \
-		parse_duration-2.1.1 \
-		pbkdf2-0.8.0 \
-		pdcurses-sys-0.7.1 \
-		peeking_take_while-0.1.2 \
-		percent-encoding-2.2.0 \
-		petgraph-0.6.3 \
-		pin-project-lite-0.2.9 \
-		pin-utils-0.1.0 \
-		pkg-config-0.3.26 \
-		platform-dirs-0.3.0 \
-		portaudio-rs-0.3.2 \
-		portaudio-sys-0.1.1 \
-		ppv-lite86-0.2.17 \
-		priority-queue-1.3.1 \
-		proc-macro-crate-1.3.1 \
-		proc-macro2-1.0.51 \
-		protobuf-2.28.0 \
-		protobuf-codegen-2.28.0 \
-		protobuf-codegen-pure-2.28.0 \
-		quick-xml-0.23.1 \
-		quote-1.0.23 \
-		rand-0.8.5 \
-		rand_chacha-0.3.1 \
-		rand_core-0.6.4 \
-		rand_distr-0.4.3 \
-		redox_syscall-0.2.16 \
-		redox_termios-0.1.2 \
-		redox_users-0.4.3 \
-		regex-1.7.1 \
-		regex-syntax-0.6.28 \
-		reqwest-0.11.14 \
-		ring-0.16.20 \
-		rodio-0.15.0 \
-		roff-0.2.1 \
-		rspotify-0.11.6 \
-		rspotify-http-0.11.6 \
-		rspotify-macros-0.11.6 \
-		rspotify-model-0.11.6 \
-		rustc-demangle-0.1.21 \
-		rustc-hash-1.1.0 \
-		rustc-serialize-0.3.24 \
-		rustc_version-0.4.0 \
-		rustix-0.36.9 \
-		rustls-0.20.8 \
-		rustversion-1.0.12 \
-		ryu-1.0.13 \
-		same-file-1.0.6 \
-		schannel-0.1.21 \
-		scopeguard-1.1.0 \
-		scratch-1.0.5 \
-		sct-0.7.0 \
-		security-framework-2.8.2 \
-		security-framework-sys-2.8.0 \
-		semver-1.0.16 \
-		serde-1.0.154 \
-		serde_cbor-0.11.2 \
-		serde_derive-1.0.154 \
-		serde_json-1.0.94 \
-		serde_spanned-0.6.1 \
-		serde_urlencoded-0.7.1 \
-		sha-1-0.9.8 \
-		sha1-0.10.5 \
-		sha2-0.10.6 \
-		shannon-0.2.0 \
-		shell-words-1.1.0 \
-		shlex-1.1.0 \
-		signal-hook-0.3.15 \
-		signal-hook-registry-1.4.1 \
-		slab-0.4.8 \
-		smallvec-1.10.0 \
-		socket2-0.4.9 \
-		spin-0.5.2 \
-		stable_deref_trait-1.2.0 \
-		stdweb-0.1.3 \
-		strsim-0.10.0 \
-		strum-0.22.0 \
-		strum-0.24.1 \
-		strum_macros-0.22.0 \
-		strum_macros-0.24.3 \
-		subtle-2.4.1 \
-		syn-1.0.109 \
-		tauri-winrt-notification-0.1.0 \
-		tempfile-3.4.0 \
-		term_size-0.3.2 \
-		termcolor-1.2.0 \
-		termion-1.5.6 \
-		thiserror-1.0.39 \
-		thiserror-impl-1.0.39 \
-		thread-id-4.0.0 \
-		time-0.1.45 \
-		time-0.3.20 \
-		time-core-0.1.0 \
-		time-macros-0.2.8 \
-		tinyvec-1.6.0 \
-		tinyvec_macros-0.1.1 \
-		tokio-1.26.0 \
-		tokio-macros-1.8.2 \
-		tokio-native-tls-0.3.1 \
-		tokio-stream-0.1.12 \
-		tokio-util-0.7.7 \
-		toml-0.7.2 \
-		toml_datetime-0.6.1 \
-		toml_edit-0.19.4 \
-		tower-service-0.3.2 \
-		tracing-0.1.37 \
-		tracing-core-0.1.30 \
-		tree_magic_mini-3.0.3 \
-		try-lock-0.2.4 \
-		typenum-1.16.0 \
-		unicode-bidi-0.3.11 \
-		unicode-ident-1.0.8 \
-		unicode-normalization-0.1.22 \
-		unicode-segmentation-1.10.1 \
-		unicode-width-0.1.10 \
-		untrusted-0.7.1 \
-		ureq-2.6.2 \
-		url-2.3.1 \
-		uuid-1.3.0 \
-		vcpkg-0.2.15 \
-		vergen-3.2.0 \
-		version_check-0.9.4 \
-		walkdir-2.3.2 \
-		want-0.3.0 \
-		wasi-0.10.0+wasi-snapshot-preview1 \
-		wasi-0.11.0+wasi-snapshot-preview1 \
-		wasm-bindgen-0.2.84 \
-		wasm-bindgen-backend-0.2.84 \
-		wasm-bindgen-futures-0.4.34 \
-		wasm-bindgen-macro-0.2.84 \
-		wasm-bindgen-macro-support-0.2.84 \
-		wasm-bindgen-shared-0.2.84 \
-		wayland-client-0.29.5 \
-		wayland-commons-0.29.5 \
-		wayland-protocols-0.29.5 \
-		wayland-scanner-0.29.5 \
-		wayland-sys-0.29.5 \
-		web-sys-0.3.61 \
-		webpki-0.22.0 \
-		webpki-roots-0.22.6 \
-		winapi-0.3.9 \
-		winapi-i686-pc-windows-gnu-0.4.0 \
-		winapi-util-0.1.5 \
-		winapi-x86_64-pc-windows-gnu-0.4.0 \
-		windows-0.39.0 \
-		windows-sys-0.42.0 \
-		windows-sys-0.45.0 \
-		windows-targets-0.42.1 \
-		windows_aarch64_gnullvm-0.42.1 \
-		windows_aarch64_msvc-0.39.0 \
-		windows_aarch64_msvc-0.42.1 \
-		windows_i686_gnu-0.39.0 \
-		windows_i686_gnu-0.42.1 \
-		windows_i686_msvc-0.39.0 \
-		windows_i686_msvc-0.42.1 \
-		windows_x86_64_gnu-0.39.0 \
-		windows_x86_64_gnu-0.42.1 \
-		windows_x86_64_gnullvm-0.42.1 \
-		windows_x86_64_msvc-0.39.0 \
-		windows_x86_64_msvc-0.42.1 \
-		winnow-0.3.5 \
-		winreg-0.5.1 \
-		winreg-0.10.1 \
-		wl-clipboard-rs-0.7.0 \
-		x11-clipboard-0.3.3 \
-		xcb-0.8.2 \
-		xi-unicode-0.3.0 \
-		xml-rs-0.8.4 \
-		zerocopy-0.6.1 \
-		zerocopy-derive-0.3.2
-
-CARGO_FEATURES=	--no-default-features cursive/pancurses-backend
+CARGO_FEATURES=	--no-default-features termion_backend
 
 PLIST_FILES=	bin/ncspot
 PORTDOCS=	README.md
 
-OPTIONS_DEFINE=		CLIPBOARD DOCS MPRIS NOTIFY PORTAUDIO PULSEAUDIO
+OPTIONS_DEFINE=		CLIPBOARD DOCS MPRIS NOTIFY
 OPTIONS_DEFAULT=	CLIPBOARD MPRIS NOTIFY PORTAUDIO
+OPTIONS_MULTI=		BACKEND
+OPTIONS_MULTI_BACKEND=	PORTAUDIO PULSEAUDIO
 
 CLIPBOARD_DESC=	Support for accessing X11 clipboard
 MPRIS_DESC=	D-Bus MPRIS support
diff --git a/audio/ncspot/Makefile.crates b/audio/ncspot/Makefile.crates
new file mode 100644
index 000000000000..4b18794f660a
--- /dev/null
+++ b/audio/ncspot/Makefile.crates
@@ -0,0 +1,435 @@
+CARGO_CRATES=	addr2line-0.19.0 \
+		adler-1.0.2 \
+		aes-0.6.0 \
+		aes-ctr-0.6.0 \
+		aes-soft-0.6.4 \
+		aesni-0.10.0 \
+		ahash-0.8.3 \
+		aho-corasick-1.0.1 \
+		alsa-0.6.0 \
+		alsa-sys-0.3.1 \
+		android_system_properties-0.1.5 \
+		anstream-0.3.2 \
+		anstyle-1.0.0 \
+		anstyle-parse-0.2.0 \
+		anstyle-query-1.0.0 \
+		anstyle-wincon-1.0.1 \
+		async-broadcast-0.5.1 \
+		async-channel-1.8.0 \
+		async-executor-1.5.1 \
+		async-fs-1.6.0 \
+		async-io-1.13.0 \
+		async-lock-2.7.0 \
+		async-recursion-1.0.4 \
+		async-task-4.4.0 \
+		async-trait-0.1.68 \
+		atomic-waker-1.1.1 \
+		autocfg-1.1.0 \
+		backtrace-0.3.67 \
+		base64-0.13.1 \
+		base64-0.21.0 \
+		bindgen-0.64.0 \
+		bitflags-1.3.2 \
+		block-0.1.6 \
+		block-buffer-0.9.0 \
+		block-buffer-0.10.4 \
+		blocking-1.3.1 \
+		bumpalo-3.12.0 \
+		bytecount-0.6.3 \
+		byteorder-1.4.3 \
+		bytes-1.4.0 \
+		cc-1.0.79 \
+		cesu8-1.1.0 \
+		cexpr-0.6.0 \
+		cfg-if-1.0.0 \
+		chrono-0.4.24 \
+		cipher-0.2.5 \
+		clang-sys-1.6.1 \
+		clap-4.2.7 \
+		clap_builder-4.2.7 \
+		clap_complete-4.2.1 \
+		clap_lex-0.4.1 \
+		clap_mangen-0.2.10 \
+		clipboard-0.5.0 \
+		clipboard-win-2.2.0 \
+		codespan-reporting-0.11.1 \
+		colorchoice-1.0.0 \
+		combine-4.6.6 \
+		concurrent-queue-2.2.0 \
+		cookie-0.16.2 \
+		cookie_store-0.19.0 \
+		core-foundation-0.9.3 \
+		core-foundation-sys-0.8.4 \
+		coreaudio-rs-0.10.0 \
+		coreaudio-sys-0.2.12 \
+		cpal-0.13.5 \
+		cpufeatures-0.2.6 \
+		crossbeam-channel-0.5.7 \
+		crossbeam-utils-0.8.15 \
+		crypto-common-0.1.6 \
+		crypto-mac-0.11.1 \
+		ctr-0.6.0 \
+		cursive-0.20.0 \
+		cursive_buffered_backend-0.6.1 \
+		cursive_core-0.3.7 \
+		cxx-1.0.94 \
+		cxx-build-1.0.94 \
+		cxxbridge-flags-1.0.94 \
+		cxxbridge-macro-1.0.94 \
+		darling-0.13.4 \
+		darling-0.14.4 \
+		darling_core-0.13.4 \
+		darling_core-0.14.4 \
+		darling_macro-0.13.4 \
+		darling_macro-0.14.4 \
+		derivative-2.2.0 \
+		derive-new-0.5.9 \
+		digest-0.9.0 \
+		digest-0.10.6 \
+		dirs-4.0.0 \
+		dirs-next-1.0.2 \
+		dirs-next-2.0.0 \
+		dirs-sys-0.3.7 \
+		dirs-sys-next-0.1.2 \
+		downcast-rs-1.2.0 \
+		encoding_rs-0.8.32 \
+		enum-map-2.5.0 \
+		enum-map-derive-0.11.0 \
+		enum_dispatch-0.3.11 \
+		enumflags2-0.7.6 \
+		enumflags2_derive-0.7.6 \
+		enumset-1.0.12 \
+		enumset_derive-0.6.1 \
+		errno-0.3.0 \
+		errno-dragonfly-0.1.2 \
+		event-listener-2.5.3 \
+		fastrand-1.9.0 \
+		fern-0.6.2 \
+		fixedbitset-0.4.2 \
+		fnv-1.0.7 \
+		foreign-types-0.3.2 \
+		foreign-types-shared-0.1.1 \
+		form_urlencoded-1.1.0 \
+		futures-0.3.28 \
+		futures-channel-0.3.28 \
+		futures-core-0.3.28 \
+		futures-executor-0.3.28 \
+		futures-io-0.3.28 \
+		futures-lite-1.13.0 \
+		futures-macro-0.3.28 \
+		futures-sink-0.3.28 \
+		futures-task-0.3.28 \
+		futures-util-0.3.28 \
+		generic-array-0.14.7 \
+		getrandom-0.2.8 \
+		gimli-0.27.2 \
+		glob-0.3.1 \
+		h2-0.3.16 \
+		half-1.8.2 \
+		hashbrown-0.12.3 \
+		headers-0.3.8 \
+		headers-core-0.2.0 \
+		heck-0.3.3 \
+		heck-0.4.1 \
+		hermit-abi-0.2.6 \
+		hermit-abi-0.3.1 \
+		hex-0.4.3 \
+		hmac-0.11.0 \
+		http-0.2.9 \
+		http-body-0.4.5 \
+		httparse-1.8.0 \
+		httpdate-1.0.2 \
+		hyper-0.14.25 \
+		hyper-proxy-0.9.1 \
+		hyper-tls-0.5.0 \
+		iana-time-zone-0.1.56 \
+		iana-time-zone-haiku-0.1.1 \
+		ident_case-1.0.1 \
+		idna-0.3.0 \
+		indexmap-1.9.3 \
+		instant-0.1.12 \
+		io-lifetimes-1.0.10 \
+		ioctl-rs-0.2.0 \
+		ipnet-2.7.2 \
+		is-terminal-0.4.6 \
+		itoa-1.0.6 \
+		jni-0.19.0 \
+		jni-sys-0.3.0 \
+		jobserver-0.1.26 \
+		js-sys-0.3.61 \
+		lazy_static-1.4.0 \
+		lazycell-1.3.0 \
+		lewton-0.10.2 \
+		libc-0.2.142 \
+		libloading-0.7.4 \
+		libm-0.2.6 \
+		libpulse-binding-2.27.1 \
+		libpulse-simple-binding-2.27.1 \
+		libpulse-simple-sys-1.20.1 \
+		libpulse-sys-1.20.1 \
+		librespot-audio-0.4.2 \
+		librespot-core-0.4.2 \
+		librespot-metadata-0.4.2 \
+		librespot-playback-0.4.2 \
+		librespot-protocol-0.4.2 \
+		link-cplusplus-1.0.8 \
+		linux-raw-sys-0.3.1 \
+		lock_api-0.4.9 \
+		log-0.4.17 \
+		mac-notification-sys-0.5.6 \
+		mach-0.3.2 \
+		malloc_buf-0.0.6 \
+		maplit-1.0.2 \
+		maybe-async-0.2.7 \
+		memchr-2.5.0 \
+		memoffset-0.6.5 \
+		memoffset-0.7.1 \
+		mime-0.3.17 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.6.2 \
+		mio-0.8.6 \
+		native-tls-0.2.11 \
+		ncurses-5.101.0 \
+		ndk-0.6.0 \
+		ndk-context-0.1.1 \
+		ndk-glue-0.6.2 \
+		ndk-macro-0.3.0 \
+		ndk-sys-0.3.0 \
+		nix-0.23.2 \
+		nix-0.24.3 \
+		nix-0.26.2 \
+		nom-7.1.3 \
+		notify-rust-4.8.0 \
+		num-0.2.1 \
+		num-0.4.0 \
+		num-bigint-0.2.6 \
+		num-bigint-0.4.3 \
+		num-complex-0.2.4 \
+		num-complex-0.4.3 \
+		num-derive-0.3.3 \
+		num-integer-0.1.45 \
+		num-iter-0.1.43 \
+		num-rational-0.2.4 \
+		num-rational-0.4.1 \
+		num-traits-0.2.15 \
+		num_cpus-1.15.0 \
+		num_enum-0.5.11 \
+		num_enum_derive-0.5.11 \
+		num_threads-0.1.6 \
+		numtoa-0.1.0 \
+		objc-0.2.7 \
+		objc-foundation-0.1.1 \
+		objc_id-0.1.1 \
+		object-0.30.3 \
+		oboe-0.4.6 \
+		oboe-sys-0.4.5 \
+		ogg-0.8.0 \
+		once_cell-1.17.1 \
+		opaque-debug-0.3.0 \
+		openssl-0.10.49 \
+		openssl-macros-0.1.1 \
+		openssl-probe-0.1.5 \
+		openssl-sys-0.9.84 \
+		ordered-stream-0.2.0 \
+		os_pipe-1.1.3 \
+		owning_ref-0.4.1 \
+		pancurses-0.17.0 \
+		parking-2.1.0 \
+		parking_lot-0.11.2 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.8.6 \
+		parking_lot_core-0.9.7 \
+		parse_duration-2.1.1 \
+		pbkdf2-0.8.0 \
+		pdcurses-sys-0.7.1 \
+		peeking_take_while-0.1.2 \
+		percent-encoding-2.2.0 \
+		petgraph-0.6.3 \
+		pin-project-lite-0.2.9 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.26 \
+		platform-dirs-0.3.0 \
+		polling-2.8.0 \
+		portaudio-rs-0.3.2 \
+		portaudio-sys-0.1.1 \
+		ppv-lite86-0.2.17 \
+		priority-queue-1.3.1 \
+		proc-macro-crate-1.3.1 \
+		proc-macro2-1.0.56 \
+		protobuf-2.28.0 \
+		protobuf-codegen-2.28.0 \
+		protobuf-codegen-pure-2.28.0 \
+		quick-xml-0.23.1 \
+		quote-1.0.26 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		rand_distr-0.4.3 \
+		redox_syscall-0.2.16 \
+		redox_syscall-0.3.5 \
+		redox_termios-0.1.2 \
+		redox_users-0.4.3 \
+		regex-1.8.1 \
+		regex-syntax-0.7.1 \
+		reqwest-0.11.17 \
+		ring-0.16.20 \
+		rodio-0.15.0 \
+		roff-0.2.1 \
+		rspotify-0.11.6 \
+		rspotify-http-0.11.6 \
+		rspotify-macros-0.11.6 \
+		rspotify-model-0.11.6 \
+		rustc-demangle-0.1.22 \
+		rustc-hash-1.1.0 \
+		rustc-serialize-0.3.24 \
+		rustc_version-0.4.0 \
+		rustix-0.37.7 \
+		rustls-0.20.8 \
+		rustversion-1.0.12 \
+		ryu-1.0.13 \
+		same-file-1.0.6 \
+		schannel-0.1.21 \
+		scopeguard-1.1.0 \
+		scratch-1.0.5 \
+		sct-0.7.0 \
+		security-framework-2.8.2 \
+		security-framework-sys-2.8.0 \
+		semver-1.0.17 \
+		serde-1.0.159 \
+		serde_cbor-0.11.2 \
+		serde_derive-1.0.159 \
+		serde_json-1.0.95 \
+		serde_repr-0.1.12 \
+		serde_spanned-0.6.1 \
+		serde_urlencoded-0.7.1 \
+		sha-1-0.9.8 \
+		sha1-0.10.5 \
+		sha2-0.10.6 \
+		shannon-0.2.0 \
+		shell-words-1.1.0 \
+		shlex-1.1.0 \
+		signal-hook-0.3.15 \
+		signal-hook-registry-1.4.1 \
+		slab-0.4.8 \
+		smallvec-1.10.0 \
+		socket2-0.4.9 \
+		spin-0.5.2 \
+		stable_deref_trait-1.2.0 \
+		static_assertions-1.1.0 \
+		stdweb-0.1.3 \
+		strsim-0.10.0 \
+		strum-0.22.0 \
+		strum-0.24.1 \
+		strum_macros-0.22.0 \
+		strum_macros-0.24.3 \
+		subtle-2.4.1 \
+		syn-1.0.109 \
+		syn-2.0.13 \
+		tauri-winrt-notification-0.1.0 \
+		tempfile-3.5.0 \
+		term_size-0.3.2 \
+		termcolor-1.2.0 \
+		termion-1.5.6 \
+		thiserror-1.0.40 \
+		thiserror-impl-1.0.40 \
+		thread-id-4.0.0 \
+		time-0.1.45 \
+		time-0.3.20 \
+		time-core-0.1.0 \
+		time-macros-0.2.8 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		tokio-1.28.0 \
+		tokio-macros-2.1.0 \
+		tokio-native-tls-0.3.1 \
+		tokio-stream-0.1.14 \
+		tokio-util-0.7.8 \
+		toml-0.7.3 \
+		toml_datetime-0.6.1 \
+		toml_edit-0.19.8 \
+		tower-service-0.3.2 \
+		tracing-0.1.37 \
+		tracing-attributes-0.1.23 \
+		tracing-core-0.1.30 \
+		tree_magic_mini-3.0.3 \
+		try-lock-0.2.4 \
+		typenum-1.16.0 \
+		uds_windows-1.0.2 \
+		unicode-bidi-0.3.13 \
+		unicode-ident-1.0.8 \
+		unicode-normalization-0.1.22 \
+		unicode-segmentation-1.10.1 \
+		unicode-width-0.1.10 \
+		untrusted-0.7.1 \
+		ureq-2.6.2 \
+		url-2.3.1 \
+		utf8parse-0.2.1 \
+		uuid-1.3.0 \
+		vcpkg-0.2.15 \
+		vergen-3.2.0 \
+		version_check-0.9.4 \
+		waker-fn-1.1.0 \
+		walkdir-2.3.3 \
+		want-0.3.0 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.84 \
+		wasm-bindgen-backend-0.2.84 \
+		wasm-bindgen-futures-0.4.34 \
+		wasm-bindgen-macro-0.2.84 \
+		wasm-bindgen-macro-support-0.2.84 \
+		wasm-bindgen-shared-0.2.84 \
+		wayland-client-0.29.5 \
+		wayland-commons-0.29.5 \
+		wayland-protocols-0.29.5 \
+		wayland-scanner-0.29.5 \
+		wayland-sys-0.29.5 \
+		web-sys-0.3.61 \
+		webpki-0.22.0 \
+		webpki-roots-0.22.6 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-0.39.0 \
+		windows-0.48.0 \
+		windows-sys-0.42.0 \
+		windows-sys-0.45.0 \
+		windows-sys-0.48.0 \
+		windows-targets-0.42.2 \
+		windows-targets-0.48.0 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_gnullvm-0.48.0 \
+		windows_aarch64_msvc-0.39.0 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_aarch64_msvc-0.48.0 \
+		windows_i686_gnu-0.39.0 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_gnu-0.48.0 \
+		windows_i686_msvc-0.39.0 \
+		windows_i686_msvc-0.42.2 \
+		windows_i686_msvc-0.48.0 \
+		windows_x86_64_gnu-0.39.0 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnu-0.48.0 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_gnullvm-0.48.0 \
+		windows_x86_64_msvc-0.39.0 \
+		windows_x86_64_msvc-0.42.2 \
+		windows_x86_64_msvc-0.48.0 \
+		winnow-0.4.1 \
+		winreg-0.5.1 \
+		winreg-0.10.1 \
+		wl-clipboard-rs-0.7.0 \
+		x11-clipboard-0.3.3 \
+		xcb-0.8.2 \
+		xi-unicode-0.3.0 \
+		xml-rs-0.8.4 \
+		zbus-3.11.1 \
+		zbus_macros-3.11.1 \
+		zbus_names-2.5.0 \
+		zerocopy-0.6.1 \
+		zerocopy-derive-0.3.2 \
+		zvariant-3.12.0 \
+		zvariant_derive-3.12.0 \
+		zvariant_utils-1.0.0
diff --git a/audio/ncspot/distinfo b/audio/ncspot/distinfo
index 84b8e1568f6e..f5fe8149bed6 100644
--- a/audio/ncspot/distinfo
+++ b/audio/ncspot/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1678481342
+TIMESTAMP = 1685263961
 SHA256 (rust/crates/addr2line-0.19.0.crate) = a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97
 SIZE (rust/crates/addr2line-0.19.0.crate) = 33210
 SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
@@ -13,16 +13,44 @@ SHA256 (rust/crates/aesni-0.10.0.crate) = ea2e11f5e94c2f7d386164cc2aa1f97823fed6
 SIZE (rust/crates/aesni-0.10.0.crate) = 100248
 SHA256 (rust/crates/ahash-0.8.3.crate) = 2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f
 SIZE (rust/crates/ahash-0.8.3.crate) = 42416
-SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
-SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/aho-corasick-1.0.1.crate) = 67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04
+SIZE (rust/crates/aho-corasick-1.0.1.crate) = 167320
 SHA256 (rust/crates/alsa-0.6.0.crate) = 5915f52fe2cf65e83924d037b6c5290b7cee097c6b5c8700746e6168a343fd6b
 SIZE (rust/crates/alsa-0.6.0.crate) = 68171
 SHA256 (rust/crates/alsa-sys-0.3.1.crate) = db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527
 SIZE (rust/crates/alsa-sys-0.3.1.crate) = 32748
 SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
 SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
-SHA256 (rust/crates/async-trait-0.1.66.crate) = b84f9ebcc6c1f5b8cb160f6990096a5c127f423fcb6e1ccc46c370cbdfb75dfc
-SIZE (rust/crates/async-trait-0.1.66.crate) = 28599
+SHA256 (rust/crates/anstream-0.3.2.crate) = 0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163
+SIZE (rust/crates/anstream-0.3.2.crate) = 19504
+SHA256 (rust/crates/anstyle-1.0.0.crate) = 41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d
+SIZE (rust/crates/anstyle-1.0.0.crate) = 13972
+SHA256 (rust/crates/anstyle-parse-0.2.0.crate) = e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee
+SIZE (rust/crates/anstyle-parse-0.2.0.crate) = 24361
+SHA256 (rust/crates/anstyle-query-1.0.0.crate) = 5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b
+SIZE (rust/crates/anstyle-query-1.0.0.crate) = 8620
+SHA256 (rust/crates/anstyle-wincon-1.0.1.crate) = 180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188
+SIZE (rust/crates/anstyle-wincon-1.0.1.crate) = 11718
+SHA256 (rust/crates/async-broadcast-0.5.1.crate) = 7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b
+SIZE (rust/crates/async-broadcast-0.5.1.crate) = 20134
+SHA256 (rust/crates/async-channel-1.8.0.crate) = cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833
+SIZE (rust/crates/async-channel-1.8.0.crate) = 13534
+SHA256 (rust/crates/async-executor-1.5.1.crate) = 6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb
+SIZE (rust/crates/async-executor-1.5.1.crate) = 18615
+SHA256 (rust/crates/async-fs-1.6.0.crate) = 279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06
+SIZE (rust/crates/async-fs-1.6.0.crate) = 16506
+SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af
+SIZE (rust/crates/async-io-1.13.0.crate) = 37191
+SHA256 (rust/crates/async-lock-2.7.0.crate) = fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7
+SIZE (rust/crates/async-lock-2.7.0.crate) = 23631
+SHA256 (rust/crates/async-recursion-1.0.4.crate) = 0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba
+SIZE (rust/crates/async-recursion-1.0.4.crate) = 11521
+SHA256 (rust/crates/async-task-4.4.0.crate) = ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae
+SIZE (rust/crates/async-task-4.4.0.crate) = 35178
+SHA256 (rust/crates/async-trait-0.1.68.crate) = b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842
+SIZE (rust/crates/async-trait-0.1.68.crate) = 28625
+SHA256 (rust/crates/atomic-waker-1.1.1.crate) = 1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3
+SIZE (rust/crates/atomic-waker-1.1.1.crate) = 11551
 SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
 SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
 SHA256 (rust/crates/backtrace-0.3.67.crate) = 233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca
@@ -31,8 +59,8 @@ SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71
 SIZE (rust/crates/base64-0.13.1.crate) = 61002
 SHA256 (rust/crates/base64-0.21.0.crate) = a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a
 SIZE (rust/crates/base64-0.21.0.crate) = 72180
-SHA256 (rust/crates/bindgen-0.61.0.crate) = 8a022e58a142a46fea340d68012b9201c094e93ec3d033a944a24f8fd4a4f09a
-SIZE (rust/crates/bindgen-0.61.0.crate) = 199472
+SHA256 (rust/crates/bindgen-0.64.0.crate) = c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4
+SIZE (rust/crates/bindgen-0.64.0.crate) = 204700
 SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
 SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
 SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
@@ -41,6 +69,8 @@ SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575
 SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108
 SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
 SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/blocking-1.3.1.crate) = 77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65
+SIZE (rust/crates/blocking-1.3.1.crate) = 19040
 SHA256 (rust/crates/bumpalo-3.12.0.crate) = 0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535
 SIZE (rust/crates/bumpalo-3.12.0.crate) = 81604
 SHA256 (rust/crates/bytecount-0.6.3.crate) = 2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c
@@ -57,44 +87,50 @@ SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb62990
 SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
 SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
 SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.23.crate) = 16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f
-SIZE (rust/crates/chrono-0.4.23.crate) = 187259
+SHA256 (rust/crates/chrono-0.4.24.crate) = 4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b
+SIZE (rust/crates/chrono-0.4.24.crate) = 191330
 SHA256 (rust/crates/cipher-0.2.5.crate) = 12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801
 SIZE (rust/crates/cipher-0.2.5.crate) = 13099
-SHA256 (rust/crates/clang-sys-1.6.0.crate) = 77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a
-SIZE (rust/crates/clang-sys-1.6.0.crate) = 41211
-SHA256 (rust/crates/clap-4.1.8.crate) = c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5
-SIZE (rust/crates/clap-4.1.8.crate) = 207175
*** 653 LINES SKIPPED ***